--- title: "About Amazon S3 prerequisites" slug: "about-amazon-s3-prerequisites" description: "Set up Amazon S3 as a Supermetrics destination by meeting prerequisites like permissions, access keys, and IP allowlisting for seamless data transfer." updated: 2026-09-07T06:44:43Z published: 2026-09-07T06:44:43Z canonical: "docs.supermetrics.com/about-amazon-s3-prerequisites" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.supermetrics.com/llms.txt > Use this file to discover all available pages before exploring further. # About Amazon S3 prerequisites To start using Amazon S3 as a Supermetrics destination, some requirements need to be met. These prerequisites ensure that a working connection can be set up to successfully transfer data to your Amazon S3 bucket. > [!NOTE] > About permissions > > You may need specific permissions to verify these prerequisites are met. If you are unable to access some information, please contact your AWS admin. ## Prerequisites ### Amazon S3 bucket You need an existing [Amazon S3 bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) set up to be used as a destination. ### Permissions The permission `putObject` is required for the S3 bucket or subfolder that is to be used as the destination. In addition, the permission `deleteObject` is useful, though not required. This permission can automatically remove an empty file generated in the setup testing phase. See Amazon S3 documentation to learn more about [action permissions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html). ## Authentication methods Choose one of the following methods to authorize Supermetrics: ****Method 1: IAM Role (Recommended)**** This method involves creating a Role in your AWS account that trusts Supermetrics up upload files. **AWS cluster requirement**: IAM Role authentication is only available if your Supermetrics team is hosted on the **AWS cluster**. If you’re unsure which cluster your team is on, contact [Supermetrics support](https://supermetrics.com/support) before proceeding. **Note**: The AWS configuration instructions in Steps 1 and 2 show one example approach. There are multiple ways to create policies and roles in AWS - you are free to use your preferred method as long as the end results grants the equivalent permisssions. **Step 1: Create the Permission policy** This policy defines *what* Supermetrics is allowed to do, in this scenario to upload files to a specific bucket. 1. Log in to your AWS console and navigate to **IAM** and then select **policies**. 2. Click **Create policy**. 3. Switch to the **JSON** tab and paste the following policy. **Replace** `YOUR_BUCKET_NAME` **with the name of your budket**. ```json {    "Version": "2012-10-17",    "Statement": [        {            "Sid": "SupermetricsS3Access",            "Effect": "Allow",            "Action": [                "s3:PutObject",                "s3:GetBucketLocation",                "s3:ListBucket"            ],            "Resource": [                "arn:aws:s3:::YOUR_BUCKET_NAME",                "arn:aws:s3:::YOUR_BUCKET_NAME/*"            ]        }    ] } ``` 4. Name the policy, SupermetricsS3WritePolicy for example, and then create it. **Step 2: Create the IAM Role** This policy defines who is allowed to use the permissions, which is the Supermetrics Application in this case. 1. Navigate to **IAM → Roles**. 2. Click **Create role**. 3. Select **Custom trust policy** as the trusted entity type. 4. Paste the following trust policy. This grants Supermetrics’ AWS role the ability to assume your role: ```json {    "Version": "2012-10-17",    "Statement": [        {            "Effect": "Allow",            "Principal": {                "AWS": "arn:aws:iam::043417694514:role/supermetrics-s3-role"            },            "Action": "sts:AssumeRole"        }    ] } ``` **Important**: The ARN `arn:aws:iam::043417694514:role/supermetrics-s3-role` is Supermetrics' external role. This must be set exactly as shown — it is what authorizes Supermetrics to assume your role. 5. Click **Next**. 6. Search for and select the permissions policy that you created in Step 1. 7. Name the role, Supermetrics S3IntegrationRole for example and create it. **Step 3: Configure Supermetrics** 1. In the AWS console, click the Role you just created. 2. Copy the **Role ARN**, in this example `arn:aws:iam::043417694514:role/SupermetricsS3IntegrationRole` 3. Go to the Supermetrics destination configuration. 4. Under **Authentication method**, select **IAM role**. 5. Paste the ARN into the **IAM role ARN field**. 6. Enter your **Bucket name** and **Region code**. 7. (Optional) If your S3 bucket uses a KMS customer-managed encryption key, enter the KMS key ARN in the **KMS key ARN field**. If your bucket uses default AWS-managed encryption, leave this blank. 8. Save and test the connection. ****Method 2: Access Key (Standard)**** To authorize the use of your Amazon S3 bucket as a destination, you need the access key of your AWS user. Find or generate the access key in the [AWS Management Console](https://aws.amazon.com/console/) under **My Security Credentials**. Access keys generated using different methods can't be used to authenticate in this case. Each access key comes with an access key ID and a corresponding secret access key. Both are needed in the destination setup. See Amazon S3 documentation to learn more about [managing access keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html). ### IP allowlisting If your IAM policy only allows requests from selected IP addresses, IP allowlisting is needed. [You need to add these Supermetrics IP addresses](/v1/docs/about-ip-address-allowlisting-for-data-warehouse-destinations) to the **Request Conditions** in the IAM policy of your AWS user. Don't forget to add your own IP address to avoid losing access to your bucket. See AWS documentation for details on [limiting access to specific IP addresses](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-use-case-3). ## More resources - [How to create a destination](/v1/docs/how-to-connect-to-a-data-warehouse-destination) - [How to configure an Amazon S3 destination](/v1/docs/how-to-configure-an-amazon-s3-destination) - [How to create a transfer](/v1/docs/how-to-create-a-transfer)