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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用的 IAM 示例 Amazon CLI

以下代码示例向您展示了如何使用 with IAM 来执行操作和实现常见场景。 Amazon Command Line Interface

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景和跨服务示例的上下文查看操作。

场景是展示如何通过在同一服务中调用多个函数来完成特定任务任务的代码示例。

每个示例都包含一个指向的链接 GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 add-client-id-to-open-id-connect-provider

Amazon CLI

将客户端 ID(受众)添加到 Open-ID Connect(OIDC)提供者

以下 add-client-id-to-open-id-connect-provider 命令将客户端 ID my-application-ID 添加到名为 server.example.com 的 OIDC 提供者。

aws iam add-client-id-to-open-id-connect-provider \ --client-id my-application-ID \ --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/server.example.com

此命令不生成任何输出。

要创建 OIDC 提供者,请使用 create-open-id-connect-provider 命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者

以下代码示例演示如何使用 add-role-to-instance-profile

Amazon CLI

向实例配置文件添加角色

以下 add-role-to-instance-profile 命令可将名为 S3Access 的角色添加到名为 Webserver 的实例配置文件。

aws iam add-role-to-instance-profile \ --role-name S3Access \ --instance-profile-name Webserver

此命令不生成任何输出。

要创建实例配置文件,请使用 create-instance-profile 命令。

有关更多信息,请参阅《IAM 用户指南》中的使用 IAM 角色为 Amazon EC2 实例上运行的应用程序授予权限Amazon

以下代码示例演示如何使用 add-user-to-group

Amazon CLI

要将用户添加到 IAM 组

以下 add-user-to-group 命令可将名为 Bob 的 IAM 用户添加到名为 Admins 的 IAM 组。

aws iam add-user-to-group \ --user-name Bob \ --group-name Admins

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 IAM 用户组中添加和删除用户

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考AddUserToGroup中的。

以下代码示例演示如何使用 attach-group-policy

Amazon CLI

将托管策略附加到 IAM 组

以下attach-group-policy命令将名为的 Amazon 托管策略附加ReadOnlyAccess到名为的 IAM 组Finance

aws iam attach-group-policy \ --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess \ --group-name Finance

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的托管策略和内联策略

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考AttachGroupPolicy中的。

以下代码示例演示如何使用 attach-role-policy

Amazon CLI

要将托管策略附加到 IAM 角色

以下attach-role-policy命令将名为的 Amazon 托管策略附加ReadOnlyAccess到名为的 IAM 角色ReadOnlyRole

aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess \ --role-name ReadOnlyRole

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的托管策略和内联策略

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考AttachRolePolicy中的。

以下代码示例演示如何使用 attach-user-policy

Amazon CLI

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

以下attach-user-policy命令将名为的 Amazon 托管策略附加AdministratorAccess到名为的 IAM 用户Alice

aws iam attach-user-policy \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess \ --user-name Alice

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的托管策略和内联策略

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考AttachUserPolicy中的。

以下代码示例演示如何使用 change-password

Amazon CLI

更改 IAM 用户的密码

要更改 IAM 用户的密码,建议使用 --cli-input-json 参数传递包含新旧密码的 JSON 文件。通过此方法,您可以使用含有非字母数字字符的强密码。将密码作为命令行参数传递时,可能难以使用含有非字母数字字符的密码。要使用 --cli-input-json 参数,请先使用带 --generate-cli-skeleton 参数的 change-password 命令,如以下示例所示。

aws iam change-password \ --generate-cli-skeleton > change-password.json

前述命令创建一个名为 change-password.json 的 JSON 文件,您可以用该文件来填写旧密码和新密码。例如,该文件可能如下所示。

{ "OldPassword": "3s0K_;xh4~8XXI", "NewPassword": "]35d/{pB9Fo9wJ" }

接下来,要更改密码,请再次使用 change-password 命令,这次是传递 --cli-input-json 参数以指定您的 JSON 文件。以下 change-password 命令将 --cli-input-json 参数与名为 change-password.json 的 JSON 文件一起使用。

aws iam change-password \ --cli-input-json file://change-password.json

此命令不生成任何输出。

此命令只能由 IAM 用户调用。如果使用 Amazon 账户(根)凭据调用此命令,则该命令将返回InvalidUserType错误。

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 用户如何更改自己的密码

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ChangePassword中的。

以下代码示例演示如何使用 create-access-key

Amazon CLI

要为 IAM 用户创建访问密钥

以下 create-access-key 命令将创建名为 Bob IAM 用户的访问密钥(访问密钥 ID 和秘密访问密钥)。

aws iam create-access-key \ --user-name Bob

输出:

