Create, manage permissions and delete IAM users using AWS CLI

In the last article, we have learned to manage IAM users with Python. Today we are going to perform the same operations using AWS CLI. Let’s get started.

Creating IAM User in CLI

We can create an IAM user using “create-user” command. We can get information about AWS CLI commands using the help option. When you run “aws iam create-user help” command you will see the following output.

For creating a user we need to give user name which is required and other parameters are optional.

Attaching Policy to IAM user

When we create a new user he/she does not have any permission to access AWS resource. We have to add the required permissions to each user. We can do that by attaching IAM policies to each user. Let us attach S3 read-only policy to a user using AWS CLI.

We can validate that this user has S3 read-only policy in AWS console.

Adding user to a group using AWS CLI

Attaching individual user policies is not feasible when you have hundreds of users. It is considered the best practice to create IAM groups and then attach policies to the group. In this way, we can manage user permissions at the group level easily. We need to make sure that the group is already created before we add a user to that group. Let us see how we create an IAM group and then add a user to that group.

Delete user

There are often cases where we need to delete the IAM user. But before deleting user we need to remove it from all groups that the user is part of. We also need to remove individual policies attached to that user. Then only we can delete that user. Let us write CLI command to achieve the same.

Conclusion

In this article, we have managed IAM users using AWS CLI. We have written commands for creating, listing, adding policies and deleting users from IAM. These are not only operations that we can perform using AWS CLI. In the next articles, we will learn more about AWS and how we can manage its resources using CLI.

Mahesh Mogal

I am passionate about Cloud, Data Analytics, Machine Learning, and Artificial Intelligence. I like to learn and try out new things. I have started blogging about my experience while learning these exciting technologies.