> For the complete documentation index, see [llms.txt](https://docs.getmesa.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.getmesa.com/connect/amazon-s3.md).

# Amazon S3

## Connection

When you're setting up your first workflow with Amazon S3, there are a number of setup steps that you must follow before you can connect Amazon S3 with MESA.

<figure><img src="/files/3uiIrz7Qjv4WXMDJOV2x" alt="Screenshot of the Amazon S3 step in the MESA workflow builder prompting you to set up a connection. Spotlight the Add Connection button."><figcaption></figcaption></figure>

**Before you can connect MESA with Amazon S3, you must:**

* Have an Amazon S3 account
  * **If you do not have an Amazon S3 account,** create one here: <https://aws.amazon.com/console/>. Then, click on the Create an AWS Account button to get started.
* Create a bucket in your Amazon S3 account [based on MESA's setup instructions in the Setting up Amazon S3 Bucket section](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html)
* Create an IAM user in your Amazon S3 account [based on MESA's setup instructions in the Setting up AWS IAM User section](#iam-user)

#### Setting up Amazon S3 Bucket <a href="#bucket" id="bucket"></a>

A bucket is a container for objects stored in Amazon S3. For more information about buckets, [click here.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html)

**To set up a bucket for MESA:**

1\. Sign in to the AWS Management Console and open the Amazon S3 console at: <https://console.aws.amazon.com/s3/>

2\. In the search bar, type "Buckets" and click on the Buckets feature.

3\. Click on the Create bucket button next to General purpose buckets.

![Screenshot of the Amazon S3 console Buckets page in the AWS Management Console. Spotlight the Create bucket button next to General purpose buckets.](/files/fkuf0ryTerFBpbGqtlXp)

4\. In the General Configuration section, select a AWS Region for this bucket and enter a Bucket name.

![Screenshot of the Create bucket page in the Amazon S3 console, General Configuration section. Spotlight the AWS Region selector and Bucket name field.](/files/mSCIlKgcUrNOCx5aFHvY)

5\. In the Object Ownership section, select the ACLs enabled option and Bucket owner preferred option.

![Screenshot of the Create bucket page in the Amazon S3 console, Object Ownership section. Spotlight the ACLs enabled option and Bucket owner preferred option.](/files/ikZkkgCSUd8HI2WIkuPn)

6\. In the Block Public Access settings for this bucket section, Block all public access will be enabled by default. You will want to unselect the checkbox next to it and select the checkbox next to the "I acknowledge that the current settings..." agreement.

![Screenshot of the Create bucket page in the Amazon S3 console, Block Public Access settings section. Spotlight the Block all public access checkbox being unselected.](/files/7Yaeil9FKN2UMP4a1UGm)

<figure><img src="/files/vWEVdKXlRZbFNaOpazyF" alt="Screenshot of the Create bucket page in the Amazon S3 console, Block Public Access settings section. Spotlight the I acknowledge that the current settings acknowledgement checkbox."><figcaption></figcaption></figure>

7\. Scroll all the way down and click on Create bucket. You have now created a bucket for MESA.

![Screenshot of the bottom of the Create bucket page in the Amazon S3 console. Spotlight the Create bucket button.](/files/PMjnI7RCFsDWQfoQRd5B)

#### Setting up AWS IAM User <a href="#iam-user" id="iam-user"></a>

An IAM user represents a human user or workload who uses the IAM user to interact with AWS.

**To set up an AWS IAM User for MESA:**

1\. Open the [IAM console](https://console.aws.amazon.com/iam/home?#home).

2\. From the navigation menu, click **Users**.

![Screenshot of the AWS IAM console. Spotlight the Users item in the navigation menu.](/files/G6cgWdPLnSlEdCjUkPiD)

3\. Click on the Create user button next to Users.

![Screenshot of the AWS IAM console Users page. Spotlight the Create user button.](/files/CxtMns4HO4aCctyXZvZz)

4\. Enter a User name for this user. Example: MESA-User. Then, click on Next.

![Screenshot of the AWS IAM Create user flow, Specify user details step. Spotlight the User name field and the Next button.](/files/VDFiYcAr8RzvHf2AtGlq)

5\. In the Permissions options section, select the Attach policies directly option.

<figure><img src="/files/q72zIK3rEtzux3n7aDLZ" alt="Screenshot of the AWS IAM Create user flow, Set permissions step. Spotlight the Attach policies directly option."><figcaption></figcaption></figure>

6\. In the Permissions policies section, search for "S3Full" and click on the checkbox next to AmazonS3FullAccess. Click on the Next button.

![Screenshot of the AWS IAM Create user Permissions policies search results for S3Full. Spotlight the AmazonS3FullAccess policy checkbox and the Next button.](/files/AUnuC00ebJyaLiLLCxvM)

7\. Then, click on the Create user button.

<figure><img src="/files/Nls8rk0pDtZOVoNCyec6" alt="Screenshot of the AWS IAM Create user Review and create step with the AmazonS3FullAccess policy attached. Spotlight the Create user button."><figcaption></figcaption></figure>

You have now created an IAM User in your AWS account! You aren't completely done but you are almost there! Please read the below section: Creating Access Key

**Creating Access Key**

Once you have an Amazon S3 Account, a bucket, and an IAM user suited for MESA, you will need create an Access Key for your AWS IAM user to officially connect MESA with Amazon S3.

![Screenshot of the Amazon S3 connection setup in MESA showing the Key and Secret fields for the access key. Spotlight the Key and Secret fields.](/files/u8PqcCXDo7G0bBCwHWr7)

**Please follow these next steps:**

1\. Open the [IAM console](https://console.aws.amazon.com/iam/home?#home) and from the navigation menu, click Users.

![Screenshot of the AWS IAM console. Spotlight the Users item in the navigation menu.](/files/G6cgWdPLnSlEdCjUkPiD)

2\. Select your the user suited for MESA from the User table.

![Screenshot of the AWS IAM Users table. Spotlight the MESA user row to select it.](/files/rMjQSDJlZzKAlmmJuzjr)

3\. In the Summary section, click on Create access key.

![Screenshot of the AWS IAM user detail page, Summary section. Spotlight the Create access key option.](/files/d4J0E5ui5vKXyBeMa3jf)

4\. In the Use case section, select the Third-party service option.

5\. At the very bottom, select the checkbox next to "I understand the above recommendation..." confirmation and click Next.

![Screenshot of the AWS IAM Create access key flow, Use case step with Third-party service selected. Spotlight the I understand the above recommendation confirmation checkbox and the Next button.](/files/i1tgMwZbaNcnT5qAGNYG)

6\. On the next screen, click on the Create access key button.

![Screenshot of the AWS IAM Create access key flow final step. Spotlight the Create access key button.](/files/WvV63ZX0pWklPjTgwiZm)

7\. You will now see your Access Key and Secret access key. This is the only time that the Secret access key can be viewed or downloaded. Click on the copy icon under Access key.

![Screenshot of the AWS IAM Retrieve access keys screen showing the Access key and Secret access key. Spotlight the copy icon under Access key.](/files/hAxSr5MSLeOpob4vUgr6)

8\. In a new tab or back in your MESA workflow with the Amazon S3 action, paste the copied values into the Key field.

9\. Do the same for Secret access key from Amazon S3 and paste it into the Secret field.

10\. Click on the Add Connection button and then you are all set! MESA is now connected with your Amazon S3 account.

### Configure <a href="#configuring" id="configuring"></a>

**Required Fields:**

<figure><img src="/files/GwLXQyqwG0lx8gkpMihz" alt="Screenshot of the Amazon S3 action configuration in the MESA workflow builder. Spotlight the Region, Bucket, and File URL required fields."><figcaption></figcaption></figure>

* **Region** and **Bucket**: You will want to select the appropriate values that you just created above in this help guide.
* **File URL**: You can input the URL of a file or use [MESA's variable feature that represents a file URL from an earlier step](/workflow-builder/fields/variables.md). Also, the file should be publicly available and MESA should be able to directly access the file without downloading it.

**Optional:**

* **File Name:** If used, it is highly recommended that the file URL ends with the actual file extension. For example, if the file is a pdf, the file name should end with **.pdf**
