Set up S3 access with IAM access keys
The fully self-serve way to connect Atlan to Amazon S3 - create an IAM user, attach the permission policy, and paste its keys into Atlan.
The fully self-serve method: create an IAM user, attach the same permission policy, and paste its keys into Atlan. Faster than the role, weaker security posture - best for POCs.
When to use this
- You need to be crawling today and can't wait for the role handshake.
- Your organization prohibits cross-account role trust.
- Otherwise, prefer the IAM role - it's the recommended path for production.
Steps
- Your AWS admin - Create the permission policy exactly as in Phase 2 of the role guide (same actions, same
ListAllMyBuckets-on-*rule). - Your AWS admin - In the IAM console, create a user (suggested name:
atlan-s3-crawler) with no console access, attach the policy, and generate an access key (type: third-party service). - Atlan User - New workflow → Amazon S3 Assets, choose IAM User authentication, and enter the Access Key ID, Secret Access Key, and your buckets' region directly in the credential form.
- Click Test Authentication, then configure filters and run.
Enter keys only in the Atlan credential form (they're stored encrypted). Never paste them into a support ticket, email, or chat. If a key is ever exposed, deactivate it in the IAM console immediately and generate a new one - Atlan only needs the new pair entered in the connection's credential settings.
Access keys don't expire on their own. Follow your organization's rotation policy (90 days is a common default): generate a second key for the user, update the Atlan credential, confirm a crawl succeeds, then deactivate the old key - zero downtime.
Everything else is identical to the role path
Bucket policies, KMS key policies, prefix scoping, region, and inventory ingestion behave exactly the same for a user as for a role - a KMS key policy that only names the role will still block the user. Continue with Bucket policies, KMS keys, and prefix scoping, and use the same success checklist.
A past Azure-hosted-tenant bug forced role assumption even when IAM user auth was chosen, failing with an AssumeRole error that made no sense for key-based auth (since fixed). If you see AssumeRole errors while using access keys, it's not your configuration - raise a ticket citing that symptom.
Next steps
Crawl S3: Configure and run the crawler to extract metadata from Amazon S3