> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superblocks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon S3

> Build apps that can list, read, delete, and upload files in S3

export const IntegrationSuccess = ({integrationName}) => {
  return <p>
      <b>{integrationName} connected!</b><br />You can now use{" "}
      <a href="/building-with-clark">Clark to build</a> with {integrationName}.
    </p>;
};

export const Alert = ({type, title, children}) => {
  const variant = ["info", "success", "warning", "danger", "note"].includes(type) ? type : "note";
  return <div className={`alert alert--${variant}`}>
      <div className="alert-icon" />
      <div className="alert-content">
        {title && <div className="alert-title">{title}</div>}
        <div className="alert-body">{children}</div>
      </div>
    </div>;
};

## Setting up Amazon S3

### 1. Add integration

<p>
  Select <strong>Amazon S3</strong> from the{" "}
  <a href="https://app.superblocks.com/integrations/s3">integrations page</a>.
</p>

### 2. Configure settings

Fill out the form with the following settings:

<Tabs>
  <Tab title="Cloud">
    | Setting | Required | Description |
    | - | - | - |
    | Name | <span className="table-checkmark">✓</span> | Name that will be displayed to users when selecting this integration in Superblocks |
    | Region | <span className="table-checkmark">✓</span> | [AWS region](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) where the S3 bucket is hosted, e.g. <i>us-east-1</i> |
    | Access Key ID | <span className="table-checkmark">✓</span> | [Access key ID](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html) for your AWS account |
    | Secret Key | <span className="table-checkmark">✓</span> | [Secret access key](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html) for your AWS account |
    | IAM Role ARN | <span className="table-x">✗</span> | ARN of the role for Superblocks to assume for accessing S3 resources |
  </Tab>

  <Tab title="Hybrid or Cloud-Prem">
    | Setting | Required | Description |
    | - | - | - |
    | Name | <span className="table-checkmark">✓</span> | Name that will be displayed to users when selecting this integration in Superblocks |
    | Auth Type | <span className="table-checkmark">✓</span> | Choose between:<br /><ul><li><b>Access Key</b> - Use access key ID and secret access key authorization</li> <li><b>Token File</b> - Use <a href="https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html">Service Account Token Volume Projection</a> to authorize your data plane to connect to your S3 Buckets</li><li><b>EC2 Instance Metadata</b> - Use <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html">EC2 Instance Metadata</a> to authorize your data plane to connect to your S3 Buckets. If you are using <a href="https://github.com/jtblin/kube2iam">Kube2Iam</a>, you would select this option.</li></ul> |
    | Region | <span className="table-checkmark">✓</span> | If <b>Auth Type</b> is Access Key: [AWS region](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) where the S3 bucket is hosted, e.g. <i>us-east-1</i> |
    | Access Key ID | <span className="table-checkmark">✓</span> | If <b>Auth Type</b> is Access Key: [Access key ID](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html) for your AWS account |
    | Secret Key | <span className="table-checkmark">✓</span> | If <b>Auth Type</b> is Access Key: [Secret access key](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html) for your AWS account |
    | IAM Role ARN | <span className="table-x">✗</span> | ARN of the role for Superblocks to assume for accessing S3 resources |
  </Tab>
</Tabs>

### 3. Test and save

Click **Test Connection** to check that Superblocks can connect to the data source.

<Alert type="info">
  If using Superblocks Cloud, add these <a href="/enterprise/security/overview#ip-addresses">Superblocks IPs</a> to your allowlist (not necessary for Hybrid or Cloud-Prem deployments).
</Alert>

After connecting successfully, click **Create** to save the integration.

### 4. Set data tags

Optionally, configure different data tags for [separate development environments](/development-lifecycle/build/data-tags).

<Alert type="success">
  <IntegrationSuccess integrationName="Amazon S3" />
</Alert>

## Creating Amazon S3 steps

Connect to your S3 integration from Superblocks by creating steps in Application APIs, Workflows, and Scheduled Jobs. An S3 step can perform the following actions:

* Delete Files
* Generate presigned URL
* List bucket objects
* List buckets
* Read file
* Upload file
* Upload multiple files
* List files (deprecated)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.