Skip to main content
By default, S3 authentication uses role-based access. You create an IAM role in your own AWS account that holds the read permissions described below, and our identity is granted permission to assume it. No long-lived credentials are shared, and you can revoke access at any time through your IAM settings.
Files do not need to contain a timestamp column for change tracking. When the data to sync is configured, the object’s last modified time, as recorded by the storage provider, will be available as a column.

Step 1: configure AWS authentication

Choose the authentication method that fits your security policy.
If your bucket policy restricts access by IP, allow the static IP so we can reach the bucket. Reach out to your account representative for the static IP address to use.

Step 2: submit your connection details

Provide the following details to complete the source setup:
  1. The name is a descriptive name of the source.
  2. The bucket name of the bucket you want to read from.
  3. The AWS region the bucket is hosted in.
  4. The authentication credentials from Step 1:
    • If using an IAM role: the role ARN.
    • If using AWS access keys: the access key ID and the secret access key.

Terraform

If your organization manages infrastructure with Terraform, you can use the configuration below instead of the steps above. It sets up the same resources and permissions, using IAM role authentication.
  • Use the official hashicorp/aws provider, version 6.0 or later.
  • In terraform.tfvars, set bucket_name (an existing bucket) and service_account_identifier (the accounts.google.com:sub value, which your account representative provides). The optional inputs and their defaults are role_name (source-s3), policy_name (source-s3-read), and kms_key_arn (empty).
  • After terraform apply, use the bucket_name, bucket_region, and role_arn outputs to complete the connection setup. Print each with terraform output -raw <name>.