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;

  1. Can the app automatically generate a CSV report that includes the each user and what role they have on the system.

  2. 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”

Determining app id for an app instance in Zilla

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.