# How to create a IAM user in AWS

> Learn how to create an AWS IAM user with programmatic access, attaching a policy like AmazonS3FullAccess and getting the access key ID and secret access key.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2022-04-14 | Topics: [Services](https://flaviocopes.com/tags/services/) | Canonical: https://flaviocopes.com/aws-how-to-create-iam-user/

In this tutorial I will explain how you can create a user with programmatic access in AWS through the IAM (Identity and Access Management) panel.

If you don't have an AWS account yet, start here: <https://aws.amazon.com>.

Once you have an account set up and you're logged in to AWS, click your name on top and then "My Security Credentials"

![AWS account dropdown menu showing My Security Credentials option](https://flaviocopes.com/images/aws-how-to-create-iam-user/Screen_Shot_2021-06-08_at_14.42.05-redacted_dot_app.png)

On the sidebar click "Users", and "Add user". Enable "Programmatic access".

![IAM Add user form with Programmatic access checkbox selected](https://flaviocopes.com/images/aws-how-to-create-iam-user/Screen_Shot_2021-06-08_at_14.43.24.png)

Move to the next screen via the buttons you find in the bottom of the page ("Next: Permissions").

Click the "Attach existing policies directly":

![IAM permissions page with Attach existing policies directly option selected](https://flaviocopes.com/images/aws-how-to-create-iam-user/Screen_Shot_2021-06-08_at_14.44.24.png)

In this example I create a user that can [access S3 to upload files](https://flaviocopes.com/node-aws-s3-upload-image/).

Type "S3" in the filter to show the S3 policies

![Policy search filtered by S3 showing S3 related permissions](https://flaviocopes.com/images/aws-how-to-create-iam-user/Screen_Shot_2021-06-08_at_14.44.41.png)

Select the `AmazonS3FullAccess` permission:

![AmazonS3FullAccess policy selected with checkmark in policy list](https://flaviocopes.com/images/aws-how-to-create-iam-user/Screen_Shot_2021-06-08_at_14.44.57.png)

Once the user is created, you'll have a pair of **access key ID** and **secret access key**.

Copy those to your `.env` file in the project you have to use as environment variables.
