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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.firebolt.io/feedback

```json
{
  "path": "/guides/loading-data/creating-access-keys-aws",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

> Understand how to create security credentials in AWS

# Creating Access Key and Secret ID in AWS

This section will walk you through the steps to create security credentials in AWS. These credentials will be used to load data from AWS S3 into Firebolt.

In order to enable Firebolt to load data from your S3 buckets, you must:

1. Create a user.
2. Create appropriate permissions for this user.
3. Create access credentials to authenticate this user.

## Create a user

1. Log into your AWS Management console and go to the IAM section. You can do this by typing "IAM" in the search bar.

2. Once you are in the IAM section, select the **Create User**  button.

   <img src="https://mintcdn.com/firebolt/zjE1fLhum1qfnFeE/assets/images/Create_User_Dialog.png?fit=max&auto=format&n=zjE1fLhum1qfnFeE&q=85&s=979f3e2360c10e4da5f4ffa02ad3b195" alt="Create IAM User" width="800" data-path="assets/images/Create_User_Dialog.png" />

3. Enter a name for the user and select **Next**.

   <img src="https://mintcdn.com/firebolt/27JlPJMdazZJqV8Z/assets/images/Specify_User_Name.png?fit=max&auto=format&n=27JlPJMdazZJqV8Z&q=85&s=4089e2f76193c620abdaa29f83e3dd98" alt="Specify User Name" width="800" data-path="assets/images/Specify_User_Name.png" />

4. You can have the default permission option set to **Add user to group** and select **Next**.

   <img src="https://mintcdn.com/firebolt/27JlPJMdazZJqV8Z/assets/images/Set_Permissions.png?fit=max&auto=format&n=27JlPJMdazZJqV8Z&q=85&s=752158d494f212eb2efaf758bd31cac8" alt="Set Permissions" width="600" data-path="assets/images/Set_Permissions.png" />

5. Select **Create User**.

   <img src="https://mintcdn.com/firebolt/-nJT0jNErZ16mFkb/assets/images/Review_Create_User.png?fit=max&auto=format&n=-nJT0jNErZ16mFkb&q=85&s=b861f7cef1a9ec4be7d79eb6391d2842" alt="Review and Create User" width="800" data-path="assets/images/Review_Create_User.png" />

6. You will see a message **User created successfully**.

   <img src="https://mintcdn.com/firebolt/27JlPJMdazZJqV8Z/assets/images/User_Created_Successfully.png?fit=max&auto=format&n=27JlPJMdazZJqV8Z&q=85&s=9a314045414fbd526b4d3d7877ef662b" alt="User created successfully" width="800" data-path="assets/images/User_Created_Successfully.png" />

## Create S3 access permissions

Now that you have created the user, you will now assign this user appropriate permissions for S3.

1. Select on the user name as shown below.

   <img src="https://mintcdn.com/firebolt/zjE1fLhum1qfnFeE/assets/images/Click_User.png?fit=max&auto=format&n=zjE1fLhum1qfnFeE&q=85&s=7a9a0be73f590822c91e3621d502f9c8" alt="Click User" width="800" data-path="assets/images/Click_User.png" />

2. In the Permissions tab, select the **Add Permissions** drop-down and choose **Create inline policy**.

   <img src="https://mintcdn.com/firebolt/zjE1fLhum1qfnFeE/assets/images/Choose_Iniline_Permissions.png?fit=max&auto=format&n=zjE1fLhum1qfnFeE&q=85&s=a864990d9d69ec2d620c07ad981ed94f" alt="Choose Inline Policy" width="800" data-path="assets/images/Choose_Iniline_Permissions.png" />

3. In **Specify Permissions** choose S3 as the service.

   <img src="https://mintcdn.com/firebolt/zjE1fLhum1qfnFeE/assets/images/Choose_S3.png?fit=max&auto=format&n=zjE1fLhum1qfnFeE&q=85&s=5773321c87466fbc452bb7196a8ec68a" alt="Choose S3" width="800" data-path="assets/images/Choose_S3.png" />

4. Choose **JSON**, paste the following JSON code in the policy editor, and select **Next**.

   <img src="https://mintcdn.com/firebolt/27JlPJMdazZJqV8Z/assets/images/Specify_Permissions.png?fit=max&auto=format&n=27JlPJMdazZJqV8Z&q=85&s=950e58f8f8f4e7da2166eaa65d4eb6f5" alt="Set Permissions" width="800" data-path="assets/images/Specify_Permissions.png" />

   ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
   {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:GetObject",
                  "s3:GetObjectVersion"
              ],
              "Resource": "arn:aws:s3:::<bucket>/<prefix>/*"
          },
          {
              "Effect": "Allow",
              "Action": "s3:GetBucketLocation",
              "Resource": "arn:aws:s3:::<bucket>"
          },
          {
              "Effect": "Allow",
              "Action": "s3:PutObject",
              "Resource": "arn:aws:s3:::<bucket>/*"
          },
          {
              "Effect": "Allow",
              "Action": "s3:ListBucket",
              "Resource": "arn:aws:s3:::<bucket>",
              "Condition": {
                  "StringLike": {
                      "s3:prefix": [
                          "<prefix>/*"
                      ]
                  }
              }
          }
      ]
   }
   ```

