Skip to content
Monda Help Center home
Monda Help Center home

Amazon S3 Source

In order to setup Amazon S3 as a data source, you need admin access to IAM and S3.

Setting up S3 and IAM user

  1. Set up an S3 bucket (or use an existing one) to store the data you want to share with Monda.

  2. Create an AWS IAM user to act as a service account for Monda.

  3. Grant the new user 'Get' and 'List' permission to the S3 bucket.

  4. Generate an access key and secret key for the IAM user and store them securely. These credentials will be used to connect to Monda.

    Sample IAM policy:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] } ] }

Connect the bucket to Monda

  1. In your Provider Portal, go to Onboard > Sources > Add Connection.

  2. Select S3 Bucket from the dropdown menu.

    • Admins must provide the following information:

      • S3 Bucket Name: the name of your AWS S3 bucket

      • Access Key: the Access Key ID of the IAM user you created

      • Secret Key: the Secret Access Key of the same IAM user

      • Endpoint URL: leave this field blank for AWS S3. Only required for S3-compatible storage (e.g. Cloudflare R2, Backblaze B2)

  3. Click Create. After the connection is established, you can test it via the Test Connection button.

AWS S3 set up source.gif
S3 source setup example.png

FAQ

Why do I need an IAM user instead of an IAM role?

Monda requires an IAM user because the underlying platform (Snowflake) has deprecated support for IAM roles in this type of integration. Going forward, only configurations using IAM users with access keys are supported.

What should I do if the platform says no data was found?

  • Double-check that files are placed inside the correct subfolder for a data product.

  • Ensure file names and extensions are correct.

  • Verify that the IAM user has the correct permissions.

Can I reuse the same IAM user for multiple connections?

Yes, as long as the IAM user has permission to access all relevant S3 buckets, it can be used across multiple data products. Just keep in mind that each bucket requires the setup of a connection.

Can I create a connection using an API instead of the UI?

Yes! See our API documentation for creating and managing your connections programmatically.