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.
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 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.
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 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.
Log in to your AWS console and navigate to IAM and then select policies.
Click Create policy.
Switch to the JSON tab and paste the following policy. Replace
YOUR_BUCKET_NAMEwith a name of your choosing.{ "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/*" ] } ] }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.
Navigate to IAM > Roles.
Click Create role.
Select Custom trust policy as the trusted entity type.
Paste the following trust policy. This grants Supermetrics’ AWS role the ability to assume your role:
{ "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-roleis Supermetrics' external role. This must be set exactly as shown — it is what authorizes Supermetrics to assume your role.Click Next.
Search for and select the permissions policy that you created in Step 1.
Name the role, Supermetrics S3IntegrationRole for example and create it.
Step 3: Configure Supermetrics
In the AWS console, click the Role you just created.
Copy the Role ARN, in this example
arn:aws:iam::043417694514:role/SupermetricsS3IntegrationRoleGo to the Supermetrics destination configuration.
Under Authentication method, select IAM role.
Paste the ARN into the IAM role ARN field.
Enter your Bucket name and Region code.
(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.
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 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.
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 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.