This documentation is for Version 1 of the Amazon CLI only. For documentation related to Version 2 of the Amazon CLI, see the Version 2 User Guide.
Using IAM in the Amazon CLI
| An introduction to Amazon Identity and Access Management |
|---|
|
|
You can access the features of Amazon Identity and Access Management (IAM) using the Amazon Command Line Interface (Amazon CLI). To list the Amazon CLI commands for IAM, use the following command.
aws iam help
This topic shows examples of Amazon CLI commands that perform common tasks for IAM.
Before you run any commands, set your default credentials. For more information, see Configuring settings for the Amazon CLI.
For more information on the IAM service, see the Amazon Identity and Access Management User Guide.
Topics
Creating IAM users and groups
To create a group and add a new user to it
-
Use the
create-groupcommand to create the group.$aws iam create-group --group-nameMyIamGroup{ "Group": { "GroupName": "MyIamGroup", "CreateDate": "2018-12-14T03:03:52.834Z", "GroupId": "AGPAJNUJ2W4IJVEXAMPLE", "Arn": "arn:aws-cn:iam::123456789012:group/MyIamGroup", "Path": "/" } } -
Use the
create-usercommand to create the user.$aws iam create-user --user-nameMyUser{ "User": { "UserName": "MyUser", "Path": "/", "CreateDate": "2018-12-14T03:13:02.581Z", "UserId": "AIDAJY2PE5XUZ4EXAMPLE", "Arn": "arn:aws-cn:iam::123456789012:user/MyUser" } } -
Use the
add-user-to-groupcommand to add the user to the group.$aws iam add-user-to-group --user-nameMyUser--group-nameMyIamGroup -
To verify that the
MyIamGroupgroup contains theMyUser, use theget-groupcommand.$aws iam get-group --group-nameMyIamGroup{ "Group": { "GroupName": "MyIamGroup", "CreateDate": "2018-12-14T03:03:52Z", "GroupId": "AGPAJNUJ2W4IJVEXAMPLE", "Arn": "arn:aws-cn:iam::123456789012:group/MyIamGroup", "Path": "/" }, "Users": [ { "UserName": "MyUser", "Path": "/", "CreateDate": "2018-12-14T03:13:02Z", "UserId": "AIDAJY2PE5XUZ4EXAMPLE", "Arn": "arn:aws-cn:iam::123456789012:user/MyUser" } ], "IsTruncated": "false" }
Attaching an IAM managed policy to a user
The policy in this example provides the user with "Power User Access".
To attach an IAM managed policy to a user
-
Determine the Amazon Resource Name (ARN) of the policy to attach. The following command uses
list-policiesto find the ARN of the policy with the namePowerUserAccess. It then stores that ARN in an environment variable.$exportPOLICYARN=$(aws iam list-policies --query 'Policies[?PolicyName==`PowerUserAccess`].{ARN:Arn}' --output text) ~$echo $POLICYARNarn:aws-cn:iam::aws:policy/PowerUserAccess -
To attach the policy, use the
attach-user-policyattach-user-policycommand, and reference the environment variable that holds the policy ARN.$aws iam attach-user-policy --user-nameMyUser--policy-arn $POLICYARN -
Verify that the policy is attached to the user by running the
list-attached-user-policiescommand.$aws iam list-attached-user-policies --user-nameMyUser{ "AttachedPolicies": [ { "PolicyName": "PowerUserAccess", "PolicyArn": "arn:aws-cn:iam::aws:policy/PowerUserAccess" } ] }
For more information, see Access Management Resources. This topic provides links to an overview of permissions and policies, and links to examples of policies for accessing Amazon S3, Amazon EC2, and other services.
Setting an initial password for an IAM user
The following command uses
create-login-profile to set an initial password on the specified user. When
the user signs in for the first time, the user is required to change the password to something
that only the user knows.
$aws iam create-login-profile --user-nameMyUser--passwordMy!User1Login8P@ssword--password-reset-required{ "LoginProfile": { "UserName": "MyUser", "CreateDate": "2018-12-14T17:27:18Z", "PasswordResetRequired": true } }
You can use the update-login-profile command to change the password for a user.
$aws iam update-login-profile --user-nameMyUser--passwordMy!User1ADifferentP@ssword
Creating an access key for an IAM user
You can use the
create-access-key command to create an access key for a user. An
access key is a set of security credentials that consists of an access key ID and a secret key.
A user can create only two access keys at one time. If you try to create a third set, the
command returns a LimitExceeded error.
$aws iam create-access-key --user-nameMyUser{ "AccessKey": { "UserName": "MyUser", "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "Status": "Active", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "CreateDate": "2018-12-14T17:34:16Z" } }
Use the
delete-access-key command to delete an access key for a user. Specify
which access key to delete by using the access key ID.
$aws iam delete-access-key --user-nameMyUser--access-key-id AKIAIOSFODNN7EXAMPLE