Automate CSV Syncs with SFTP
Info and Prerequisites
Zilla offers the capability to automate the process of syncing data from applications that offer CSV permission reports. The purpose of this feature is to remove manual effort and human error associated with downloading CSV reports from your apps and manually uploading them to Zilla.
Customers interested in this option should consider the following prerequisites;
Can the app automatically generate a CSV report that includes the each user and what role they have on the system.
Can the app automatically transfer that report to an SFTP server?
If the answer is “No” to either of these questions, the app in question is not a good candidate for automation because you will not be able to push the information we need to an SFTP server.
Overview
Customers have 2 options for this automation;
Option 1 (Recommended): Use Zilla’s SFTP server
Option 2: Provide Zilla with an SFTP server
Note: To use automated SFTP, you first need to perform an initial sync by uploading a CSV file and configuring column mappings. Steps to perform a manual CSV Upload can be found here: CSV upload - application data - Zilla-Support - Confluence (atlassian.net)
Option 1: Setup a sync with your SFTP server to Zilla
SFTP Server Setup
As a customer, you or your application vendors may provide an SFTP server. In this case, uploading files to the server will be handled by you. Should your SFTP server use IP address whitelisting, please make note that Zilla will connect from one of the following public IP address depending on your tenancy.
3.218.251.134 # app.zillasecurity.com
54.154.1.169 # eu.zillasecurity.com
13.54.195.167 # anz.zillasecurity.com
18.169.160.237 # uk.zillasecurity.com
Zilla App Connector Setup
Step 1
Perform an initial sync in Zilla by uploading a CSV file manually to the application, and configuring column mappings. Zilla will rely on these mapping decisions moving forward.
Step 2
Return to the App settings (gear icon) and check the box for “Use SFTP to automate CSV import”
Step 3
Configure your settings as shown in the screenshot below;
Host : The address of the SFTP server (eg., sftp.acme.com or 22.195.44.1)
Port : The SFTP port value is typically set to 22. Please choose a different value only if you know the port to be different for your SFTP server.
File Path: Location of the file on the SFTP server. (example: “reports/user_permissions.csv”)
Username: Username on the SFTP server
Password (optional): Password to connect to the SFTP server
Public key - Zilla also has the ability to use public-key/private-key to connect to the SFTP server. Below is the public key used by Zilla to connect to an SFTP server
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDf6v1jkQ4R4EvF9lkxyIz58ThbnYZQA2vuW173vPKlAKY315H5Mbhgo+SDN03iy2Yy2foYufttT4UQ2/yPiWm0o4tV+JLwUAODqGP9QIhI2Ke0NIv7KshWnDzMYLokYcG6Z18cBaV28HFRUgrZteeMJQWeZekG2HI9Gl0jAxlaYD/70eHl+HdrLLI7YyIXBad0eRAX60MQKHn5o5oGzHI8i3DxaimcuS4o6YLW/qHrGi7ACxPs4CZfa2LQcTgLLsR3ymtLFWg9Zrd4JjeRI5zddkuBNUCvTzNsbReE8mKuev4unEbvw5cvXhBqQB35BqD2pxrhpTX1tcxQlI87sQmZN2OT/F6R5QAbRxhrIbYa7VQaZOiOkLVD2lXMcZ18hkTOptx+HHky9B0bchDNfI90ZPi0gGKkbrYe6Jykjdz6m/dw62VGCBQz0oMubuemWh+m8EAV+feKinFGllyLtbVLt2HSBf7m3HiUrkZJkw7+PLcmwpLMQ2WD3k28wVb4TSE= ftp@zillasecurity.com
Option 2: Setup a sync with Zilla’s SFTP Server
Alternatively, you or your application vendors may use Zilla’s SFTP server at sftp.zillasecurity.com.
Zilla SFTP Setup
Step 1
You or your application vendor will need to generate an ssh key pair and will need to provide the public key to Zilla support (Zilla provided SFTP does not support password authentication).
Step 2
Determine your appID. Your SFTP client *MUST* upload the file to a folder that has the same name as the appID as shown in Zilla. Example, if you entered “user_permissions.csv” in the dialog above, then the actual file path will be “<application_id>/user_permissions.csv”
Step 3
Contact Zilla support at support@zillasecurity.com to request user provisioning. Depending on your requirements, Zilla may provision a user per Zilla app instance, or a user that is global for your tenant. When using a global user, you must upload files to a root folder starting with the app id (see screenshot below for determining the app id).
# global sftp user example
sftp tenant@sftp.zillasecurity.com
PUT permissions.csv 620009c21a05d00f399bb148/permissions.csv
# app specific user example
sftp tenant-app1@sftp.zillasecurity.com
PUT permissions.csv
Zilla App Connector Setup
Step 1
Perform an initial sync in Zilla by uploading a CSV file manually to the application, and configuring column mappings. Zilla will rely on these mapping decisions moving forward.
Step 2
Return to the App settings (gear icon) and check the box for “Use SFTP to automate CSV import”
Step 3
Configure your settings;
Host: SFTP Host URL
Port: 22
File Path: Name of the csv, followed by .csv (example: user_permissions.csv)
Username: <Leave blank>
Password: <Leave blank>
Note: For details on scheduling syncs using the Frequency option, see https://zilla.atlassian.net/wiki/spaces/ZILLASUP/pages/2177204225/Scheduling+an+automated+sync.