Este artículo solo está disponible en inglés.
Para Data owners · Actualizado el 6 nov 2026
Share data through Amazon S3
You keep full ownership of your S3 bucket. Your team writes scheduled exports to it, and creates a role in your own AWS account that gives Scowtt read-only access to a specific bucket or folder. No access keys or long-lived credentials are ever shared, and you can revoke access entirely on your end at any time by deleting the role.
How it works: Scowtt sends you its role details and a unique External ID. You create a read-only role for one bucket or folder and send Scowtt the role details. Scowtt checks the data with you.
Before you start
- Someone who can create IAM roles and policies in your AWS account.
- From Scowtt: Scowtt's AWS role ARN and a unique External ID for your account. Your Scowtt team sends these with the policy templates below.
Steps
-
Scowtt: Send your role details and External ID
Your Scowtt team creates a unique External ID for your integration and sends it with Scowtt's role ARN and the policy templates below.
-
You: Create an IAM role with this trust policy
Choose a dedicated bucket, or a folder (prefix) in an existing bucket, for example
s3://yourcompany-data/scowtt/. Then create the role, using the role ARN and External ID Scowtt sent:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "<SCOWTT_ROLE_ARN>" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "<YOUR_EXTERNAL_ID>" } } }] }AWS's step-by-step guide: Create a role using custom trust policies.
-
You: Attach a read-only permissions policy
Scope it to your bucket and folder:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:ListBucket", "s3:GetBucketLocation"], "Resource": "arn:aws:s3:::<BUCKET>", "Condition": { "StringLike": { "s3:prefix": ["<PREFIX>/*", "<PREFIX>"] } } }, { "Effect": "Allow", "Action": ["s3:GetObject", "s3:GetObjectAttributes"], "Resource": "arn:aws:s3:::<BUCKET>/<PREFIX>/*" } ] } -
You: Organize your files
Use one folder per table, partitioned by date and hour, for example
s3://yourcompany-data/scowtt/appointments/dt=2026-10-30/hour=13/part-00000.parquet. -
You: Send Scowtt your role details
Send your Scowtt team the new role ARN, the exact bucket and folder path, and the AWS region.
-
You: Load the historical backfill
Load the full history into the folder first, and tell your Scowtt team when it's there.
-
Scowtt: Check the data with you
Scowtt validates access and the backfill with you. Then you turn on recurring exports, ideally hourly, and Scowtt turns on recurring reads.
Good to know
- Check the exact path. Before Scowtt starts, list the folder yourself and confirm files are where you said. Exports often land one folder deeper than expected.
- Encrypted with your own KMS key? Add
kms:Decryptfor that key to the role's policy, and allow the role in the key policy. Default S3 encryption needs no change. - Files written by another AWS account or a vendor may be unreadable to Scowtt unless the bucket's Object Ownership is set to Bucket owner enforced, the default for new buckets.
- Bucket policies that deny access from outside your network, for example by VPC endpoint or IP address, also block Scowtt. Add an exception for the Scowtt role.
- Follow the data format standards for formats, folders and file names.
Who does what
| Step | Who | What changes hands |
|---|---|---|
| Send your role details and External ID | Scowtt | Role ARN, External ID, policy templates |
| Create an IAM role with this trust policy | You | — |
| Attach a read-only permissions policy | You | — |
| Organize your files | You | — |
| Send Scowtt your role details | You | Your role ARN, bucket and folder path, AWS region |
| Load the historical backfill | You | History files |
| Check the data with you | Scowtt | Confirmation, or fixes needed |
