在 Amazon CLI 中使用 IAM - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文档仅适用于 Amazon CLI 版本 1。有关 Amazon CLI 版本 2 的相关文档,请参阅版本 2 用户指南

在 Amazon CLI 中使用 IAM

Amazon Identity and Access Management 简介

您可以使用 Amazon Command Line Interface (Amazon CLI) 访问 Amazon Identity and Access Management (IAM) 的功能。要列出 IAM 的 Amazon CLI 命令,请使用以下命令。

aws iam help

本主题显示执行 IAM 常见任务的 Amazon CLI 命令。

在运行任何命令之前,请设置默认证书。有关更多信息,请参阅 配置 Amazon CLI 设置

有关 IAM 服务的更多信息,请参阅 Amazon Identity and Access Management 用户指南

创建 IAM 用户和组

创建组并向其中添加新用户
  1. 使用 create-group 命令创建组。

    $ aws iam create-group --group-name MyIamGroup { "Group": { "GroupName": "MyIamGroup", "CreateDate": "2018-12-14T03:03:52.834Z", "GroupId": "AGPAJNUJ2W4IJVEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyIamGroup", "Path": "/" } }
  2. 使用 create-user 命令创建用户。

    $ aws iam create-user --user-name MyUser { "User": { "UserName": "MyUser", "Path": "/", "CreateDate": "2018-12-14T03:13:02.581Z", "UserId": "AIDAJY2PE5XUZ4EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/MyUser" } }
  3. 使用 add-user-to-group 命令将用户添加到组。

    $ aws iam add-user-to-group --user-name MyUser --group-name MyIamGroup
  4. 要验证 MyIamGroup 组包含 MyUser,请使用 get-group 命令。

    $ aws iam get-group --group-name MyIamGroup { "Group": { "GroupName": "MyIamGroup", "CreateDate": "2018-12-14T03:03:52Z", "GroupId": "AGPAJNUJ2W4IJVEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyIamGroup", "Path": "/" }, "Users": [ { "UserName": "MyUser", "Path": "/", "CreateDate": "2018-12-14T03:13:02Z", "UserId": "AIDAJY2PE5XUZ4EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/MyUser" } ], "IsTruncated": "false" }

将 IAM 托管式策略附加到用户

此示例中的策略为用户提供“高级用户访问”。

将 IAM 托管式策略附加到用户
  1. 确定要附加的策略的 Amazon 资源名称 (ARN)。以下命令使用 list-policies 查找具有名称 PowerUserAccess 的策略的 ARN。然后,它会将该 ARN 存储在环境变量中。

    $ export POLICYARN=$(aws iam list-policies --query 'Policies[?PolicyName==`PowerUserAccess`].{ARN:Arn}' --output text) ~ $ echo $POLICYARN arn:aws:iam::aws:policy/PowerUserAccess
  2. 要附加策略,请使用 attach-user-policyattach-user-policy 命令,并引用存放策略 ARN 的环境变量。

    $ aws iam attach-user-policy --user-name MyUser --policy-arn $POLICYARN
  3. 通过运行 list-attached-user-policies 命令验证策略已附加到此用户。

    $ aws iam list-attached-user-policies --user-name MyUser { "AttachedPolicies": [ { "PolicyName": "PowerUserAccess", "PolicyArn": "arn:aws:iam::aws:policy/PowerUserAccess" } ] }

有关更多信息,请参阅 访问管理资源。该主题提供权限和策略概览的链接以及用于访问 Amazon S3、Amazon EC2 和其他服务的示例策略的链接。

为 IAM 用户设置初始密码

以下命令使用 create-login-profile 为指定用户设置初始密码。当用户首次登录时,用户需要将密码更改为只有用户知道的内容。

$ aws iam create-login-profile --user-name MyUser --password My!User1Login8P@ssword --password-reset-required { "LoginProfile": { "UserName": "MyUser", "CreateDate": "2018-12-14T17:27:18Z", "PasswordResetRequired": true } }

您可以使用 update-login-profile 命令更改用户的密码。

$ aws iam update-login-profile --user-name MyUser --password My!User1ADifferentP@ssword

为 IAM 用户创建访问密钥

您可以使用 create-access-key 命令为用户创建访问密钥。访问密钥是一组安全凭证,由访问密钥 ID 和私有密钥组成。

用户一次只能创建两个访问密钥。如果您尝试创建第三组,则命令返回 LimitExceeded 错误。

$ aws iam create-access-key --user-name MyUser { "AccessKey": { "UserName": "MyUser", "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "Status": "Active", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "CreateDate": "2018-12-14T17:34:16Z" } }

使用 delete-access-key 命令为用户删除访问密钥。使用访问密钥 ID 指定要删除的访问密钥。

$ aws iam delete-access-key --user-name MyUser --access-key-id AKIAIOSFODNN7EXAMPLE