**IMPORTANT:** Replace `<bucket>` with the S3 bucket that you want to provide access to.

5. Enter a description for the policy and select **Create Policy**.

   <img src="https://mintcdn.com/firebolt/zjE1fLhum1qfnFeE/assets/images/Create_Policy.png?fit=max&auto=format&n=zjE1fLhum1qfnFeE&q=85&s=f6cbbdb487e44b06bf996c00a19127bb" alt="Create policy" width="800" data-path="assets/images/Create_Policy.png" />

6. You will see a message that the policy has been successfully created.

## Create access key and secret ID

Now that you have created a user, authorized the user with the appropriate S3 permissions, you will create access credentials for this user. These credentials will be used to authenticate the user.

1. Select the **Security Credentials** tab, as shown in the following image:

   <img src="https://mintcdn.com/firebolt/zjE1fLhum1qfnFeE/assets/images/Choose_Security_Credentials.png?fit=max&auto=format&n=zjE1fLhum1qfnFeE&q=85&s=d62aedb025e50206894cea32a4d14e7e" alt="Security Credentials" width="800" data-path="assets/images/Choose_Security_Credentials.png" />

2. In the **Access Keys** section, select the **Create Access Key** button.

   <img src="https://mintcdn.com/firebolt/zjE1fLhum1qfnFeE/assets/images/Create_Access_Keys.png?fit=max&auto=format&n=zjE1fLhum1qfnFeE&q=85&s=0347229dd9fe2796b1b8381b0a7414cf" alt="Create Access Key" width="800" data-path="assets/images/Create_Access_Keys.png" />

3. For the use case, choose the **Application running on AWS compute service**. You will see an alternative recommendation. You can check the box that says "I understand the above recommendation and want to proceed to create an access key" and select **Next**.

   <img src="https://mintcdn.com/firebolt/zjE1fLhum1qfnFeE/assets/images/Access_Key_Use_Case.png?fit=max&auto=format&n=zjE1fLhum1qfnFeE&q=85&s=f844490181bda56d8851d556104c9688" alt="Use case warning" width="1690" height="812" data-path="assets/images/Access_Key_Use_Case.png" />

4. Set a description tag for the access key and select \*\*C,
   <img src="https://mintcdn.com/firebolt/zjE1fLhum1qfnFeE/assets/images/Description_Tag_Access_Key.png?fit=max&auto=format&n=zjE1fLhum1qfnFeE&q=85&s=7f4df7ed01fac30772dfc712b6460509" alt="Set Desc tag Access Key" width="800" data-path="assets/images/Description_Tag_Access_Key.png" />

5. You will see a message indicating that the access key was created. Make sure to download the access key. You will need these credentials when you load S3 data into Firebolt.

   <img src="https://mintcdn.com/firebolt/zjE1fLhum1qfnFeE/assets/images/Download_CSV_Access_Key.png?fit=max&auto=format&n=zjE1fLhum1qfnFeE&q=85&s=a131da38686cf07986ac955d09feae5d" alt="Access Key created successfully" width="800" data-path="assets/images/Download_CSV_Access_Key.png" />