{ "AccessKey": { "UserName": "Bob", "Status": "Active", "CreateDate": "2015-03-09T18:39:23.411Z", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", "AccessKeyId": "AKIAIOSFODNN7EXAMPLE" } }

将秘密访问密钥存储在安全位置。如果访问密钥丢失,将无法恢复,必须创建一个新的访问密钥。

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户的访问密钥

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateAccessKey中的。

以下代码示例演示如何使用 create-account-alias

Amazon CLI

要创建账户别名

以下create-account-alias命令examplecorp为您的 Amazon 账户创建别名。

aws iam create-account-alias \ --account-alias examplecorp

此命令不生成任何输出。

有关更多信息,请参阅 Amazon IAM 用户指南中的您的 Amazon 账户 ID 及其别名

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateAccountAlias中的。

以下代码示例演示如何使用 create-group

Amazon CLI

创建 IAM 组

以下 create-group 命令将创建名为 Admins 的 IAM 组。

aws iam create-group \ --group-name Admins

输出:

{ "Group": { "Path": "/", "CreateDate": "2015-03-09T20:30:24.940Z", "GroupId": "AIDGPMS9RO4H3FEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/Admins", "GroupName": "Admins" } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM 用户组

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateGroup中的。

以下代码示例演示如何使用 create-instance-profile

Amazon CLI

要创建实例配置文件

以下 create-instance-profile 命令将创建名为 Webserver 的实例配置文件。

aws iam create-instance-profile \ --instance-profile-name Webserver

输出:

{ "InstanceProfile": { "InstanceProfileId": "AIPAJMBYC7DLSPEXAMPLE", "Roles": [], "CreateDate": "2015-03-09T20:33:19.626Z", "InstanceProfileName": "Webserver", "Path": "/", "Arn": "arn:aws:iam::123456789012:instance-profile/Webserver" } }

要将角色添加到实例配置文件,请使用 add-role-to-instance-profile 命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的使用 IAM 角色为 Amazon EC2 实例上运行的应用程序授予权限

以下代码示例演示如何使用 create-login-profile

Amazon CLI

为 IAM 用户创建密码

要为 IAM 用户创建密码,建议使用 --cli-input-json 参数传递包含密码的 JSON 文件。通过此方法,您可以创建含有非字母数字字符的强密码。将密码作为命令行参数传递时,可能难以创建含有非字母数字字符的密码。

要使用 --cli-input-json 参数,请先使用带 --generate-cli-skeleton 参数的 create-login-profile 命令,如以下示例所示。

aws iam create-login-profile \ --generate-cli-skeleton > create-login-profile.json

前面的命令创建了一个名为 create-login-profile .json 的 JSON 文件,您可以使用该文件为后续create-login-profile命令填写信息。例如:

{ "UserName": "Bob", "Password": "&1-3a6u:RA0djs", "PasswordResetRequired": true }

接下来,要为 IAM 用户创建密码,请再次使用 create-login-profile 命令,这次是传递 --cli-input-json 参数以指定您的 JSON 文件。以下create-login-profile命令将--cli-input-json参数与名为 create-login-profile .json 的 JSON 文件一起使用。

aws iam create-login-profile \ --cli-input-json file://create-login-profile.json

输出:

{ "LoginProfile": { "UserName": "Bob", "CreateDate": "2015-03-10T20:55:40.274Z", "PasswordResetRequired": true } }

如果新密码违反了账户密码策略,则该命令将返回 PasswordPolicyViolation 错误。

要更改已有密码用户的密码,请使用 update-login-profile。要为账户设置密码策略,请使用 update-account-password-policy 命令。

如果账户密码策略允许,则 IAM 用户可以使用 change-password 命令更改自己的密码。

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户的密码

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateLoginProfile中的。

以下代码示例演示如何使用 create-open-id-connect-provider

Amazon CLI

创建 OpenID Connect(OIDC)提供者

要创建 OpenID Connect(OIDC)提供者,建议使用 --cli-input-json 参数来传递包含所需参数的 JSON 文件。创建 OIDC 提供者时,必须传递提供者的 URL,而且 URL 必须以 https:// 开头。将 URL 作为命令行参数传递可能很困难,因为冒号(:)和正斜杠(/)字符在某些命令行环境中具有特殊含义。使用 --cli-input-json 参数可以绕过这一限制。

要使用 --cli-input-json 参数,请先使用带 --generate-cli-skeleton 参数的 create-open-id-connect-provider 命令,如以下示例所示。

aws iam create-open-id-connect-provider \ --generate-cli-skeleton > create-open-id-connect-provider.json

前面的命令创建了一个名为 create-open-id-connect-provider.json 的 JSON 文件,你可以用它来填写后续命令的信息。create-open-id-connect-provider例如:

{ "Url": "https://server.example.com", "ClientIDList": [ "example-application-ID" ], "ThumbprintList": [ "c3768084dfb3d2b68b7897bf5f565da8eEXAMPLE" ] }

接下来,要创建 OpenID Connect(OIDC)提供者,请再次使用 create-open-id-connect-provider 命令,这次是传递 --cli-input-json 参数以指定您的 JSON 文件。以下create-open-id-connect-provider命令将--cli-input-json参数与名为 create-open-id-connect-provider.json 的 JSON 文件一起使用。

aws iam create-open-id-connect-provider \ --cli-input-json file://create-open-id-connect-provider.json

输出:

{ "OpenIDConnectProviderArn": "arn:aws:iam::123456789012:oidc-provider/server.example.com" }

有关 OIDC 提供者的更多信息,请参阅《Amazon IAM 用户指南》中的创建 OpenID Connect(OIDC)身份提供者

有关获取 OIDC 提供者指纹的更多信息,请参阅《Amazon IAM 用户指南》中的获取 OpenID Connect 身份提供者的指纹

以下代码示例演示如何使用 create-policy-version

Amazon CLI

要创建新版本的托管策略

此示例创建了一个新的 v2 版本的 IAM policy,其 ARN 为 arn:aws:iam::123456789012:policy/MyPolicy,并设为默认版本。

aws iam create-policy-version \ --policy-arn arn:aws:iam::123456789012:policy/MyPolicy \ --policy-document file://NewPolicyVersion.json \ --set-as-default

输出:

{ "PolicyVersion": { "CreateDate": "2015-06-16T18:56:03.721Z", "VersionId": "v2", "IsDefaultVersion": true } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM policy 版本控制

以下代码示例演示如何使用 create-policy

Amazon CLI

示例 1:创建客户管理型策略

以下命令将创建名为 my-policy 的客户管理型策略。

aws iam create-policy \ --policy-name my-policy \ --policy-document file://policy

policy 文件是当前文件夹中的一个 JSON 文档,它授予对名为 my-bucket 的 Amazon S3 存储桶中 shared 文件夹的只读权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::my-bucket/shared/*" ] } ] }

输出:

{ "Policy": { "PolicyName": "my-policy", "CreateDate": "2015-06-01T19:31:18.620Z", "AttachmentCount": 0, "IsAttachable": true, "PolicyId": "ZXR6A36LTYANPAI7NJ5UV", "DefaultVersionId": "v1", "Path": "/", "Arn": "arn:aws:iam::0123456789012:policy/my-policy", "UpdateDate": "2015-06-01T19:31:18.620Z" } }

有关使用文件作为字符串参数输入的更多信息,请参阅 Amazon CLI 用户指南中的为 CL Amazon I 指定参数值

示例 2:创建带有描述的客户管理型策略

以下命令将创建名为 my-policy 且带有不可变描述的客户管理型策略:

aws iam create-policy \ --policy-name my-policy \ --policy-document file://policy.json \ --description "This policy grants access to all Put, Get, and List actions for my-bucket"

policy.json 文件是当前文件夹中的一个 JSON 文档,它授予对名为 my-bucket 的 Amazon S3 存储桶的所有 Put、List 和 Get 操作的访问权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket*", "s3:PutBucket*", "s3:GetBucket*" ], "Resource": [ "arn:aws:s3:::my-bucket" ] } ] }

输出:

{ "Policy": { "PolicyName": "my-policy", "PolicyId": "ANPAWGSUGIDPEXAMPLE", "Arn": "arn:aws:iam::123456789012:policy/my-policy", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2023-05-24T22:38:47+00:00", "UpdateDate": "2023-05-24T22:38:47+00:00" } }

有关基于身份的策略的更多信息,请参阅《Amazon IAM 用户指南》中的基于身份的策略和基于资源的策略

示例 3:创建带有标签的客户管理型策略

以下命令将创建名为 my-policy 且带有标签的客户管理型策略。此示例使用带有以下 JSON 格式标签的 --tags 参数标志:'{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'。或者,--tags 标志可与简写格式的标签一起使用:'Key=Department,Value=Accounting Key=Location,Value=Seattle'

aws iam create-policy \ --policy-name my-policy \ --policy-document file://policy.json \ --tags '{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'

policy.json 文件是当前文件夹中的一个 JSON 文档,它授予对名为 my-bucket 的 Amazon S3 存储桶的所有 Put、List 和 Get 操作的访问权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket*", "s3:PutBucket*", "s3:GetBucket*" ], "Resource": [ "arn:aws:s3:::my-bucket" ] } ] }

输出:

{ "Policy": { "PolicyName": "my-policy", "PolicyId": "ANPAWGSUGIDPEXAMPLE", "Arn": "arn:aws:iam::12345678012:policy/my-policy", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2023-05-24T23:16:39+00:00", "UpdateDate": "2023-05-24T23:16:39+00:00", "Tags": [ { "Key": "Department", "Value": "Accounting" }, "Key": "Location", "Value": "Seattle" { ] } }

有关标记策略的更多信息,请参阅《Amazon IAM 用户指南》中的标记客户管理型策略

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreatePolicy中的。

以下代码示例演示如何使用 create-role

Amazon CLI

示例 1:创建 IAM 角色

以下 create-role 命令将创建一个名为 Test-Role 的角色并对其附加信任策略。

aws iam create-role \ --role-name Test-Role \ --assume-role-policy-document file://Test-Role-Trust-Policy.json

输出:

{ "Role": { "AssumeRolePolicyDocument": "<URL-encoded-JSON>", "RoleId": "AKIAIOSFODNN7EXAMPLE", "CreateDate": "2013-06-07T20:43:32.821Z", "RoleName": "Test-Role", "Path": "/", "Arn": "arn:aws:iam::123456789012:role/Test-Role" } }

信任策略在 Test-Role-Trust-Policy.json 文件中定义为 JSON 文档。(文件名和扩展名没有意义。) 信任策略必须指定主体。

要将权限策略附加到角色,请使用 put-role-policy 命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM 角色

示例 2:创建具有指定最长会话持续时间的 IAM 角色

以下 create-role 命令将创建一个名为 Test-Role 的角色,并将最长会话持续时间设置为 7200 秒(2 小时)。

aws iam create-role \ --role-name Test-Role \ --assume-role-policy-document file://Test-Role-Trust-Policy.json \ --max-session-duration 7200

输出:

{ "Role": { "Path": "/", "RoleName": "Test-Role", "RoleId": "AKIAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::12345678012:role/Test-Role", "CreateDate": "2023-05-24T23:50:25+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678012:root" }, "Action": "sts:AssumeRole" } ] } } }

有关更多信息,请参阅 I Amazon AM 用户指南中的修改角色最长会话持续时间 (Amazon API)

示例 3:创建带有标签的 IAM 角色

以下命令将创建带有标签的 IAM 角色 Test-Role。此示例使用带有以下 JSON 格式标签的 --tags 参数标志:'{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'。或者,--tags 标志可与简写格式的标签一起使用:'Key=Department,Value=Accounting Key=Location,Value=Seattle'

aws iam create-role \ --role-name Test-Role \ --assume-role-policy-document file://Test-Role-Trust-Policy.json \ --tags '{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'

输出:

{ "Role": { "Path": "/", "RoleName": "Test-Role", "RoleId": "AKIAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::123456789012:role/Test-Role", "CreateDate": "2023-05-25T23:29:41+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "sts:AssumeRole" } ] }, "Tags": [ { "Key": "Department", "Value": "Accounting" }, { "Key": "Location", "Value": "Seattle" } ] } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 角色

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateRole中的。

以下代码示例演示如何使用 create-saml-provider

Amazon CLI

要创建 SAML 提供者

此示例在 IAM 中创建了一个名为 MySAMLProvider 的新 SAML 提供者。SAMLMetaData.xml 文件中的 SAML 元数据文档对其进行了描述。

aws iam create-saml-provider \ --saml-metadata-document file://SAMLMetaData.xml \ --name MySAMLProvider

输出:

{ "SAMLProviderArn": "arn:aws:iam::123456789012:saml-provider/MySAMLProvider" }

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM SAML 身份提供者

  • 有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 CreateSAMLProvider

以下代码示例演示如何使用 create-service-linked-role

Amazon CLI

要创建服务相关角色

以下create-service-linked-role示例为指定 Amazon 服务创建服务相关角色并附加指定的描述。

aws iam create-service-linked-role \ --aws-service-name lex.amazonaws.com \ --description "My service-linked role to support Lex"

输出:

{ "Role": { "Path": "/aws-service-role/lex.amazonaws.com/", "RoleName": "AWSServiceRoleForLexBots", "RoleId": "AROA1234567890EXAMPLE", "Arn": "arn:aws:iam::1234567890:role/aws-service-role/lex.amazonaws.com/AWSServiceRoleForLexBots", "CreateDate": "2019-04-17T20:34:14+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Effect": "Allow", "Principal": { "Service": [ "lex.amazonaws.com" ] } } ] } } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的使用服务相关角色

以下代码示例演示如何使用 create-service-specific-credential

Amazon CLI

为用户创建一组特定于服务的凭证

以下create-service-specific-credential示例创建的用户名和密码只能用于访问已配置的服务。

aws iam create-service-specific-credential \ --user-name sofia \ --service-name codecommit.amazonaws.com

输出:

{ "ServiceSpecificCredential": { "CreateDate": "2019-04-18T20:45:36+00:00", "ServiceName": "codecommit.amazonaws.com", "ServiceUserName": "sofia-at-123456789012", "ServicePassword": "k1zPZM6uVxMQ3oxqgoYlNuJPyRTZ1vREs76zTQE3eJk=", "ServiceSpecificCredentialId": "ACCAEXAMPLE123EXAMPLE", "UserName": "sofia", "Status": "Active" } }

有关更多信息,请参阅《Amazon CodeCommit 用户指南》 CodeCommit中的创建 HTTPS 连接的 Git 凭证

以下代码示例演示如何使用 create-user

Amazon CLI

示例 1:创建 IAM 用户

以下 create-user 命令可在当前账户中创建一个名为 Bob 的 IAM 用户。

aws iam create-user \ --user-name Bob

输出:

{ "User": { "UserName": "Bob", "Path": "/", "CreateDate": "2023-06-08T03:20:41.270Z", "UserId": "AIDAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/Bob" } }

有关更多信息,请参阅 IAM 用户指南中的在您的 Amazon 账户中创建Amazon IAM 用户

示例 2:在指定路径创建 IAM 用户

以下 create-user 命令可在指定路径创建一个名为 Bob 的 IAM 用户。

aws iam create-user \ --user-name Bob \ --path /division_abc/subdivision_xyz/

输出:

{ "User": { "Path": "/division_abc/subdivision_xyz/", "UserName": "Bob", "UserId": "AIDAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::12345678012:user/division_abc/subdivision_xyz/Bob", "CreateDate": "2023-05-24T18:20:17+00:00" } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 标识符

示例 3:创建带有标签的 IAM 用户

以下 create-user 命令将创建一个名为 Bob 且带有标签的 IAM 用户。此示例使用带有以下 JSON 格式标签的 --tags 参数标志:'{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'。或者,--tags 标志可与简写格式的标签一起使用:'Key=Department,Value=Accounting Key=Location,Value=Seattle'

aws iam create-user \ --user-name Bob \ --tags '{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'

输出:

{ "User": { "Path": "/", "UserName": "Bob", "UserId": "AIDAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::12345678012:user/Bob", "CreateDate": "2023-05-25T17:14:21+00:00", "Tags": [ { "Key": "Department", "Value": "Accounting" }, { "Key": "Location", "Value": "Seattle" } ] } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 用户

示例 3:创建具有设定权限边界的 IAM 用户

以下create-user命令创建一个名为的 IAM 用户,Bob其权限范围为 AmazonS3 FullAccess。

aws iam create-user \ --user-name Bob \ --permissions-boundary arn:aws:iam::aws:policy/AmazonS3FullAccess

输出:

{ "User": { "Path": "/", "UserName": "Bob", "UserId": "AIDAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::12345678012:user/Bob", "CreateDate": "2023-05-24T17:50:53+00:00", "PermissionsBoundary": { "PermissionsBoundaryType": "Policy", "PermissionsBoundaryArn": "arn:aws:iam::aws:policy/AmazonS3FullAccess" } } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 实体的权限边界

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateUser中的。

以下代码示例演示如何使用 create-virtual-mfa-device

Amazon CLI

创建虚拟 MFA 设备

此示例创建名为 BobsMFADevice 的新虚拟 MFA 设备。它会创建一个包含引导信息的、名为 QRCode.png 的文件,并将其放在 C:/ 目录中。本示例中使用的引导方法为 QRCodePNG

aws iam create-virtual-mfa-device \ --virtual-mfa-device-name BobsMFADevice \ --outfile C:/QRCode.png \ --bootstrap-method QRCodePNG

输出:

{ "VirtualMFADevice": { "SerialNumber": "arn:aws:iam::210987654321:mfa/BobsMFADevice" }

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 Amazon中使用多重身份验证(MFA)

以下代码示例演示如何使用 deactivate-mfa-device

Amazon CLI

停用 MFA 设备

此命令使用与用户 Bob 关联的 ARN arn:aws:iam::210987654321:mfa/BobsMFADevice 停用虚拟 MFA 设备。

aws iam deactivate-mfa-device \ --user-name Bob \ --serial-number arn:aws:iam::210987654321:mfa/BobsMFADevice

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 Amazon中使用多重身份验证(MFA)

以下代码示例演示如何使用 decode-authorization-message

Amazon CLI

解码授权失败消息

以下decode-authorization-message示例解码 EC2 控制台在没有所需权限的情况下尝试启动实例时返回的消息。

aws sts decode-authorization-message \ --encoded-message lxzA8VEjEvu-s0TTt3PgYCXik9YakOqsrFJGRZR98xNcyWAxwRq14xIvd-npzbgTevuufCTbjeBAaDARg9cbTK1rJbg3awM33o-Vy3ebPErE2-mWR9hVYdvX-0zKgVOWF9pWjZaJSMqxB-aLXo-I_8TTvBq88x8IFPbMArNdpu0IjxDjzf22PF3SOE3XvIQ-_PEO0aUqHCCcsSrFtvxm6yQD1nbm6VTIVrfa0Bzy8lsoMo7SjIaJ2r5vph6SY5vCCwg6o2JKe3hIHTa8zRrDbZSFMkcXOT6EOPkQXmaBsAC6ciG7Pz1JnEOvuj5NSTlSMljrAXczWuRKAs5GsMYiU8KZXZhokVzdQCUZkS5aVHumZbadu0io53jpgZqhMqvS4fyfK4auK0yKRMtS6JCXPlhkolEs7ZMFA0RVkutqhQqpSDPB5SX5l00lYipWyFK0_AyAx60vumPuVh8P0AzXwdFsT0l4D0m42NFIKxbWXsoJdqaOqVFyFEd0-Xx9AYAAIr6bhcis7C__bZh4dlAAWooHFGKgfoJcWGwgdzgbu9hWyVvKTpeot5hsb8qANYjJRCPXTKpi6PZfdijIkwb6gDMEsJ9qMtr62qP_989mwmtNgnVvBa_ir6oxJxVe_kL9SH1j5nsGDxQFajvPQhxWOHvEQIg_H0bnKWk

输出格式为 JSON 文本的单行 JSON 文本字符串,您可以使用任何 JSON 文本处理器对其进行解析。

{ "DecodedMessage": "{\"allowed\":false,\"explicitDeny\":false,\"matchedStatements\":{\"items\":[]},\"failures\":{\"items\":[]},\"context\":{\"principal\":{\"id\":\"AIDAV3ZUEFP6J7GY7O6LO\",\"name\":\"chain-user\",\"arn\":\"arn:aws:iam::403299380220:user/chain-user\"},\"action\":\"ec2:RunInstances\",\"resource\":\"arn:aws:ec2:us-east-2:403299380220:instance/*\",\"conditions\":{\"items\":[{\"key\":\"ec2:InstanceMarketType\",\"values\":{\"items\":[{\"value\":\"on-demand\"}]}},{\"key\":\"aws:Resource\",\"values\":{\"items\":[{\"value\":\"instance/*\"}]}},{\"key\":\"aws:Account\",\"values\":{\"items\":[{\"value\":\"403299380220\"}]}},{\"key\":\"ec2:AvailabilityZone\",\"values\":{\"items\":[{\"value\":\"us-east-2b\"}]}},{\"key\":\"ec2:ebsOptimized\",\"values\":{\"items\":[{\"value\":\"false\"}]}},{\"key\":\"ec2:IsLaunchTemplateResource\",\"values\":{\"items\":[{\"value\":\"false\"}]}},{\"key\":\"ec2:InstanceType\",\"values\":{\"items\":[{\"value\":\"t2.micro\"}]}},{\"key\":\"ec2:RootDeviceType\",\"values\":{\"items\":[{\"value\":\"ebs\"}]}},{\"key\":\"aws:Region\",\"values\":{\"items\":[{\"value\":\"us-east-2\"}]}},{\"key\":\"aws:Service\",\"values\":{\"items\":[{\"value\":\"ec2\"}]}},{\"key\":\"ec2:InstanceID\",\"values\":{\"items\":[{\"value\":\"*\"}]}},{\"key\":\"aws:Type\",\"values\":{\"items\":[{\"value\":\"instance\"}]}},{\"key\":\"ec2:Tenancy\",\"values\":{\"items\":[{\"value\":\"default\"}]}},{\"key\":\"ec2:Region\",\"values\":{\"items\":[{\"value\":\"us-east-2\"}]}},{\"key\":\"aws:ARN\",\"values\":{\"items\":[{\"value\":\"arn:aws:ec2:us-east-2:403299380220:instance/*\"}]}}]}}}" }

有关更多信息,请参阅在 EC2 实例启动期间收到 “UnauthorizedOperation” 错误后如何解码授权失败消息? 在 re Amazon : post 中。

以下代码示例演示如何使用 delete-access-key

Amazon CLI

要删除 IAM 用户的访问密钥

以下 delete-access-key 命令将删除名为 Bob IAM 用户的指定访问密钥(访问密钥 ID 和秘密访问密钥)。

aws iam delete-access-key \ --access-key-id AKIDPMS9RO4H3FEXAMPLE \ --user-name Bob

此命令不生成任何输出。

要列出为 IAM 用户定义的访问密钥,请使用 list-access-keys 命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户的访问密钥

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteAccessKey中的。

以下代码示例演示如何使用 delete-account-alias

Amazon CLI

要删除账户别名

以下 delete-account-alias 命令将删除当前账户的别名 mycompany

aws iam delete-account-alias \ --account-alias mycompany

此命令不生成任何输出。

有关更多信息,请参阅 Amazon IAM 用户指南中的您的 Amazon 账户 ID 及其别名

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteAccountAlias中的。

以下代码示例演示如何使用 delete-account-password-policy

Amazon CLI

删除当前账户密码策略

以下 delete-account-password-policy 命令将删除当前账户的密码策略。

aws iam delete-account-password-policy

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的为 IAM 用户设置账户密码策略

以下代码示例演示如何使用 delete-group-policy

Amazon CLI

要从 IAM 组中删除策略

以下 delete-group-policy 命令可将名为 ExamplePolicy 的策略从名为 Admins 的组中删除。

aws iam delete-group-policy \ --group-name Admins \ --policy-name ExamplePolicy

此命令不生成任何输出。

要查看附加到组的策略,请使用 list-group-policies 命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM policy

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteGroupPolicy中的。

以下代码示例演示如何使用 delete-group

Amazon CLI

要删除 IAM 组

以下 delete-group 命令将删除名为 MyTestGroup 的 IAM 组。

aws iam delete-group \ --group-name MyTestGroup

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的删除 IAM 用户组

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteGroup中的。

以下代码示例演示如何使用 delete-instance-profile

Amazon CLI

要删除实例配置文件

以下 delete-instance-profile 命令将删除名为 ExampleInstanceProfile 的实例配置文件。

aws iam delete-instance-profile \ --instance-profile-name ExampleInstanceProfile

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的使用实例配置文件

以下代码示例演示如何使用 delete-login-profile

Amazon CLI

删除 IAM 用户的密码

以下 delete-login-profile 命令删除名为 Bob 的 IAM 用户的密码。

aws iam delete-login-profile \ --user-name Bob

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户的密码

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteLoginProfile中的。

以下代码示例演示如何使用 delete-open-id-connect-provider

Amazon CLI

删除 IAM OpenID Connect 身份提供者

此示例删除了连接到提供者 example.oidcprovider.com 的 IAM OIDC 提供者。

aws iam delete-open-id-connect-provider \ --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者

以下代码示例演示如何使用 delete-policy-version

Amazon CLI

删除托管策略的某个版本

此示例从 ARN 为 arn:aws:iam::123456789012:policy/MySamplePolicy 的策略中删除标识为 v2 的版本。

aws iam delete-policy-version \ --policy-arn arn:aws:iam::123456789012:policy/MyPolicy \ --version-id v2

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

以下代码示例演示如何使用 delete-policy

Amazon CLI

要删除 IAM policy

此示例删除了 ARN 为 arn:aws:iam::123456789012:policy/MySamplePolicy 的策略。

aws iam delete-policy \ --policy-arn arn:aws:iam::123456789012:policy/MySamplePolicy

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeletePolicy中的。

以下代码示例演示如何使用 delete-role-permissions-boundary

Amazon CLI

删除 IAM 角色的权限边界

以下 delete-role-permissions-boundary 示例删除指定 IAM 角色的权限边界。要对角色应用权限边界,请使用 put-role-permissions-boundary 命令。

aws iam delete-role-permissions-boundary \ --role-name lambda-application-role

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

以下代码示例演示如何使用 delete-role-policy

Amazon CLI

要从 IAM 角色中删除策略

以下 delete-role-policy 命令可将名为 ExamplePolicy 的策略从名为 Test-Role 的角色中删除。

aws iam delete-role-policy \ --role-name Test-Role \ --policy-name ExamplePolicy

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的修改角色

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteRolePolicy中的。

以下代码示例演示如何使用 delete-role

Amazon CLI

要删除 IAM 角色

以下 delete-role 命令将删除名为 Test-Role 的角色。

aws iam delete-role \ --role-name Test-Role

此命令不生成任何输出。

在删除角色之前,必须从所有实例配置文件中删除该角色(remove-role-from-instance-profile),分离所有托管策略(detach-role-policy),删除附加到该角色的所有内联策略(delete-role-policy)。

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM 角色使用实例配置文件

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteRole中的。

以下代码示例演示如何使用 delete-saml-provider

Amazon CLI

要删除 SAML 提供者

此示例删除了 ARN 为 arn:aws:iam::123456789012:saml-provider/SAMLADFSProvider 的 IAM SAML 2.0 提供者。

aws iam delete-saml-provider \ --saml-provider-arn arn:aws:iam::123456789012:saml-provider/SAMLADFSProvider

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM SAML 身份提供者

  • 有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 DeleteSAMLProvider

以下代码示例演示如何使用 delete-server-certificate

Amazon CLI

从您的 Amazon 账户中删除服务器证书

以下delete-server-certificate命令从您的 Amazon 账户中删除指定的服务器证书。

aws iam delete-server-certificate \ --server-certificate-name myUpdatedServerCertificate

此命令不生成任何输出。

要列出您 Amazon 账户中可用的服务器证书,请使用list-server-certificates命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 IAM 中管理服务器证书

以下代码示例演示如何使用 delete-service-linked-role

Amazon CLI

要删除服务相关角色

以下 delete-service-linked-role 示例将删除您不再需要的指定服务相关角色。删除操作异步进行。您也可以使用 get-service-linked-role-deletion-status 命令查看删除状态并确认何时删除。

aws iam delete-service-linked-role \ --role-name AWSServiceRoleForLexBots

输出:

{ "DeletionTaskId": "task/aws-service-role/lex.amazonaws.com/AWSServiceRoleForLexBots/1a2b3c4d-1234-abcd-7890-abcdeEXAMPLE" }

有关更多信息,请参阅《Amazon IAM 用户指南》中的使用服务相关角色

以下代码示例演示如何使用 delete-service-specific-credential

Amazon CLI

示例 1:删除请求用户的特定服务凭证

以下delete-service-specific-credential示例删除了发出请求的用户的指定服务特定凭证。service-specific-credential-id是在您创建凭据时提供的,您可以使用list-service-specific-credentials命令进行检索。

aws iam delete-service-specific-credential \ --service-specific-credential-id ACCAEXAMPLE123EXAMPLE

此命令不生成任何输出。

示例 2:删除指定用户的服务专用凭证

以下delete-service-specific-credential示例删除指定用户的指定服务专用凭证。service-specific-credential-id是在您创建凭据时提供的,您可以使用list-service-specific-credentials命令进行检索。

aws iam delete-service-specific-credential \ --user-name sofia \ --service-specific-credential-id ACCAEXAMPLE123EXAMPLE

此命令不生成任何输出。

有关更多信息,请参阅《Amazon CodeCommit 用户指南》 CodeCommit中的创建 HTTPS 连接的 Git 凭证

以下代码示例演示如何使用 delete-signing-certificate

Amazon CLI

删除 IAM 用户的签名证书

以下 delete-signing-certificate 命令删除名为 Bob 的 IAM 用户的指定签名证书。

aws iam delete-signing-certificate \ --user-name Bob \ --certificate-id TA7SMP42TDN5Z26OBPJE7EXAMPLE

此命令不生成任何输出。

要获取签名证书的 ID,请使用 list-signing-certificates 命令。

有关更多信息,请参阅《Amazon EC2 用户指南》中的管理签名证书

以下代码示例演示如何使用 delete-ssh-public-key

Amazon CLI

删除附加到 IAM 用户的 SSH 公钥

以下delete-ssh-public-key命令删除附加到 IAM 用户的指定 SSH 公钥sofia

aws iam delete-ssh-public-key \ --user-name sofia \ --ssh-public-key-id APKA123456789EXAMPLE

此命令不生成任何输出。

有关更多信息,请参阅 Amazon IAM 用户指南 CodeCommit中的使用 SSH 密钥和 SSH

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteSshPublicKey中的。

以下代码示例演示如何使用 delete-user-permissions-boundary

Amazon CLI

删除 IAM 用户的权限边界

以下 delete-user-permissions-boundary 示例删除了附加到名为 intern 的 IAM 用户的权限边界。要对用户应用权限边界,请使用 put-user-permissions-boundary 命令。

aws iam delete-user-permissions-boundary \ --user-name intern

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

以下代码示例演示如何使用 delete-user-policy

Amazon CLI

要从 IAM 用户中删除策略

以下 delete-user-policy 命令可将指定策略从名为 Bob 的 IAM 用户中删除。

aws iam delete-user-policy \ --user-name Bob \ --policy-name ExamplePolicy

此命令不生成任何输出。

要获取 IAM 用户的策略列表,请使用 list-user-policies 命令。

有关更多信息,请参阅 IAM 用户指南中的在您的 Amazon 账户中创建Amazon IAM 用户

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteUserPolicy中的。

以下代码示例演示如何使用 delete-user

Amazon CLI

要删除 IAM 用户

以下 delete-user 命令可将名为 Bob 的 IAM 用户从当前账户中删除。

aws iam delete-user \ --user-name Bob

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的删除 IAM 用户

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteUser中的。

以下代码示例演示如何使用 delete-virtual-mfa-device

Amazon CLI

删除虚拟 MFA 设备

以下 delete-virtual-mfa-device 命令从当前账户中删除指定的 MFA 设备。

aws iam delete-virtual-mfa-device \ --serial-number arn:aws:iam::123456789012:mfa/MFATest

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的停用 MFA 设备

以下代码示例演示如何使用 detach-group-policy

Amazon CLI

从组中分离策略

此示例将从名为 Testers 的组重删除 ARN 为 arn:aws:iam::123456789012:policy/TesterAccessPolicy 的托管策略。

aws iam detach-group-policy \ --group-name Testers \ --policy-arn arn:aws:iam::123456789012:policy/TesterAccessPolicy

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户组

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DetachGroupPolicy中的。

以下代码示例演示如何使用 detach-role-policy

Amazon CLI

要从角色分离策略

此示例将从名为 FedTesterRole 的角色删除具有 ARN arn:aws:iam::123456789012:policy/FederatedTesterAccessPolicy 的托管策略。

aws iam detach-role-policy \ --role-name FedTesterRole \ --policy-arn arn:aws:iam::123456789012:policy/FederatedTesterAccessPolicy

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的修改角色

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DetachRolePolicy中的。

以下代码示例演示如何使用 detach-user-policy

Amazon CLI

要从用户分离策略

此示例将从用户 Bob 删除具有 ARN arn:aws:iam::123456789012:policy/TesterPolicy 的托管策略。

aws iam detach-user-policy \ --user-name Bob \ --policy-arn arn:aws:iam::123456789012:policy/TesterPolicy

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的更改 IAM 用户的权限

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DetachUserPolicy中的。

以下代码示例演示如何使用 enable-mfa-device

Amazon CLI

启用 MFA 设备

使用 create-virtual-mfa-device 命令创建新的虚拟 MFA 设备后,您可以将 MFA 设备分配给用户。以下 enable-mfa-device 示例将序列号为 arn:aws:iam::210987654321:mfa/BobsMFADevice 的 MFA 设备分配给用户 Bob。该命令还 Amazon 通过按顺序包含虚拟 MFA 设备中的前两个代码来与设备同步。

aws iam enable-mfa-device \ --user-name Bob \ --serial-number arn:aws:iam::210987654321:mfa/BobsMFADevice \ --authentication-code1 123456 \ --authentication-code2 789012

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的启用虚拟多重身份验证(MFA)设备

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考EnableMfaDevice中的。

以下代码示例演示如何使用 generate-credential-report

Amazon CLI

要生成凭证报告

以下示例尝试为该 Amazon 账户生成凭证报告。

aws iam generate-credential-report

输出:

{ "State": "STARTED", "Description": "No report exists. Starting a new report generation task" }

有关更多信息,请参阅 Amazon IAM 用户指南中的获取 Amazon 账户的凭证报告

以下代码示例演示如何使用 generate-organizations-access-report

Amazon CLI

示例 1:为组织中的根用户生成访问报告

以下generate-organizations-access-report示例启动后台作业,为组织中的指定根目录创建访问报告。创建报告后,您可以通过运行get-organizations-access-report命令来显示报告。

aws iam generate-organizations-access-report \ --entity-path o-4fxmplt198/r-c3xb

输出:

{ "JobId": "a8b6c06f-aaa4-8xmp-28bc-81da71836359" }

示例 2:为组织中的账户生成访问报告

以下generate-organizations-access-report示例启动后台作业,为组织123456789012中的账户 ID 创建访问报告o-4fxmplt198。创建报告后,您可以通过运行get-organizations-access-report命令来显示报告。

aws iam generate-organizations-access-report \ --entity-path o-4fxmplt198/r-c3xb/123456789012

输出:

{ "JobId": "14b6c071-75f6-2xmp-fb77-faf6fb4201d2" }

示例 3:为组织中组织单位的账户生成访问报告

以下generate-organizations-access-report示例启动后台作业,为组织234567890123中的组织单位ou-c3xb-lmu7j2yg中的账户 ID 创建访问报告o-4fxmplt198。创建报告后,您可以通过运行get-organizations-access-report命令来显示报告。

aws iam generate-organizations-access-report \ --entity-path o-4fxmplt198/r-c3xb/ou-c3xb-lmu7j2yg/234567890123

输出:

{ "JobId": "2eb6c2e6-0xmp-ec04-1425-c937916a64af" }

要获取有关组织中根和组织单位的详细信息,请使用organizations list-rootsorganizations list-organizational-units-for-parent命令。

有关更多信息,请参阅 Amazon IAM 用户指南中的在 Amazon 使用上次访问的信息时细化权限

以下代码示例演示如何使用 generate-service-last-accessed-details

Amazon CLI

示例 1:为自定义策略生成服务访问报告

以下 generate-service-last-accessed-details 示例启动后台作业以生成一份报告,其中列出使用名为 intern-boundary 的自定义策略的 IAM 用户和其他实体所访问的服务。创建报告后,您可以通过运行 get-service-last-accessed-details 命令来显示该报告。

aws iam generate-service-last-accessed-details \ --arn arn:aws:iam::123456789012:policy/intern-boundary

输出:

{ "JobId": "2eb6c2b8-7b4c-3xmp-3c13-03b72c8cdfdc" }

示例 2:为 Amazon 托管 AdministratorAccess 策略生成服务访问报告

以下generate-service-last-accessed-details示例启动后台作业以生成一份报告,其中列出了 IAM 用户和其他实体使用 Amazon 托管AdministratorAccess策略访问的服务。创建报告后,您可以通过运行 get-service-last-accessed-details 命令来显示该报告。

aws iam generate-service-last-accessed-details \ --arn arn:aws:iam::aws:policy/AdministratorAccess

输出:

{ "JobId": "78b6c2ba-d09e-6xmp-7039-ecde30b26916" }

有关更多信息,请参阅 Amazon IAM 用户指南中的在 Amazon 使用上次访问的信息时细化权限

以下代码示例演示如何使用 get-access-key-last-used

Amazon CLI

要检索上次使用指定访问密钥的时间信息

以下示例将检索上次使用访问密钥 ABCDEXAMPLE 的时间信息。

aws iam get-access-key-last-used \ --access-key-id ABCDEXAMPLE

输出:

{ "UserName": "Bob", "AccessKeyLastUsed": { "Region": "us-east-1", "ServiceName": "iam", "LastUsedDate": "2015-06-16T22:45:00Z" } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户的访问密钥

以下代码示例演示如何使用 get-account-authorization-details

Amazon CLI

列出 Amazon 账户 IAM 用户、群组、角色和策略

以下get-account-authorization-details命令返回有关 Amazon 账户中所有 IAM 用户、群组、角色和策略的信息。

aws iam get-account-authorization-details

输出:

{ "RoleDetailList": [ { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }, "RoleId": "AROA1234567890EXAMPLE", "CreateDate": "2014-07-30T17:09:20Z", "InstanceProfileList": [ { "InstanceProfileId": "AIPA1234567890EXAMPLE", "Roles": [ { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }, "RoleId": "AROA1234567890EXAMPLE", "CreateDate": "2014-07-30T17:09:20Z", "RoleName": "EC2role", "Path": "/", "Arn": "arn:aws:iam::123456789012:role/EC2role" } ], "CreateDate": "2014-07-30T17:09:20Z", "InstanceProfileName": "EC2role", "Path": "/", "Arn": "arn:aws:iam::123456789012:instance-profile/EC2role" } ], "RoleName": "EC2role", "Path": "/", "AttachedManagedPolicies": [ { "PolicyName": "AmazonS3FullAccess", "PolicyArn": "arn:aws:iam::aws:policy/AmazonS3FullAccess" }, { "PolicyName": "AmazonDynamoDBFullAccess", "PolicyArn": "arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess" } ], "RoleLastUsed": { "Region": "us-west-2", "LastUsedDate": "2019-11-13T17:30:00Z" }, "RolePolicyList": [], "Arn": "arn:aws:iam::123456789012:role/EC2role" } ], "GroupDetailList": [ { "GroupId": "AIDA1234567890EXAMPLE", "AttachedManagedPolicies": { "PolicyName": "AdministratorAccess", "PolicyArn": "arn:aws:iam::aws:policy/AdministratorAccess" }, "GroupName": "Admins", "Path": "/", "Arn": "arn:aws:iam::123456789012:group/Admins", "CreateDate": "2013-10-14T18:32:24Z", "GroupPolicyList": [] }, { "GroupId": "AIDA1234567890EXAMPLE", "AttachedManagedPolicies": { "PolicyName": "PowerUserAccess", "PolicyArn": "arn:aws:iam::aws:policy/PowerUserAccess" }, "GroupName": "Dev", "Path": "/", "Arn": "arn:aws:iam::123456789012:group/Dev", "CreateDate": "2013-10-14T18:33:55Z", "GroupPolicyList": [] }, { "GroupId": "AIDA1234567890EXAMPLE", "AttachedManagedPolicies": [], "GroupName": "Finance", "Path": "/", "Arn": "arn:aws:iam::123456789012:group/Finance", "CreateDate": "2013-10-14T18:57:48Z", "GroupPolicyList": [ { "PolicyName": "policygen-201310141157", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "aws-portal:*", "Sid": "Stmt1381777017000", "Resource": "*", "Effect": "Allow" } ] } } ] } ], "UserDetailList": [ { "UserName": "Alice", "GroupList": [ "Admins" ], "CreateDate": "2013-10-14T18:32:24Z", "UserId": "AIDA1234567890EXAMPLE", "UserPolicyList": [], "Path": "/", "AttachedManagedPolicies": [], "Arn": "arn:aws:iam::123456789012:user/Alice" }, { "UserName": "Bob", "GroupList": [ "Admins" ], "CreateDate": "2013-10-14T18:32:25Z", "UserId": "AIDA1234567890EXAMPLE", "UserPolicyList": [ { "PolicyName": "DenyBillingAndIAMPolicy", "PolicyDocument": { "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "aws-portal:*", "iam:*" ], "Resource": "*" } } } ], "Path": "/", "AttachedManagedPolicies": [], "Arn": "arn:aws:iam::123456789012:user/Bob" }, { "UserName": "Charlie", "GroupList": [ "Dev" ], "CreateDate": "2013-10-14T18:33:56Z", "UserId": "AIDA1234567890EXAMPLE", "UserPolicyList": [], "Path": "/", "AttachedManagedPolicies": [], "Arn": "arn:aws:iam::123456789012:user/Charlie" } ], "Policies": [ { "PolicyName": "create-update-delete-set-managed-policies", "CreateDate": "2015-02-06T19:58:34Z", "AttachmentCount": 1, "IsAttachable": true, "PolicyId": "ANPA1234567890EXAMPLE", "DefaultVersionId": "v1", "PolicyVersionList": [ { "CreateDate": "2015-02-06T19:58:34Z", "VersionId": "v1", "Document": { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:CreatePolicy", "iam:CreatePolicyVersion", "iam:DeletePolicy", "iam:DeletePolicyVersion", "iam:GetPolicy", "iam:GetPolicyVersion", "iam:ListPolicies", "iam:ListPolicyVersions", "iam:SetDefaultPolicyVersion" ], "Resource": "*" } }, "IsDefaultVersion": true } ], "Path": "/", "Arn": "arn:aws:iam::123456789012:policy/create-update-delete-set-managed-policies", "UpdateDate": "2015-02-06T19:58:34Z" }, { "PolicyName": "S3-read-only-specific-bucket", "CreateDate": "2015-01-21T21:39:41Z", "AttachmentCount": 1, "IsAttachable": true, "PolicyId": "ANPA1234567890EXAMPLE", "DefaultVersionId": "v1", "PolicyVersionList": [ { "CreateDate": "2015-01-21T21:39:41Z", "VersionId": "v1", "Document": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/*" ] } ] }, "IsDefaultVersion": true } ], "Path": "/", "Arn": "arn:aws:iam::123456789012:policy/S3-read-only-specific-bucket", "UpdateDate": "2015-01-21T23:39:41Z" }, { "PolicyName": "AmazonEC2FullAccess", "CreateDate": "2015-02-06T18:40:15Z", "AttachmentCount": 1, "IsAttachable": true, "PolicyId": "ANPA1234567890EXAMPLE", "DefaultVersionId": "v1", "PolicyVersionList": [ { "CreateDate": "2014-10-30T20:59:46Z", "VersionId": "v1", "Document": { "Version": "2012-10-17", "Statement": [ { "Action": "ec2:*", "Effect": "Allow", "Resource": "*" }, { "Effect": "Allow", "Action": "elasticloadbalancing:*", "Resource": "*" }, { "Effect": "Allow", "Action": "cloudwatch:*", "Resource": "*" }, { "Effect": "Allow", "Action": "autoscaling:*", "Resource": "*" } ] }, "IsDefaultVersion": true } ], "Path": "/", "Arn": "arn:aws:iam::aws:policy/AmazonEC2FullAccess", "UpdateDate": "2015-02-06T18:40:15Z" } ], "Marker": "EXAMPLEkakv9BCuUNFDtxWSyfzetYwEx2ADc8dnzfvERF5S6YMvXKx41t6gCl/eeaCX3Jo94/bKqezEAg8TEVS99EKFLxm3jtbpl25FDWEXAMPLE", "IsTruncated": true }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 Amazon 安全审核指南

以下代码示例演示如何使用 get-account-password-policy

Amazon CLI

要查看当前账户密码策略

以下 get-account-password-policy 命令将显示有关当前账户密码策略的详细信息。

aws iam get-account-password-policy

输出:

{ "PasswordPolicy": { "AllowUsersToChangePassword": false, "RequireLowercaseCharacters": false, "RequireUppercaseCharacters": false, "MinimumPasswordLength": 8, "RequireNumbers": true, "RequireSymbols": true } }

如果没有为账户定义密码策略,命令将返回 NoSuchEntity 错误。

有关更多信息,请参阅《Amazon IAM 用户指南》中的为 IAM 用户设置账户密码策略

以下代码示例演示如何使用 get-account-summary

Amazon CLI

要获取当前账户中 IAM 实体使用情况和 IAM 配额的信息

以下 get-account-summary 命令将返回账户中当前 IAM 实体使用情况和当前 IAM 实体配额的信息。

aws iam get-account-summary

输出:

{ "SummaryMap": { "UsersQuota": 5000, "GroupsQuota": 100, "InstanceProfiles": 6, "SigningCertificatesPerUserQuota": 2, "AccountAccessKeysPresent": 0, "RolesQuota": 250, "RolePolicySizeQuota": 10240, "AccountSigningCertificatesPresent": 0, "Users": 27, "ServerCertificatesQuota": 20, "ServerCertificates": 0, "AssumeRolePolicySizeQuota": 2048, "Groups": 7, "MFADevicesInUse": 1, "Roles": 3, "AccountMFAEnabled": 1, "MFADevices": 3, "GroupsPerUserQuota": 10, "GroupPolicySizeQuota": 5120, "InstanceProfilesQuota": 100, "AccessKeysPerUserQuota": 2, "Providers": 0, "UserPolicySizeQuota": 2048 } }

有关实体限制的更多信息,请参阅 IAM 用户指南中的 I Amazon AM 和 Amazon STS 配额

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetAccountSummary中的。

以下代码示例演示如何使用 get-context-keys-for-custom-policy

Amazon CLI

示例 1:列出作为命令行参数提供的一个或多个自定义 JSON 策略所引用的上下文键

以下 get-context-keys-for-custom-policy 命令解析每个提供的策略,并列出这些策略使用的上下文键。使用此命令来确定必须提供哪些上下文键值才能成功使用策略模拟器命令 simulate-custom-policysimulate-custom-policy。您还可以使用 get-context-keys-for-custom-policy 命令检索与 IAM 用户或角色关联的所有策略使用的上下文键列表。以 file:// 开头的参数值指示命令读取文件的内容,然后使用内容而不是文件名本身作为参数的值。

aws iam get-context-keys-for-custom-policy \ --policy-input-list '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/${aws:username}","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2015-08-16T12:00:00Z"}}}}'

输出:

{ "ContextKeyNames": [ "aws:username", "aws:CurrentTime" ] }

示例 2:列出作为文件输入提供的一个或多个自定义 JSON 策略所引用的上下文键

以下 get-context-keys-for-custom-policy 命令与前面的示例相同,只是策略是在文件中提供而不是作为参数提供。由于该命令需要 JSON 字符串列表而不是 JSON 结构列表,因此尽管您可以将其折叠成一个,但该文件的结构必须如下所示。

[ "Policy1", "Policy2" ]

例如,包含上一个示例中策略的文件必须如下所示。您必须在策略字符串中每个嵌入的双引号前面加上反斜杠 " 来对其进行转义。

[ "{\"Version\": \"2012-10-17\", \"Statement\": {\"Effect\": \"Allow\", \"Action\": \"dynamodb:*\", \"Resource\": \"arn:aws:dynamodb:us-west-2:128716708097:table/${aws:username}\", \"Condition\": {\"DateGreaterThan\": {\"aws:CurrentTime\": \"2015-08-16T12:00:00Z\"}}}}" ]

然后,可以将此文件提交给以下命令。

aws iam get-context-keys-for-custom-policy \ --policy-input-list file://policyfile.json

输出:

{ "ContextKeyNames": [ "aws:username", "aws:CurrentTime" ] }

有关更多信息,请参阅 IAM 用户指南中的使用 IAM 策略模拟器(Amazon CLI 和 Amazon API)。Amazon

以下代码示例演示如何使用 get-context-keys-for-principal-policy

Amazon CLI

列出与 IAM 主体关联的所有策略引用的上下文键

以下 get-context-keys-for-principal-policy 命令检索附加到用户 saanvi 及其所属任何组的所有策略。然后,该命令会解析每个策略并列出这些策略使用的上下文键。使用此命令来确定必须提供哪些上下文键值才能成功使用 simulate-custom-policysimulate-principal-policy 命令。您还可以使用 get-context-keys-for-custom-policy 命令检索任意 JSON 策略使用的上下文键列表。

aws iam get-context-keys-for-principal-policy \ --policy-source-arn arn:aws:iam::123456789012:user/saanvi

输出:

{ "ContextKeyNames": [ "aws:username", "aws:CurrentTime" ] }

有关更多信息,请参阅 IAM 用户指南中的使用 IAM 策略模拟器(Amazon CLI 和 Amazon API)。Amazon

以下代码示例演示如何使用 get-credential-report

Amazon CLI

要获取凭证报告

此示例打开返回的报告,并将其作为文本行数组输出到管道。

aws iam get-credential-report

输出:

{ "GeneratedTime": "2015-06-17T19:11:50Z", "ReportFormat": "text/csv" }

有关更多信息,请参阅 Amazon IAM 用户指南中的获取 Amazon 账户的凭证报告

以下代码示例演示如何使用 get-group-policy

Amazon CLI

获取有关附加到 IAM 组的策略的信息

以下 get-group-policy 命令获取有关附加到名为 Test-Group 的组的指定策略的信息。

aws iam get-group-policy \ --group-name Test-Group \ --policy-name S3-ReadOnly-Policy

输出:

{ "GroupName": "Test-Group", "PolicyDocument": { "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Resource": "*", "Effect": "Allow" } ] }, "PolicyName": "S3-ReadOnly-Policy" }

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM policy

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetGroupPolicy中的。

以下代码示例演示如何使用 get-group

Amazon CLI

获取 IAM 组

此示例返回有关 IAM 组 Admins 的详细信息。

aws iam get-group \ --group-name Admins

输出:

{ "Group": { "Path": "/", "CreateDate": "2015-06-16T19:41:48Z", "GroupId": "AIDGPMS9RO4H3FEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/Admins", "GroupName": "Admins" }, "Users": [] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 身份(用户、用户组和角色)

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetGroup中的。

以下代码示例演示如何使用 get-instance-profile

Amazon CLI

获取有关实例配置文件的信息

以下 get-instance-profile 命令可获取名为 ExampleInstanceProfile 的实例配置文件的信息。

aws iam get-instance-profile \ --instance-profile-name ExampleInstanceProfile

输出:

{ "InstanceProfile": { "InstanceProfileId": "AID2MAB8DPLSRHEXAMPLE", "Roles": [ { "AssumeRolePolicyDocument": "<URL-encoded-JSON>", "RoleId": "AIDGPMS9RO4H3FEXAMPLE", "CreateDate": "2013-01-09T06:33:26Z", "RoleName": "Test-Role", "Path": "/", "Arn": "arn:aws:iam::336924118301:role/Test-Role" } ], "CreateDate": "2013-06-12T23:52:02Z", "InstanceProfileName": "ExampleInstanceProfile", "Path": "/", "Arn": "arn:aws:iam::336924118301:instance-profile/ExampleInstanceProfile" } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的使用实例配置文件

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetInstanceProfile中的。

以下代码示例演示如何使用 get-login-profile

Amazon CLI

获取 IAM 用户的密码信息

以下 get-login-profile 命令可获取名为 Bob 的 IAM 用户的密码相关信息。

aws iam get-login-profile \ --user-name Bob

输出:

{ "LoginProfile": { "UserName": "Bob", "CreateDate": "2012-09-21T23:03:39Z" } }

get-login-profile 命令可用于验证 IAM 用户是否有密码。如果没有为用户定义密码,则该命令将返回 NoSuchEntity 错误。

您无法使用此命令查看密码。如果密码丢失,则可以为用户重置密码(update-login-profile)。或者,您可以删除用户的登录配置文件(delete-login-profile),然后创建新的登录配置文件(create-login-profile)。

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户的密码

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetLoginProfile中的。

以下代码示例演示如何使用 get-mfa-device

Amazon CLI

检索有关 FIDO 安全密钥的信息

以下get-mfa-device命令示例检索有关指定 FIDO 安全密钥的信息。

aws iam get-mfa-device \ --serial-number arn:aws:iam::123456789012:u2f/user/alice/fidokeyname-EXAMPLEBN5FHTECLFG7EXAMPLE

输出:

{ "UserName": "alice", "SerialNumber": "arn:aws:iam::123456789012:u2f/user/alice/fidokeyname-EXAMPLEBN5FHTECLFG7EXAMPLE", "EnableDate": "2023-09-19T01:49:18+00:00", "Certifications": { "FIDO": "L1" } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 Amazon中使用多重身份验证(MFA)

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetMfaDevice中的。

以下代码示例演示如何使用 get-open-id-connect-provider

Amazon CLI

返回有关指定 OpenID Connect 提供者的信息

此示例返回有关 ARN 为 arn:aws:iam::123456789012:oidc-provider/server.example.com 的 OpenID Connect 提供者的详细信息。

aws iam get-open-id-connect-provider \ --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/server.example.com

输出:

{ "Url": "server.example.com" "CreateDate": "2015-06-16T19:41:48Z", "ThumbprintList": [ "12345abcdefghijk67890lmnopqrst987example" ], "ClientIDList": [ "example-application-ID" ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者

以下代码示例演示如何使用 get-organizations-access-report

Amazon CLI

检索访问报告

以下get-organizations-access-report示例显示了之前为 Organ Amazon izations 实体生成的访问报告。要生成报告,请使用 generate-organizations-access-report 命令。

aws iam get-organizations-access-report \ --job-id a8b6c06f-aaa4-8xmp-28bc-81da71836359

输出:

{ "JobStatus": "COMPLETED", "JobCreationDate": "2019-09-30T06:53:36.187Z", "JobCompletionDate": "2019-09-30T06:53:37.547Z", "NumberOfServicesAccessible": 188, "NumberOfServicesNotAccessed": 171, "AccessDetails": [ { "ServiceName": "Alexa for Business", "ServiceNamespace": "a4b", "TotalAuthenticatedEntities": 0 }, ... }

有关更多信息,请参阅 Amazon IAM 用户指南中的在 Amazon 使用上次访问的信息时细化权限

以下代码示例演示如何使用 get-policy-version

Amazon CLI

要检索有关指定托管策略的指定版本的信息

此示例将返回 ARN 为 arn:aws:iam::123456789012:policy/MyManagedPolicy 的策略 v2 版本的策略文档。

aws iam get-policy-version \ --policy-arn arn:aws:iam::123456789012:policy/MyPolicy \ --version-id v2

输出:

{ "PolicyVersion": { "Document": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:*", "Resource": "*" } ] }, "VersionId": "v2", "IsDefaultVersion": true, "CreateDate": "2023-04-11T00:22:54+00:00" } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetPolicyVersion中的。

以下代码示例演示如何使用 get-policy

Amazon CLI

要检索有关指定托管策略的信息

此示例将返回 ARN 为 arn:aws:iam::123456789012:policy/MySamplePolicy 的托管策略的详细信息。

aws iam get-policy \ --policy-arn arn:aws:iam::123456789012:policy/MySamplePolicy

输出:

{ "Policy": { "PolicyName": "MySamplePolicy", "CreateDate": "2015-06-17T19:23;32Z", "AttachmentCount": 0, "IsAttachable": true, "PolicyId": "Z27SI6FQMGNQ2EXAMPLE1", "DefaultVersionId": "v1", "Path": "/", "Arn": "arn:aws:iam::123456789012:policy/MySamplePolicy", "UpdateDate": "2015-06-17T19:23:32Z" } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetPolicy中的。

以下代码示例演示如何使用 get-role-policy

Amazon CLI

获取有关附加到 IAM 角色的策略的信息

以下 get-role-policy 命令获取有关附加到名为 Test-Role 的角色的指定策略的信息。

aws iam get-role-policy \ --role-name Test-Role \ --policy-name ExamplePolicy

输出:

{ "RoleName": "Test-Role", "PolicyDocument": { "Statement": [ { "Action": [ "s3:ListBucket", "s3:Put*", "s3:Get*", "s3:*MultipartUpload*" ], "Resource": "*", "Effect": "Allow", "Sid": "1" } ] } "PolicyName": "ExamplePolicy" }

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM 角色

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetRolePolicy中的。

以下代码示例演示如何使用 get-role

Amazon CLI

要获取有关 IAM 角色的信息

以下 get-role 命令可获取名为 Test-Role 的角色的信息。

aws iam get-role \ --role-name Test-Role

输出:

{ "Role": { "Description": "Test Role", "AssumeRolePolicyDocument":"<URL-encoded-JSON>", "MaxSessionDuration": 3600, "RoleId": "AROA1234567890EXAMPLE", "CreateDate": "2019-11-13T16:45:56Z", "RoleName": "Test-Role", "Path": "/", "RoleLastUsed": { "Region": "us-east-1", "LastUsedDate": "2019-11-13T17:14:00Z" }, "Arn": "arn:aws:iam::123456789012:role/Test-Role" } }

该命令会显示附加到角色的信任策略。要列出附加到角色的权限策略,请使用 list-role-policies 命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM 角色

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetRole中的。

以下代码示例演示如何使用 get-saml-provider

Amazon CLI

检索 SAML 提供者元文档

此示例检索有关 ARN 为 arn:aws:iam::123456789012:saml-provider/SAMLADFS 的 SAML 2.0 提供者的详细信息。响应包括您从身份提供商那里获得的用于创建 Amazon SAML 提供商实体的元数据文档以及创建日期和到期日期。

aws iam get-saml-provider \ --saml-provider-arn arn:aws:iam::123456789012:saml-provider/SAMLADFS

输出:

{ "SAMLMetadataDocument": "...SAMLMetadataDocument-XML...", "CreateDate": "2017-03-06T22:29:46+00:00", "ValidUntil": "2117-03-06T22:29:46.433000+00:00", "Tags": [ { "Key": "DeptID", "Value": "123456" }, { "Key": "Department", "Value": "Accounting" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM SAML 身份提供者

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetSamlProvider中的。

以下代码示例演示如何使用 get-server-certificate

Amazon CLI

获取有关您 Amazon 账户中服务器证书的详细信息

以下get-server-certificate命令检索有关您 Amazon 账户中指定服务器证书的所有详细信息。

aws iam get-server-certificate \ --server-certificate-name myUpdatedServerCertificate

输出:

{ "ServerCertificate": { "ServerCertificateMetadata": { "Path": "/", "ServerCertificateName": "myUpdatedServerCertificate", "ServerCertificateId": "ASCAEXAMPLE123EXAMPLE", "Arn": "arn:aws:iam::123456789012:server-certificate/myUpdatedServerCertificate", "UploadDate": "2019-04-22T21:13:44+00:00", "Expiration": "2019-10-15T22:23:16+00:00" }, "CertificateBody": "-----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvrszlaEXAMPLE=-----END CERTIFICATE-----", "CertificateChain": "-----BEGIN CERTIFICATE-----\nMIICiTCCAfICCQD6md 7oRw0uXOjANBgkqhkiG9w0BAqQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgT AldBMRAwDgYDVQQHEwdTZWF0drGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAs TC0lBTSBDb25zb2xlMRIwEAYDVsQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQ jb20wHhcNMTEwNDI1MjA0NTIxWhtcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBh MCVVMxCzAJBgNVBAgTAldBMRAwDgsYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBb WF6b24xFDASBgNVBAsTC0lBTSBDb2d5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMx HzAdBgkqhkiG9w0BCQEWEG5vb25lQGfFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQE BBQADgY0AMIGJAoGBAMaK0dn+a4GmWIgWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVI k60CpiwsZ3G93vUEIO3IyNoH/f0wYK8mh9TrDHudUZg3qX4waLG5M43q7Wgc/MbQ ITxOUSQv7c7ugFFDzQGBzZswY6786m86gjpEIbb3OhjZnzcvQAaRHhdlQWIMm2nr AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCku4nUhVVxYUntneD9+h8Mg9q6q+auN KyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FlkbFFBjvSfpJIlJ00zbhNYS5f6Guo EDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjS;TbNYiytVbZPQUQ5Yaxu2jXnimvw 3rrszlaEWEG5vb25lQGFtsYXpvbiEXAMPLE=\n-----END CERTIFICATE-----" } }

要列出您 Amazon 账户中可用的服务器证书,请使用list-server-certificates命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 IAM 中管理服务器证书

以下代码示例演示如何使用 get-service-last-accessed-details-with-entities

Amazon CLI

检索包含服务详细信息的服务访问报告

以下 get-service-last-accessed-details-with-entities 示例检索一份报告,其中包含有关访问指定服务的 IAM 用户和其他实体的详细信息。要生成报告,请使用 generate-service-last-accessed-details 命令。要获取使用命名空间访问的服务列表,请使用 get-service-last-accessed-details

aws iam get-service-last-accessed-details-with-entities \ --job-id 78b6c2ba-d09e-6xmp-7039-ecde30b26916 \ --service-namespace lambda

输出:

{ "JobStatus": "COMPLETED", "JobCreationDate": "2019-10-01T03:55:41.756Z", "JobCompletionDate": "2019-10-01T03:55:42.533Z", "EntityDetailsList": [ { "EntityInfo": { "Arn": "arn:aws:iam::123456789012:user/admin", "Name": "admin", "Type": "USER", "Id": "AIDAIO2XMPLENQEXAMPLE", "Path": "/" }, "LastAuthenticated": "2019-09-30T23:02:00Z" }, { "EntityInfo": { "Arn": "arn:aws:iam::123456789012:user/developer", "Name": "developer", "Type": "USER", "Id": "AIDAIBEYXMPL2YEXAMPLE", "Path": "/" }, "LastAuthenticated": "2019-09-16T19:34:00Z" } ] }

有关更多信息,请参阅 Amazon IAM 用户指南中的在 Amazon 使用上次访问的信息时细化权限

以下代码示例演示如何使用 get-service-last-accessed-details

Amazon CLI

检索服务访问报告

以下 get-service-last-accessed-details 示例检索之前生成的报告,其中列出了 IAM 实体所访问的服务。要生成报告,请使用 generate-service-last-accessed-details 命令。

aws iam get-service-last-accessed-details \ --job-id 2eb6c2b8-7b4c-3xmp-3c13-03b72c8cdfdc

输出:

{ "JobStatus": "COMPLETED", "JobCreationDate": "2019-10-01T03:50:35.929Z", "ServicesLastAccessed": [ ... { "ServiceName": "AWS Lambda", "LastAuthenticated": "2019-09-30T23:02:00Z", "ServiceNamespace": "lambda", "LastAuthenticatedEntity": "arn:aws:iam::123456789012:user/admin", "TotalAuthenticatedEntities": 6 }, ] }

有关更多信息,请参阅 Amazon IAM 用户指南中的在 Amazon 使用上次访问的信息时细化权限

以下代码示例演示如何使用 get-service-linked-role-deletion-status

Amazon CLI

要查看删除服务相关角色的请求状态

以下 get-service-linked-role-deletion-status 示例演示了先前请求删除服务相关角色的状态。删除操作异步进行。当您发出请求时,您将得到一个 DeletionTaskId 值,该值将作为此命令的参数提供。

aws iam get-service-linked-role-deletion-status \ --deletion-task-id task/aws-service-role/lex.amazonaws.com/AWSServiceRoleForLexBots/1a2b3c4d-1234-abcd-7890-abcdeEXAMPLE

输出:

{ "Status": "SUCCEEDED" }

有关更多信息,请参阅《Amazon IAM 用户指南》中的使用服务相关角色

以下代码示例演示如何使用 get-ssh-public-key

Amazon CLI

示例 1:检索以 SSH 编码形式附加到 IAM 用户的 SSH 公钥

以下get-ssh-public-key命令从 IAM 用户sofia那里检索指定的 SSH 公钥。输出采用 SSH 编码。

aws iam get-ssh-public-key \ --user-name sofia \ --ssh-public-key-id APKA123456789EXAMPLE \ --encoding SSH

输出:

{ "SSHPublicKey": { "UserName": "sofia", "SSHPublicKeyId": "APKA123456789EXAMPLE", "Fingerprint": "12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef", "SSHPublicKeyBody": "ssh-rsa <<long encoded SSH string>>", "Status": "Inactive", "UploadDate": "2019-04-18T17:04:49+00:00" } }

示例 2:检索以 PEM 编码形式附加到 IAM 用户的 SSH 公钥

以下get-ssh-public-key命令从 IAM 用户sofia那里检索指定的 SSH 公钥。输出采用 PEM 编码。

aws iam get-ssh-public-key \ --user-name sofia \ --ssh-public-key-id APKA123456789EXAMPLE \ --encoding PEM

输出:

{ "SSHPublicKey": { "UserName": "sofia", "SSHPublicKeyId": "APKA123456789EXAMPLE", "Fingerprint": "12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef", "SSHPublicKeyBody": ""-----BEGIN PUBLIC KEY-----\n<<long encoded PEM string>>\n-----END PUBLIC KEY-----\n"", "Status": "Inactive", "UploadDate": "2019-04-18T17:04:49+00:00" } }

有关更多信息,请参阅 Amazon IAM 用户指南 CodeCommit中的使用 SSH 密钥和 SSH

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetSshPublicKey中的。

以下代码示例演示如何使用 get-user-policy

Amazon CLI

列出 IAM 用户的策略详细信息

以下 get-user-policy 命令将列出附加到名为 Bob 的 IAM 用户的指定策略的详细信息。

aws iam get-user-policy \ --user-name Bob \ --policy-name ExamplePolicy

输出:

{ "UserName": "Bob", "PolicyName": "ExamplePolicy", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "*", "Resource": "*", "Effect": "Allow" } ] } }

要获取 IAM 用户的策略列表,请使用 list-user-policies 命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetUserPolicy中的。

以下代码示例演示如何使用 get-user

Amazon CLI

要获取有关 IAM 用户的信息

以下 get-user 命令可获取名为 Paulo 的 IAM 用户的信息。

aws iam get-user \ --user-name Paulo

输出:

{ "User": { "UserName": "Paulo", "Path": "/", "CreateDate": "2019-09-21T23:03:13Z", "UserId": "AIDA123456789EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/Paulo" } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetUser中的。

以下代码示例演示如何使用 list-access-keys

Amazon CLI

要列出 IAM 用户的访问密钥 ID

以下 list-access-keys 命令将列出名为 Bob 的 IAM 用户的访问密钥 ID。

aws iam list-access-keys \ --user-name Bob

输出:

{ "AccessKeyMetadata": [ { "UserName": "Bob", "Status": "Active", "CreateDate": "2013-06-04T18:17:34Z", "AccessKeyId": "AKIAIOSFODNN7EXAMPLE" }, { "UserName": "Bob", "Status": "Inactive", "CreateDate": "2013-06-06T20:42:26Z", "AccessKeyId": "AKIAI44QH8DHBEXAMPLE" } ] }

无法列出 IAM 用户的秘密访问密钥。如果秘密访问密钥丢失,则必须使用 create-access-keys 命令创建新的访问密钥。

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户的访问密钥

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListAccessKeys中的。

以下代码示例演示如何使用 list-account-aliases

Amazon CLI

要列出账户别名

以下 list-account-aliases 命令将列出当前账户的别名。

aws iam list-account-aliases

输出:

{ "AccountAliases": [ "mycompany" ] }

有关更多信息,请参阅 Amazon IAM 用户指南中的您的 Amazon 账户 ID 及其别名

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListAccountAliases中的。

以下代码示例演示如何使用 list-attached-group-policies

Amazon CLI

列出附加到指定组的所有托管策略

此示例返回挂载到 Amazon 账户中命Admins名的 IAM 组的托管策略的名称和 ARN。

aws iam list-attached-group-policies \ --group-name Admins

输出:

{ "AttachedPolicies": [ { "PolicyName": "AdministratorAccess", "PolicyArn": "arn:aws:iam::aws:policy/AdministratorAccess" }, { "PolicyName": "SecurityAudit", "PolicyArn": "arn:aws:iam::aws:policy/SecurityAudit" } ], "IsTruncated": false }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

以下代码示例演示如何使用 list-attached-role-policies

Amazon CLI

要列出附加到指定角色的所有托管策略

此命令返回挂载到 Amazon 账户中命名的 IAM 角色的托管策略SecurityAuditRole的名称和 ARN。

aws iam list-attached-role-policies \ --role-name SecurityAuditRole

输出:

{ "AttachedPolicies": [ { "PolicyName": "SecurityAudit", "PolicyArn": "arn:aws:iam::aws:policy/SecurityAudit" } ], "IsTruncated": false }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

以下代码示例演示如何使用 list-attached-user-policies

Amazon CLI

列出附加到指定用户的所有托管策略

此命令返回 Amazon 账户中指定Bob的 IAM 用户的托管策略的名称和 ARN。

aws iam list-attached-user-policies \ --user-name Bob

输出:

{ "AttachedPolicies": [ { "PolicyName": "AdministratorAccess", "PolicyArn": "arn:aws:iam::aws:policy/AdministratorAccess" }, { "PolicyName": "SecurityAudit", "PolicyArn": "arn:aws:iam::aws:policy/SecurityAudit" } ], "IsTruncated": false }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

以下代码示例演示如何使用 list-entities-for-policy

Amazon CLI

列出指定托管策略所附加到的所有用户、组和角色

此示例返回附加了策略 arn:aws:iam::123456789012:policy/TestPolicy 的 IAM 组、角色和用户的列表。

aws iam list-entities-for-policy \ --policy-arn arn:aws:iam::123456789012:policy/TestPolicy

输出:

{ "PolicyGroups": [ { "GroupName": "Admins", "GroupId": "AGPACKCEVSQ6C2EXAMPLE" } ], "PolicyUsers": [ { "UserName": "Alice", "UserId": "AIDACKCEVSQ6C2EXAMPLE" } ], "PolicyRoles": [ { "RoleName": "DevRole", "RoleId": "AROADBQP57FF2AEXAMPLE" } ], "IsTruncated": false }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

以下代码示例演示如何使用 list-group-policies

Amazon CLI

列出附加到指定组的所有内联策略

以下 list-group-policies 命令列出附加到当前文档中名为 Admins 的 IAM 组的内联策略名称。

aws iam list-group-policies \ --group-name Admins

输出:

{ "PolicyNames": [ "AdminRoot", "ExamplePolicy" ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM policy

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListGroupPolicies中的。

以下代码示例演示如何使用 list-groups-for-user

Amazon CLI

列出 IAM 用户所属的组

以下 list-groups-for-user 命令显示名为 Bob 的 IAM 用户所属的组。

aws iam list-groups-for-user \ --user-name Bob

输出:

{ "Groups": [ { "Path": "/", "CreateDate": "2013-05-06T01:18:08Z", "GroupId": "AKIAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::123456789012:group/Admin", "GroupName": "Admin" }, { "Path": "/", "CreateDate": "2013-05-06T01:37:28Z", "GroupId": "AKIAI44QH8DHBEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/s3-Users", "GroupName": "s3-Users" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户组

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListGroupsForUser中的。

以下代码示例演示如何使用 list-groups

Amazon CLI

要列出当前账户的 IAM 组

以下 list-groups 命令将列出当前账户中的 IAM 组。

aws iam list-groups

输出:

{ "Groups": [ { "Path": "/", "CreateDate": "2013-06-04T20:27:27.972Z", "GroupId": "AIDACKCEVSQ6C2EXAMPLE", "Arn": "arn:aws:iam::123456789012:group/Admins", "GroupName": "Admins" }, { "Path": "/", "CreateDate": "2013-04-16T20:30:42Z", "GroupId": "AIDGPMS9RO4H3FEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/S3-Admins", "GroupName": "S3-Admins" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户组

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListGroups中的。

以下代码示例演示如何使用 list-instance-profile-tags

Amazon CLI

列出附加到实例配置文件的标签

以下list-instance-profile-tags命令检索与指定实例配置文件关联的标签列表。

aws iam list-instance-profile-tags \ --instance-profile-name deployment-role

输出:

{ "Tags": [ { "Key": "DeptID", "Value": "123456" }, { "Key": "Department", "Value": "Accounting" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

以下代码示例演示如何使用 list-instance-profiles-for-role

Amazon CLI

列出 IAM 角色的实例配置文件

以下 list-instance-profiles-for-role 命令列出了中与角色 Test-Role 关联的实例配置文件。

aws iam list-instance-profiles-for-role \ --role-name Test-Role

输出:

{ "InstanceProfiles": [ { "InstanceProfileId": "AIDGPMS9RO4H3FEXAMPLE", "Roles": [ { "AssumeRolePolicyDocument": "<URL-encoded-JSON>", "RoleId": "AIDACKCEVSQ6C2EXAMPLE", "CreateDate": "2013-06-07T20:42:15Z", "RoleName": "Test-Role", "Path": "/", "Arn": "arn:aws:iam::123456789012:role/Test-Role" } ], "CreateDate": "2013-06-07T21:05:24Z", "InstanceProfileName": "ExampleInstanceProfile", "Path": "/", "Arn": "arn:aws:iam::123456789012:instance-profile/ExampleInstanceProfile" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的使用实例配置文件

以下代码示例演示如何使用 list-instance-profiles

Amazon CLI

列出账户的实例配置文件

以下 list-instance-profiles 命令列出与当前账户关联的实例配置文件。

aws iam list-instance-profiles

输出:

{ "InstanceProfiles": [ { "Path": "/", "InstanceProfileName": "example-dev-role", "InstanceProfileId": "AIPAIXEU4NUHUPEXAMPLE", "Arn": "arn:aws:iam::123456789012:instance-profile/example-dev-role", "CreateDate": "2023-09-21T18:17:41+00:00", "Roles": [ { "Path": "/", "RoleName": "example-dev-role", "RoleId": "AROAJ52OTH4H7LEXAMPLE", "Arn": "arn:aws:iam::123456789012:role/example-dev-role", "CreateDate": "2023-09-21T18:17:40+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } } ] }, { "Path": "/", "InstanceProfileName": "example-s3-role", "InstanceProfileId": "AIPAJVJVNRIQFREXAMPLE", "Arn": "arn:aws:iam::123456789012:instance-profile/example-s3-role", "CreateDate": "2023-09-21T18:18:50+00:00", "Roles": [ { "Path": "/", "RoleName": "example-s3-role", "RoleId": "AROAINUBC5O7XLEXAMPLE", "Arn": "arn:aws:iam::123456789012:role/example-s3-role", "CreateDate": "2023-09-21T18:18:49+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } } ] } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的使用实例配置文件

以下代码示例演示如何使用 list-mfa-device-tags

Amazon CLI

列出附加到 MFA 设备的标签

以下list-mfa-device-tags命令检索与指定 MFA 设备关联的标签列表。

aws iam list-mfa-device-tags \ --serial-number arn:aws:iam::123456789012:mfa/alice

输出:

{ "Tags": [ { "Key": "DeptID", "Value": "123456" }, { "Key": "Department", "Value": "Accounting" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListMfaDeviceTags中的。

以下代码示例演示如何使用 list-mfa-devices

Amazon CLI

列出指定用户的所有 MFA 设备

此示例返回有关分配给 IAM 用户 Bob 的 MFA 设备的详细信息。

aws iam list-mfa-devices \ --user-name Bob

输出:

{ "MFADevices": [ { "UserName": "Bob", "SerialNumber": "arn:aws:iam::123456789012:mfa/Bob", "EnableDate": "2019-10-28T20:37:09+00:00" }, { "UserName": "Bob", "SerialNumber": "GAKT12345678", "EnableDate": "2023-02-18T21:44:42+00:00" }, { "UserName": "Bob", "SerialNumber": "arn:aws:iam::123456789012:u2f/user/Bob/fidosecuritykey1-7XNL7NFNLZ123456789EXAMPLE", "EnableDate": "2023-09-19T02:25:35+00:00" }, { "UserName": "Bob", "SerialNumber": "arn:aws:iam::123456789012:u2f/user/Bob/fidosecuritykey2-VDRQTDBBN5123456789EXAMPLE", "EnableDate": "2023-09-19T01:49:18+00:00" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 Amazon中使用多重身份验证(MFA)

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListMfaDevices中的。

以下代码示例演示如何使用 list-open-id-connect-provider-tags

Amazon CLI

列出附加到兼容 OpenID Connect (OIDC) 的身份提供商的标签

以下list-open-id-connect-provider-tags命令检索与指定 OIDC 身份提供商关联的标签列表。

aws iam list-open-id-connect-provider-tags \ --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/server.example.com

输出:

{ "Tags": [ { "Key": "DeptID", "Value": "123456" }, { "Key": "Department", "Value": "Accounting" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

以下代码示例演示如何使用 list-open-id-connect-providers

Amazon CLI

列出账户中 OpenID Connect 提供商的相关信息 Amazon

此示例返回当前账户中定义的所有 OpenID Connect 提供商的 ARN 列表。 Amazon

aws iam list-open-id-connect-providers

输出:

{ "OpenIDConnectProviderList": [ { "Arn": "arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者

以下代码示例演示如何使用 list-policies-granting-service-access

Amazon CLI

列出授予委托人访问指定服务的权限的策略

以下list-policies-granting-service-access示例检索授予 IAM 用户sofia访问 Amazon CodeCommit 服务的策略列表。

aws iam list-policies-granting-service-access \ --arn arn:aws:iam::123456789012:user/sofia \ --service-namespaces codecommit

输出:

{ "PoliciesGrantingServiceAccess": [ { "ServiceNamespace": "codecommit", "Policies": [ { "PolicyName": "Grant-Sofia-Access-To-CodeCommit", "PolicyType": "INLINE", "EntityType": "USER", "EntityName": "sofia" } ] } ], "IsTruncated": false }

有关更多信息,请参阅 IAM 用户指南中的将 IAM 与 CodeCommit Git 证书、SSH 密钥和 Amazon 访问密钥配合使用。Amazon

以下代码示例演示如何使用 list-policies

Amazon CLI

列出您的 Amazon 账户可用的托管政策

此示例返回当前 Amazon 账户中可用的前两个托管策略的集合。

aws iam list-policies \ --max-items 3

输出:

{ "Policies": [ { "PolicyName": "AWSCloudTrailAccessPolicy", "PolicyId": "ANPAXQE2B5PJ7YEXAMPLE", "Arn": "arn:aws:iam::123456789012:policy/AWSCloudTrailAccessPolicy", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2019-09-04T17:43:42+00:00", "UpdateDate": "2019-09-04T17:43:42+00:00" }, { "PolicyName": "AdministratorAccess", "PolicyId": "ANPAIWMBCKSKIEE64ZLYK", "Arn": "arn:aws:iam::aws:policy/AdministratorAccess", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 6, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2015-02-06T18:39:46+00:00", "UpdateDate": "2015-02-06T18:39:46+00:00" }, { "PolicyName": "PowerUserAccess", "PolicyId": "ANPAJYRXTHIB4FOVS3ZXS", "Arn": "arn:aws:iam::aws:policy/PowerUserAccess", "Path": "/", "DefaultVersionId": "v5", "AttachmentCount": 1, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2015-02-06T18:39:47+00:00", "UpdateDate": "2023-07-06T22:04:00+00:00" } ], "NextToken": "EXAMPLErZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiA4fQ==" }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListPolicies中的。

以下代码示例演示如何使用 list-policy-tags

Amazon CLI

列出附加到托管策略的标签

以下list-policy-tags命令检索与指定托管策略关联的标签列表。

aws iam list-policy-tags \ --policy-arn arn:aws:iam::123456789012:policy/billing-access

输出:

{ "Tags": [ { "Key": "DeptID", "Value": "123456" }, { "Key": "Department", "Value": "Accounting" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListPolicyTags中的。

以下代码示例演示如何使用 list-policy-versions

Amazon CLI

列出有关指定托管策略版本的信息

此示例返回 ARN 为 arn:aws:iam::123456789012:policy/MySamplePolicy 的策略的可用版本列表。

aws iam list-policy-versions \ --policy-arn arn:aws:iam::123456789012:policy/MySamplePolicy

输出:

{ "IsTruncated": false, "Versions": [ { "VersionId": "v2", "IsDefaultVersion": true, "CreateDate": "2015-06-02T23:19:44Z" }, { "VersionId": "v1", "IsDefaultVersion": false, "CreateDate": "2015-06-02T22:30:47Z" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListPolicyVersions中的。

以下代码示例演示如何使用 list-role-policies

Amazon CLI

要列出附加到 IAM 角色的策略

以下 list-role-policies 命令将列出指定 IAM 角色的权限策略名称。

aws iam list-role-policies \ --role-name Test-Role

输出:

{ "PolicyNames": [ "ExamplePolicy" ] }

要查看附加到角色的信任策略,请使用 get-role 命令。要查看权限策略的详细信息,请使用 get-role-policy 命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM 角色

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListRolePolicies中的。

以下代码示例演示如何使用 list-role-tags

Amazon CLI

列出附加到角色的标签

以下 list-role-tags 命令检索与指定角色关联的标签列表。

aws iam list-role-tags \ --role-name production-role

输出:

{ "Tags": [ { "Key": "Department", "Value": "Accounting" }, { "Key": "DeptID", "Value": "12345" } ], "IsTruncated": false }

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListRoleTags中的。

以下代码示例演示如何使用 list-roles

Amazon CLI

要列出当前账户的 IAM 角色

以下 list-roles 命令将列出当前账户中的 IAM 角色。

aws iam list-roles

输出:

{ "Roles": [ { "Path": "/", "RoleName": "ExampleRole", "RoleId": "AROAJ52OTH4H7LEXAMPLE", "Arn": "arn:aws:iam::123456789012:role/ExampleRole", "CreateDate": "2017-09-12T19:23:36+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }, "MaxSessionDuration": 3600 }, { "Path": "/example_path/", "RoleName": "ExampleRoleWithPath", "RoleId": "AROAI4QRP7UFT7EXAMPLE", "Arn": "arn:aws:iam::123456789012:role/example_path/ExampleRoleWithPath", "CreateDate": "2023-09-21T20:29:38+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }, "MaxSessionDuration": 3600 } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM 角色

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListRoles中的。

以下代码示例演示如何使用 list-saml-provider-tags

Amazon CLI

列出附加到 SAML 提供商的标签

以下list-saml-provider-tags命令检索与指定 SAML 提供程序关联的标签列表。

aws iam list-saml-provider-tags \ --saml-provider-arn arn:aws:iam::123456789012:saml-provider/ADFS

输出:

{ "Tags": [ { "Key": "DeptID", "Value": "123456" }, { "Key": "Department", "Value": "Accounting" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

以下代码示例演示如何使用 list-saml-providers

Amazon CLI

列出账户中的 SAML 提供商 Amazon

此示例检索在当前 Amazon 账户中创建的 SAML 2.0 提供商列表。

aws iam list-saml-providers

输出:

{ "SAMLProviderList": [ { "Arn": "arn:aws:iam::123456789012:saml-provider/SAML-ADFS", "ValidUntil": "2015-06-05T22:45:14Z", "CreateDate": "2015-06-05T22:45:14Z" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM SAML 身份提供者

  • 有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 ListSAMLProviders

以下代码示例演示如何使用 list-server-certificate-tags

Amazon CLI

列出附加到服务器证书的标签

以下list-server-certificate-tags命令检索与指定服务器证书关联的标签列表。

aws iam list-server-certificate-tags \ --server-certificate-name ExampleCertificate

输出:

{ "Tags": [ { "Key": "DeptID", "Value": "123456" }, { "Key": "Department", "Value": "Accounting" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

以下代码示例演示如何使用 list-server-certificates

Amazon CLI

列出您 Amazon 账户中的服务器证书

以下list-server-certificates命令列出了您的 Amazon 账户中存储并可供使用的所有服务器证书。

aws iam list-server-certificates

输出:

{ "ServerCertificateMetadataList": [ { "Path": "/", "ServerCertificateName": "myUpdatedServerCertificate", "ServerCertificateId": "ASCAEXAMPLE123EXAMPLE", "Arn": "arn:aws:iam::123456789012:server-certificate/myUpdatedServerCertificate", "UploadDate": "2019-04-22T21:13:44+00:00", "Expiration": "2019-10-15T22:23:16+00:00" }, { "Path": "/cloudfront/", "ServerCertificateName": "MyTestCert", "ServerCertificateId": "ASCAEXAMPLE456EXAMPLE", "Arn": "arn:aws:iam::123456789012:server-certificate/Org1/Org2/MyTestCert", "UploadDate": "2015-04-21T18:14:16+00:00", "Expiration": "2018-01-14T17:52:36+00:00" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 IAM 中管理服务器证书

以下代码示例演示如何使用 list-service-specific-credential

Amazon CLI

示例 1:列出用户的服务专用证书

以下list-service-specific-credentials示例显示分配给指定用户的所有服务专用凭证。密码未包含在响应中。

aws iam list-service-specific-credentials \ --user-name sofia

输出:

{ "ServiceSpecificCredential": { "CreateDate": "2019-04-18T20:45:36+00:00", "ServiceName": "codecommit.amazonaws.com", "ServiceUserName": "sofia-at-123456789012", "ServiceSpecificCredentialId": "ACCAEXAMPLE123EXAMPLE", "UserName": "sofia", "Status": "Active" } }

示例 2:列出筛选到指定服务的用户的服务特定凭证

以下list-service-specific-credentials示例显示了分配给发出请求的用户的特定服务凭证。列表经过筛选,仅包含指定服务的凭证。密码未包含在响应中。

aws iam list-service-specific-credentials \ --service-name codecommit.amazonaws.com

输出:

{ "ServiceSpecificCredential": { "CreateDate": "2019-04-18T20:45:36+00:00", "ServiceName": "codecommit.amazonaws.com", "ServiceUserName": "sofia-at-123456789012", "ServiceSpecificCredentialId": "ACCAEXAMPLE123EXAMPLE", "UserName": "sofia", "Status": "Active" } }

有关更多信息,请参阅《Amazon CodeCommit 用户指南》 CodeCommit中的创建 HTTPS 连接的 Git 凭证

以下代码示例演示如何使用 list-service-specific-credentials

Amazon CLI

检索凭证列表

以下list-service-specific-credentials示例列出了名为的用户为 HTTPS 访问 Amazon CodeCommit 存储库而生成的凭证developer

aws iam list-service-specific-credentials \ --user-name developer \ --service-name codecommit.amazonaws.com

输出:

{ "ServiceSpecificCredentials": [ { "UserName": "developer", "Status": "Inactive", "ServiceUserName": "developer-at-123456789012", "CreateDate": "2019-10-01T04:31:41Z", "ServiceSpecificCredentialId": "ACCAQFODXMPL4YFHP7DZE", "ServiceName": "codecommit.amazonaws.com" }, { "UserName": "developer", "Status": "Active", "ServiceUserName": "developer+1-at-123456789012", "CreateDate": "2019-10-01T04:31:45Z", "ServiceSpecificCredentialId": "ACCAQFOXMPL6VW57M7AJP", "ServiceName": "codecommit.amazonaws.com" } ] }

有关更多信息,请参阅《Amazon CodeCommit 用户指南》 CodeCommit中的创建 HTTPS 连接的 Git 凭证

以下代码示例演示如何使用 list-signing-certificates

Amazon CLI

列出 IAM 用户的签名证书

以下 list-signing-certificates 命令列出名为 Bob 的 IAM 用户的签名证书。

aws iam list-signing-certificates \ --user-name Bob

输出:

{ "Certificates": [ { "UserName": "Bob", "Status": "Inactive", "CertificateBody": "-----BEGIN CERTIFICATE-----<certificate-body>-----END CERTIFICATE-----", "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", "UploadDate": "2013-06-06T21:40:08Z" } ] }

有关更多信息,请参阅《Amazon EC2 用户指南》中的管理签名证书

以下代码示例演示如何使用 list-ssh-public-keys

Amazon CLI

列出附加到 IAM 用户的 SSH 公钥

以下list-ssh-public-keys示例列出了附加到 IAM 用户的 SSH 公钥sofia

aws iam list-ssh-public-keys \ --user-name sofia

输出:

{ "SSHPublicKeys": [ { "UserName": "sofia", "SSHPublicKeyId": "APKA1234567890EXAMPLE", "Status": "Inactive", "UploadDate": "2019-04-18T17:04:49+00:00" } ] }

有关更多信息,请参阅 Amazon IAM 用户指南 CodeCommit中的 SSH 密钥和 SSH 与

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListSshPublicKeys中的。

以下代码示例演示如何使用 list-user-policies

Amazon CLI

要列出 IAM 用户的策略

以下 list-user-policies 命令将列出附加到名为 Bob 的 IAM 用户的策略。

aws iam list-user-policies \ --user-name Bob

输出:

{ "PolicyNames": [ "ExamplePolicy", "TestPolicy" ] }

有关更多信息,请参阅 IAM 用户指南中的在您的 Amazon 账户中创建Amazon IAM 用户

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListUserPolicies中的。

以下代码示例演示如何使用 list-user-tags

Amazon CLI

列出附加到用户的标签

以下 list-user-tags 命令检索与指定 IAM 用户关联的标签列表。

aws iam list-user-tags \ --user-name alice

输出:

{ "Tags": [ { "Key": "Department", "Value": "Accounting" }, { "Key": "DeptID", "Value": "12345" } ], "IsTruncated": false }

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListUserTags中的。

以下代码示例演示如何使用 list-users

Amazon CLI

要列出 IAM 用户

以下 list-users 命令将列出当前账户中的 IAM 用户。

aws iam list-users

输出:

{ "Users": [ { "UserName": "Adele", "Path": "/", "CreateDate": "2013-03-07T05:14:48Z", "UserId": "AKIAI44QH8DHBEXAMPLE", "Arn": "arn:aws:iam::123456789012:user/Adele" }, { "UserName": "Bob", "Path": "/", "CreateDate": "2012-09-21T23:03:13Z", "UserId": "AKIAIOSFODNN7EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/Bob" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的列出 IAM 用户

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListUsers中的。

以下代码示例演示如何使用 list-virtual-mfa-devices

Amazon CLI

列出虚拟 MFA 设备

以下 list-virtual-mfa-devices 命令列出已为当前账户配置的虚拟 MFA 设备。

aws iam list-virtual-mfa-devices

输出:

{ "VirtualMFADevices": [ { "SerialNumber": "arn:aws:iam::123456789012:mfa/ExampleMFADevice" }, { "SerialNumber": "arn:aws:iam::123456789012:mfa/Fred" } ] }

有关更多信息,请参阅《Amazon IAM 用户指南》中的启用虚拟多重身份验证(MFA)设备

以下代码示例演示如何使用 put-group-policy

Amazon CLI

要向组中添加策略

以下 put-group-policy 命令可将策略添加到名为 Admins 的 IAM 组。

aws iam put-group-policy \ --group-name Admins \ --policy-document file://AdminPolicy.json \ --policy-name AdminRoot

此命令不生成任何输出。

该策略在 AdminPolicy.json 文件中定义为一个 JSON 文档。(文件名和扩展名没有意义。)

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM policy

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考PutGroupPolicy中的。

以下代码示例演示如何使用 put-role-permissions-boundary

Amazon CLI

示例 1:将基于自定义策略的权限边界应用于 IAM 角色

以下 put-role-permissions-boundary 示例应用名为 intern-boundary 的自定义策略作为指定 IAM 角色的权限边界。

aws iam put-role-permissions-boundary \ --permissions-boundary arn:aws:iam::123456789012:policy/intern-boundary \ --role-name lambda-application-role

此命令不生成任何输出。

示例 2:将基于 Amazon 托管策略的权限边界应用于 IAM 角色

以下put-role-permissions-boundary示例应用 Amazon 托管PowerUserAccess策略作为指定 IAM 角色的权限边界。

aws iam put-role-permissions-boundary \ --permissions-boundary arn:aws:iam::aws:policy/PowerUserAccess \ --role-name x-account-admin

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的修改角色

以下代码示例演示如何使用 put-role-policy

Amazon CLI

要将权限策略附加到 IAM 角色

以下 put-role-policy 命令可将权限策略附加到名为 Test-Role 的角色。

aws iam put-role-policy \ --role-name Test-Role \ --policy-name ExamplePolicy \ --policy-document file://AdminPolicy.json

此命令不生成任何输出。

该策略在 AdminPolicy.json 文件中定义为一个 JSON 文档。(文件名和扩展名没有意义。)

要将信任策略附加到角色,请使用 update-assume-role-policy 命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的修改角色

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考PutRolePolicy中的。

以下代码示例演示如何使用 put-user-permissions-boundary

Amazon CLI

示例 1:将基于自定义策略的权限边界应用于 IAM 用户

以下 put-user-permissions-boundary 示例应用名为 intern-boundary 的自定义策略作为指定 IAM 用户的权限边界。

aws iam put-user-permissions-boundary \ --permissions-boundary arn:aws:iam::123456789012:policy/intern-boundary \ --user-name intern

此命令不生成任何输出。

示例 2:根据 Amazon 托管策略向 IAM 用户应用权限边界

以下put-user-permissions-boundary示例应用名PowerUserAccess为指定 IAM 用户的权限边界的 Amazon 托管策略。

aws iam put-user-permissions-boundary \ --permissions-boundary arn:aws:iam::aws:policy/PowerUserAccess \ --user-name developer

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的添加和删​​除 IAM 身份权限

以下代码示例演示如何使用 put-user-policy

Amazon CLI

要将策略附加到 IAM 用户

以下 put-user-policy 命令可将策略附加到名为 Bob 的 IAM 用户。

aws iam put-user-policy \ --user-name Bob \ --policy-name ExamplePolicy \ --policy-document file://AdminPolicy.json

此命令不生成任何输出。

该策略在 AdminPolicy.json 文件中定义为一个 JSON 文档。(文件名和扩展名没有意义。)

有关更多信息,请参阅《Amazon IAM 用户指南》中的添加和删​​除 IAM 身份权限

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考PutUserPolicy中的。

以下代码示例演示如何使用 remove-client-id-from-open-id-connect-provider

Amazon CLI

从为指定的 IAM OpenID Connect 提供者注册的客户端 ID 列表中删除指定的客户端 ID

此示例从与 ARN 为 arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com 的 IAM OIDC 提供者关联的客户端 ID 列表中删除客户端 ID My-TestApp-3

aws iam remove-client-id-from-open-id-connect-provider --client-id My-TestApp-3 \ --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者

以下代码示例演示如何使用 remove-role-from-instance-profile

Amazon CLI

从实例配置文件中删除角色

以下 remove-role-from-instance-profile 命令可将名为 Test-Role 的角色从名为 ExampleInstanceProfile 的实例配置文件中删除。

aws iam remove-role-from-instance-profile \ --instance-profile-name ExampleInstanceProfile \ --role-name Test-Role

有关更多信息,请参阅《Amazon IAM 用户指南》中的使用实例配置文件

以下代码示例演示如何使用 remove-user-from-group

Amazon CLI

要从 IAM 组中删除用户

以下 remove-user-from-group 命令可将名为 Bob 的用户从名为 Admins 的 IAM 组中删除。

aws iam remove-user-from-group \ --user-name Bob \ --group-name Admins

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 IAM 用户组中添加和删除用户

以下代码示例演示如何使用 reset-service-specific-credential

Amazon CLI

示例 1:重置附加到提出请求的用户的特定服务凭证的密码

以下reset-service-specific-credential示例为附加到发出请求的用户的特定服务凭证生成一个新的加密强密码。

aws iam reset-service-specific-credential \ --service-specific-credential-id ACCAEXAMPLE123EXAMPLE

输出:

{ "ServiceSpecificCredential": { "CreateDate": "2019-04-18T20:45:36+00:00", "ServiceName": "codecommit.amazonaws.com", "ServiceUserName": "sofia-at-123456789012", "ServicePassword": "+oaFsNk7tLco+C/obP9GhhcOzGcKOayTmE3LnAmAmH4=", "ServiceSpecificCredentialId": "ACCAEXAMPLE123EXAMPLE", "UserName": "sofia", "Status": "Active" } }

示例 2:重置附加到指定用户的服务特定凭证的密码

以下reset-service-specific-credential示例为附加到指定用户的服务专用凭证生成新的加密强密码。

aws iam reset-service-specific-credential \ --user-name sofia \ --service-specific-credential-id ACCAEXAMPLE123EXAMPLE

输出:

{ "ServiceSpecificCredential": { "CreateDate": "2019-04-18T20:45:36+00:00", "ServiceName": "codecommit.amazonaws.com", "ServiceUserName": "sofia-at-123456789012", "ServicePassword": "+oaFsNk7tLco+C/obP9GhhcOzGcKOayTmE3LnAmAmH4=", "ServiceSpecificCredentialId": "ACCAEXAMPLE123EXAMPLE", "UserName": "sofia", "Status": "Active" } }

有关更多信息,请参阅《Amazon CodeCommit 用户指南》 CodeCommit中的创建 HTTPS 连接的 Git 凭证

以下代码示例演示如何使用 resync-mfa-device

Amazon CLI

重新同步 MFA 设备

以下 resync-mfa-device 示例将与 IAM 用户 Bob 关联且 ARN 为 arn:aws:iam::123456789012:mfa/BobsMFADevice 的 MFA 设备与提供这两个身份验证码的身份验证器程序同步。

aws iam resync-mfa-device \ --user-name Bob \ --serial-number arn:aws:iam::210987654321:mfa/BobsMFADevice \ --authentication-code1 123456 \ --authentication-code2 987654

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 Amazon中使用多重身份验证(MFA)

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ResyncMfaDevice中的。

以下代码示例演示如何使用 set-default-policy-version

Amazon CLI

将指定策略的指定版本设置为策略的默认版本。

此示例将 ARN 为 arn:aws:iam::123456789012:policy/MyPolicy 的策略的 v2 版本设置为默认活动版本。

aws iam set-default-policy-version \ --policy-arn arn:aws:iam::123456789012:policy/MyPolicy \ --version-id v2

有关更多信息,请参阅《Amazon IAM 用户指南》中的 IAM 中的策略和权限

以下代码示例演示如何使用 set-security-token-service-preferences

Amazon CLI

设置全局终端节点令牌版本

以下set-security-token-service-preferences示例将 Amazon STS 配置为在您针对全局终端节点进行身份验证时使用版本 2 令牌。

aws iam set-security-token-service-preferences \ --global-endpoint-token-version v2Token

此命令不生成任何输出。

有关更多信息,请参阅 Amazon IAM 用户指南中的在Amazon 区域中管理 Amazon STS

以下代码示例演示如何使用 simulate-custom-policy

Amazon CLI

示例 1:模拟与 IAM 用户或角色关联的所有 IAM 策略的影响

以下内容simulate-custom-policy展示了如何同时提供策略和定义变量值,以及如何模拟 API 调用以查看是允许还是被拒绝。以下示例显示了仅在指定日期和时间之后才允许访问数据库的策略。模拟之所以成功,是因为模拟的操作和指定的aws:CurrentTime变量都符合策略的要求。

aws iam simulate-custom-policy \ --policy-input-list '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"*","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2018-08-16T12:00:00Z"}}}}' \ --action-names dynamodb:CreateBackup \ --context-entries "ContextKeyName='aws:CurrentTime',ContextKeyValues='2019-04-25T11:00:00Z',ContextKeyType=date"

输出:

{ "EvaluationResults": [ { "EvalActionName": "dynamodb:CreateBackup", "EvalResourceName": "*", "EvalDecision": "allowed", "MatchedStatements": [ { "SourcePolicyId": "PolicyInputList.1", "StartPosition": { "Line": 1, "Column": 38 }, "EndPosition": { "Line": 1, "Column": 167 } } ], "MissingContextValues": [] } ] }

示例 2:模拟策略禁止的命令

以下simulate-custom-policy示例显示了模拟策略禁止的命令的结果。在此示例中,提供的日期早于保单条件所要求的日期。

aws iam simulate-custom-policy \ --policy-input-list '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"*","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2018-08-16T12:00:00Z"}}}}' \ --action-names dynamodb:CreateBackup \ --context-entries "ContextKeyName='aws:CurrentTime',ContextKeyValues='2014-04-25T11:00:00Z',ContextKeyType=date"

输出:

{ "EvaluationResults": [ { "EvalActionName": "dynamodb:CreateBackup", "EvalResourceName": "*", "EvalDecision": "implicitDeny", "MatchedStatements": [], "MissingContextValues": [] } ] }

有关更多信息,请参阅 IAM 用户指南中的使用 IAM 策略模拟器测试Amazon IAM 策略。

以下代码示例演示如何使用 simulate-principal-policy

Amazon CLI

示例 1:模拟任意 IAM 策略的影响

以下内容simulate-principal-policy显示如何模拟用户调用 API 操作并确定与该用户关联的策略是允许还是拒绝该操作。在以下示例中,用户的策略仅允许该codecommit:ListRepositories操作。

aws iam simulate-principal-policy \ --policy-source-arn arn:aws:iam::123456789012:user/alejandro \ --action-names codecommit:ListRepositories

输出:

{ "EvaluationResults": [ { "EvalActionName": "codecommit:ListRepositories", "EvalResourceName": "*", "EvalDecision": "allowed", "MatchedStatements": [ { "SourcePolicyId": "Grant-Access-To-CodeCommit-ListRepo", "StartPosition": { "Line": 3, "Column": 19 }, "EndPosition": { "Line": 9, "Column": 10 } } ], "MissingContextValues": [] } ] }

示例 2:模拟禁止命令的效果

以下simulate-custom-policy示例显示了模拟用户策略所禁止的命令的结果。在以下示例中,用户的策略仅允许在特定日期和时间之后访问 DynamoDB 数据库。在模拟中,用户尝试使用早于策略条件允许的aws:CurrentTime值访问数据库。

aws iam simulate-principal-policy \ --policy-source-arn arn:aws:iam::123456789012:user/alejandro \ --action-names dynamodb:CreateBackup \ --context-entries "ContextKeyName='aws:CurrentTime',ContextKeyValues='2018-04-25T11:00:00Z',ContextKeyType=date"

输出:

{ "EvaluationResults": [ { "EvalActionName": "dynamodb:CreateBackup", "EvalResourceName": "*", "EvalDecision": "implicitDeny", "MatchedStatements": [], "MissingContextValues": [] } ] }

有关更多信息,请参阅 IAM 用户指南中的使用 IAM 策略模拟器测试Amazon IAM 策略。

以下代码示例演示如何使用 tag-instance-profile

Amazon CLI

向实例配置文件添加标签

以下tag-instance-profile命令将带有部门名称的标签添加到指定的实例配置文件中。

aws iam tag-instance-profile \ --instance-profile-name deployment-role \ --tags '[{"Key": "Department", "Value": "Accounting"}]'

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考TagInstanceProfile中的。

以下代码示例演示如何使用 tag-mfa-device

Amazon CLI

向 MFA 设备添加标签

以下tag-mfa-device命令将带有部门名称的标签添加到指定的 MFA 设备。

aws iam tag-mfa-device \ --serial-number arn:aws:iam::123456789012:mfa/alice \ --tags '[{"Key": "Department", "Value": "Accounting"}]'

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考TagMfaDevice中的。

以下代码示例演示如何使用 tag-open-id-connect-provider

Amazon CLI

向兼容 OpenID Connect (OIDC) 的身份提供商添加标签

以下tag-open-id-connect-provider命令将带有部门名称的标签添加到指定的 OIDC 身份提供商。

aws iam tag-open-id-connect-provider \ --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/server.example.com \ --tags '[{"Key": "Department", "Value": "Accounting"}]'

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

以下代码示例演示如何使用 tag-policy

Amazon CLI

向客户托管策略添加标签

以下tag-policy命令将带有部门名称的标签添加到指定的客户托管策略中。

aws iam tag-policy \ --policy-arn arn:aws:iam::123456789012:policy/billing-access \ --tags '[{"Key": "Department", "Value": "Accounting"}]'

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考TagPolicy中的。

以下代码示例演示如何使用 tag-role

Amazon CLI

为角色添加标签

以下 tag-role 命令为指定角色添加带有部门名称的标签。

aws iam tag-role --role-name my-role \ --tags '{"Key": "Department", "Value": "Accounting"}'

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考TagRole中的。

以下代码示例演示如何使用 tag-saml-provider

Amazon CLI

向 SAML 提供商添加标签

以下tag-saml-provider命令将带有部门名称的标签添加到指定的 SAML 提供商。

aws iam tag-saml-provider \ --saml-provider-arn arn:aws:iam::123456789012:saml-provider/ADFS \ --tags '[{"Key": "Department", "Value": "Accounting"}]'

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考TagSamlProvider中的。

以下代码示例演示如何使用 tag-server-certificate

Amazon CLI

向服务器证书添加标签

以下tag-saml-provider命令将带有部门名称的标签添加到指定的服务器证书。

aws iam tag-server-certificate \ --server-certificate-name ExampleCertificate \ --tags '[{"Key": "Department", "Value": "Accounting"}]'

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

以下代码示例演示如何使用 tag-user

Amazon CLI

为用户添加标签

以下 tag-user 命令为指定用户添加与部门关联的标签。

aws iam tag-user \ --user-name alice \ --tags '{"Key": "Department", "Value": "Accounting"}'

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考TagUser中的。

以下代码示例演示如何使用 untag-instance-profile

Amazon CLI

从实例配置文件中删除标签

以下untag-instance-profile命令从指定的实例配置文件中删除密钥名称为 “Department” 的所有标签。

aws iam untag-instance-profile \ --instance-profile-name deployment-role \ --tag-keys Department

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

以下代码示例演示如何使用 untag-mfa-device

Amazon CLI

从 MFA 设备中移除标签

以下untag-mfa-device命令从指定的 MFA 设备中删除所有密钥名称为 “部门” 的标签。

aws iam untag-mfa-device \ --serial-number arn:aws:iam::123456789012:mfa/alice \ --tag-keys Department

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UntagMfaDevice中的。

以下代码示例演示如何使用 untag-open-id-connect-provider

Amazon CLI

从 OIDC 身份提供商处移除标签

以下untag-open-id-connect-provider命令从指定的 OIDC 身份提供商中删除密钥名称为 “部门” 的所有标签。

aws iam untag-open-id-connect-provider \ --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/server.example.com \ --tag-keys Department

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

以下代码示例演示如何使用 untag-policy

Amazon CLI

从客户托管策略中移除标签

以下untag-policy命令从指定的客户托管策略中删除密钥名称为 “Department” 的所有标签。

aws iam untag-policy \ --policy-arn arn:aws:iam::452925170507:policy/billing-access \ --tag-keys Department

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UntagPolicy中的。

以下代码示例演示如何使用 untag-role

Amazon CLI

删除角色的标签

以下 untag-role 命令从指定角色中删除键名称为“部门”的所有标签。

aws iam untag-role \ --role-name my-role \ --tag-keys Department

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UntagRole中的。

以下代码示例演示如何使用 untag-saml-provider

Amazon CLI

从 SAML 提供商中移除标签

以下untag-saml-provider命令从指定的实例配置文件中删除密钥名称为 “Department” 的所有标签。

aws iam untag-saml-provider \ --saml-provider-arn arn:aws:iam::123456789012:saml-provider/ADFS \ --tag-keys Department

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UntagSamlProvider中的。

以下代码示例演示如何使用 untag-server-certificate

Amazon CLI

从服务器证书中删除标签

以下untag-server-certificate命令从指定的服务器证书中删除所有密钥名为 “部门” 的标签。

aws iam untag-server-certificate \ --server-certificate-name ExampleCertificate \ --tag-keys Department

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

以下代码示例演示如何使用 untag-user

Amazon CLI

删除用户的标签

以下 untag-user 命令从指定用户中删除键名称为“部门”的所有标签。

aws iam untag-user \ --user-name alice \ --tag-keys Department

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的标记 IAM 资源

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UntagUser中的。

以下代码示例演示如何使用 update-access-key

Amazon CLI

要激活或停用 IAM 用户的访问密钥

以下 update-access-key 命令将停用名为 Bob IAM 用户的指定访问密钥(访问密钥 ID 和秘密访问密钥)。

aws iam update-access-key \ --access-key-id AKIAIOSFODNN7EXAMPLE \ --status Inactive \ --user-name Bob

此命令不生成任何输出。

停用密钥意味着它不能用于以编程方式访问。 Amazon但密钥仍然可用,可以重新激活。

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户的访问密钥

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateAccessKey中的。

以下代码示例演示如何使用 update-account-password-policy

Amazon CLI

设置或更改当前账户密码策略

以下 update-account-password-policy 命令将密码策略设置为要求长度最少为八个字符,并要求在密码中包含一个或多个数字。

aws iam update-account-password-policy \ --minimum-password-length 8 \ --require-numbers

此命令不生成任何输出。

对账户密码策略的更改会影响为账户中的 IAM 用户创建的所有新密码。密码策略更改不会影响现有的密码。

有关更多信息,请参阅《Amazon IAM 用户指南》中的为 IAM 用户设置账户密码策略

以下代码示例演示如何使用 update-assume-role-policy

Amazon CLI

更新 IAM 角色的信任策略

以下 update-assume-role-policy 命令更新名为 Test-Role 的角色的信任策略。

aws iam update-assume-role-policy \ --role-name Test-Role \ --policy-document file://Test-Role-Trust-Policy.json

此命令不生成任何输出。

信任策略在 Test-Role-Trust-Policy.json 文件中定义为 JSON 文档。(文件名和扩展名没有意义。) 信任策略必须指定主体。

要更新角色的权限策略,请使用 put-role-policy 命令。

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM 角色

以下代码示例演示如何使用 update-group

Amazon CLI

重命名 IAM 组

以下 update-group 命令可将 IAM 组 Test 的名称更改为 Test-1

aws iam update-group \ --group-name Test \ --new-group-name Test-1

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的重命名 IAM 用户组

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateGroup中的。

以下代码示例演示如何使用 update-login-profile

Amazon CLI

更新 IAM 用户的密码

以下 update-login-profile 命令为名为 Bob 的 IAM 用户创建新密码。

aws iam update-login-profile \ --user-name Bob \ --password <password>

此命令不生成任何输出。

要为账户设置密码策略,请使用 update-account-password-policy 命令。如果新密码违反了账户密码策略,则该命令将返回 PasswordPolicyViolation 错误。

如果账户密码策略允许,则 IAM 用户可以使用 change-password 命令更改自己的密码。

将密码保存在安全位置。如果密码丢失,则将无法恢复,必须使用 create-login-profile 命令创建新密码。

有关更多信息,请参阅《Amazon IAM 用户指南》中的管理 IAM 用户的密码

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateLoginProfile中的。

以下代码示例演示如何使用 update-open-id-connect-provider-thumbprint

Amazon CLI

将现有服务器证书指纹列表替换为新列表

此示例更新了其 ARN 为 arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com 的 OIDC 提供者的证书指纹列表以使用新指纹。

aws iam update-open-id-connect-provider-thumbprint \ --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com \ --thumbprint-list 7359755EXAMPLEabc3060bce3EXAMPLEec4542a3

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者

以下代码示例演示如何使用 update-role-description

Amazon CLI

更改 IAM 角色的描述

以下 update-role 命令可将 IAM 角色 production-role 的描述更改为 Main production role

aws iam update-role-description \ --role-name production-role \ --description 'Main production role'

输出:

{ "Role": { "Path": "/", "RoleName": "production-role", "RoleId": "AROA1234567890EXAMPLE", "Arn": "arn:aws:iam::123456789012:role/production-role", "CreateDate": "2017-12-06T17:16:37+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "sts:AssumeRole", "Condition": {} } ] }, "Description": "Main production role" } }

有关更多信息,请参阅《Amazon IAM 用户指南》中的修改角色

以下代码示例演示如何使用 update-role

Amazon CLI

更改 IAM 角色的描述或会话持续时间

以下 update-role 命令将 IAM 角色 production-role 的描述更改为 Main production role,并将最长会话持续时间设置为 12 小时。

aws iam update-role \ --role-name production-role \ --description 'Main production role' \ --max-session-duration 43200

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的修改角色

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateRole中的。

以下代码示例演示如何使用 update-saml-provider

Amazon CLI

更新现有 SAML 提供者的元数据文档

此示例使用文件 SAMLMetaData.xml 中的新 SAML 元数据文档更新 ARN 为 arn:aws:iam::123456789012:saml-provider/SAMLADFS 的 IAM 中的 SAML 提供者。

aws iam update-saml-provider \ --saml-metadata-document file://SAMLMetaData.xml \ --saml-provider-arn arn:aws:iam::123456789012:saml-provider/SAMLADFS

输出:

{ "SAMLProviderArn": "arn:aws:iam::123456789012:saml-provider/SAMLADFS" }

有关更多信息,请参阅《Amazon IAM 用户指南》中的创建 IAM SAML 身份提供者

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateSamlProvider中的。

以下代码示例演示如何使用 update-server-certificate

Amazon CLI

更改您 Amazon 账户中服务器证书的路径或名称

以下 update-server-certificate 命令可将证书名称从 myServerCertificate 更改为 myUpdatedServerCertificate。它还会将路径更改为,以/cloudfront/便 Amazon CloudFront 服务可以对其进行访问。此命令不生成任何输出。运行 list-server-certificates 命令即可查看更新结果。

aws-iam update-server-certificate \ --server-certificate-name myServerCertificate \ --new-server-certificate-name myUpdatedServerCertificate \ --new-path /cloudfront/

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的在 IAM 中管理服务器证书

以下代码示例演示如何使用 update-service-specific-credential

Amazon CLI

示例 1:更新请求用户的服务专用证书的状态

以下update-service-specific-credential示例更改了向其发出请求的用户的指定凭据的状态。Inactive

aws iam update-service-specific-credential \ --service-specific-credential-id ACCAEXAMPLE123EXAMPLE \ --status Inactive

此命令不生成任何输出。

示例 2:更新指定用户的服务专用凭证的状态

以下update-service-specific-credential示例将指定用户的凭据状态更改为 “非活动”。

aws iam update-service-specific-credential \ --user-name sofia \ --service-specific-credential-id ACCAEXAMPLE123EXAMPLE \ --status Inactive

此命令不生成任何输出。

有关更多信息,请参阅《Amazon CodeCommit 用户指南》 CodeCommit中的 “创建 HTTPS 连接的 Git 凭证

以下代码示例演示如何使用 update-signing-certificate

Amazon CLI

激活或停用 IAM 用户的签名证书

以下 update-signing-certificate 命令停用名为 Bob 的 IAM 用户的指定签名证书。

aws iam update-signing-certificate \ --certificate-id TA7SMP42TDN5Z26OBPJE7EXAMPLE \ --status Inactive \ --user-name Bob

要获取签名证书的 ID,请使用 list-signing-certificates 命令。

有关更多信息,请参阅《Amazon EC2 用户指南》中的管理签名证书

以下代码示例演示如何使用 update-ssh-public-key

Amazon CLI

更改 SSH 公钥的状态

以下update-ssh-public-key命令将指定公钥的状态更改为Inactive

aws iam update-ssh-public-key \ --user-name sofia \ --ssh-public-key-id APKA1234567890EXAMPLE \ --status Inactive

此命令不生成任何输出。

有关更多信息,请参阅 Amazon IAM 用户指南 CodeCommit中的使用 SSH 密钥和 SSH

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateSshPublicKey中的。

以下代码示例演示如何使用 update-user

Amazon CLI

要更改 IAM 用户的名称

以下 update-user 命令可将 IAM 用户 Bob 的名称更改为 Robert

aws iam update-user \ --user-name Bob \ --new-user-name Robert

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IAM 用户指南》中的重命名 IAM 用户组

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateUser中的。

以下代码示例演示如何使用 upload-server-certificate

Amazon CLI

将服务器证书上传到您的 Amazon 账户

以下upload-server-certificate命令将服务器证书上传到您的 Amazon 账户。在此示例中,证书位于 public_key_cert_file.pem 文件中,关联的私有密钥位于 my_private_key.pem 文件中,而证书颁发机构(CA)提供的证书链位于 my_certificate_chain_file.pem 文件中。文件上传完毕后,该文件将以该名称显示myServerCertificate。以 file:// 开头的参数让命令读取文件的内容,将其用作参数值,而不是文件名本身。

aws iam upload-server-certificate \ --server-certificate-name myServerCertificate \ --certificate-body file://public_key_cert_file.pem \ --private-key file://my_private_key.pem \ --certificate-chain file://my_certificate_chain_file.pem

输出:

{ "ServerCertificateMetadata": { "Path": "/", "ServerCertificateName": "myServerCertificate", "ServerCertificateId": "ASCAEXAMPLE123EXAMPLE", "Arn": "arn:aws:iam::1234567989012:server-certificate/myServerCertificate", "UploadDate": "2019-04-22T21:13:44+00:00", "Expiration": "2019-10-15T22:23:16+00:00" } }

有关更多信息,请参阅《使用 IAM》中的创建、上传和删除服务器证书。

以下代码示例演示如何使用 upload-signing-certificate

Amazon CLI

上传 IAM 用户的签名证书

以下 upload-signing-certificate 命令上传名为 Bob 的 IAM 用户的签名证书。

aws iam upload-signing-certificate \ --user-name Bob \ --certificate-body file://certificate.pem

输出:

{ "Certificate": { "UserName": "Bob", "Status": "Active", "CertificateBody": "-----BEGIN CERTIFICATE-----<certificate-body>-----END CERTIFICATE-----", "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", "UploadDate": "2013-06-06T21:40:08.121Z" } }

证书位于名为 certificate.pem 的文件中,采用 PEM 格式。

有关更多信息,请参阅《使用 IAM》指南中的“创建和上传用户签名证书”。

以下代码示例演示如何使用 upload-ssh-public-key

Amazon CLI

上传 SSH 公钥并将其与用户关联

以下upload-ssh-public-key命令上传在文件中找到的公钥sshkey.pub并将其附加到用户sofia

aws iam upload-ssh-public-key \ --user-name sofia \ --ssh-public-key-body file://sshkey.pub

输出:

{ "SSHPublicKey": { "UserName": "sofia", "SSHPublicKeyId": "APKA1234567890EXAMPLE", "Fingerprint": "12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef", "SSHPublicKeyBody": "ssh-rsa <<long string generated by ssh-keygen command>>", "Status": "Active", "UploadDate": "2019-04-18T17:04:49+00:00" } }

有关如何以适合此命令的格式生成密钥的更多信息,请参阅 SSH 和 Linux、macOS 或 Unix:为 Git 和/ CodeCommit 或 SSH 和 Windows 设置公钥和私钥:为 Git 设置公钥和私钥,以及 CodeCommitAmazon CodeCommit 用户指南》。

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UploadSshPublicKey中的。