使用 AWS CLI 的 IAM 示例
以下代码示例演示了如何通过将 AWS Command Line Interface与 IAM 结合使用,来执行操作和实现常见场景。
操作 是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 add-client-id-to-open-id-connect-provider
。
- AWS CLI
-
将客户端 ID(受众)添加到 Open-ID Connect(OIDC)提供者
以下
add-client-id-to-open-id-connect-provider
命令将客户端 IDmy-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-arnarn:aws:iam::123456789012:oidc-provider/server.example.com
此命令不生成任何输出。
要创建 OIDC 提供者,请使用
create-open-id-connect-provider
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AddClientIdToOpenIdConnectProvider
。
-
以下代码示例演示了如何使用 add-role-to-instance-profile
。
- AWS CLI
-
为实例配置文件添加角色
以下
add-role-to-instance-profile
命令可将名为S3Access
的角色添加到名为Webserver
的实例配置文件。aws iam add-role-to-instance-profile \ --role-name
S3Access
\ --instance-profile-nameWebserver
此命令不生成任何输出。
要创建实例配置文件,请使用
create-instance-profile
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的使用 IAM 角色为 Amazon EC2 实例上运行的应用程序授予权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AddRoleToInstanceProfile
。
-
以下代码示例演示了如何使用 add-user-to-group
。
- AWS CLI
-
将用户添加到 IAM 组
以下
add-user-to-group
命令可将名为Bob
的 IAM 用户添加到名为Admins
的 IAM 组。aws iam add-user-to-group \ --user-name
Bob
\ --group-nameAdmins
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的在 IAM 用户组中添加和删除用户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AddUserToGroup
。
-
以下代码示例演示了如何使用 attach-group-policy
。
- AWS CLI
-
将托管策略附加到 IAM 组
以下
attach-group-policy
命令可将名为ReadOnlyAccess
的 AWS 托管策略附加到名为Finance
的 IAM 组。aws iam attach-group-policy \ --policy-arn
arn:aws:iam::aws:policy/ReadOnlyAccess
\ --group-nameFinance
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的托管策略和内联策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AttachGroupPolicy
。
-
以下代码示例演示了如何使用 attach-role-policy
。
- AWS CLI
-
将托管策略附加到 IAM 角色
以下
attach-role-policy
命令可将名为ReadOnlyAccess
的 AWS 托管策略附加到名为ReadOnlyRole
的 IAM 角色。aws iam attach-role-policy \ --policy-arn
arn:aws:iam::aws:policy/ReadOnlyAccess
\ --role-nameReadOnlyRole
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的托管策略和内联策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AttachRolePolicy
。
-
以下代码示例演示了如何使用 attach-user-policy
。
- AWS CLI
-
将托管策略附加到 IAM 用户
以下
attach-user-policy
命令可将名为AdministratorAccess
的 AWS 托管策略附加到名为Alice
的 IAM 用户。aws iam attach-user-policy \ --policy-arn
arn:aws:iam::aws:policy/AdministratorAccess
\ --user-nameAlice
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的托管策略和内联策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 AttachUserPolicy
。
-
以下代码示例演示了如何使用 change-password
。
- AWS 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 用户调用。如果使用 AWS 账户(根)凭证调用此命令,则命令将返回
InvalidUserType
错误。有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 用户如何更改自己的密码。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ChangePassword
。
-
以下代码示例演示了如何使用 create-access-key
。
- AWS 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" } }
将秘密访问密钥存储在安全位置。如果访问密钥丢失,将无法恢复,必须创建一个新的访问密钥。
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户的访问密钥。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateAccessKey
。
-
以下代码示例演示了如何使用 create-account-alias
。
- AWS CLI
-
创建账户别名
以下
create-account-alias
命令可为 AWS 账户创建别名examplecorp
。aws iam create-account-alias \ --account-alias
examplecorp
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的您的 AWS 账户 ID 及其别名。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateAccountAlias
。
-
以下代码示例演示了如何使用 create-group
。
- AWS 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" } }
有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM 用户组。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateGroup
。
-
以下代码示例演示了如何使用 create-instance-profile
。
- AWS 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
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的使用 IAM 角色为 Amazon EC2 实例上运行的应用程序授予权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateInstanceProfile
。
-
以下代码示例演示了如何使用 create-login-profile
。
- AWS 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
命令更改自己的密码。有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户的密码。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateLoginProfile
。
-
以下代码示例演示了如何使用 create-open-id-connect-provider
。
- AWS 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 提供者的更多信息,请参阅《AWS IAM 用户指南》中的创建 OpenID Connect(OIDC)身份提供者。
有关获取 OIDC 提供者指纹的更多信息,请参阅《AWS IAM 用户指南》中的获取 OpenID Connect 身份提供者的指纹。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateOpenIdConnectProvider
。
-
以下代码示例演示了如何使用 create-policy-version
。
- AWS 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-documentfile://NewPolicyVersion.json
\ --set-as-default输出:
{ "PolicyVersion": { "CreateDate": "2015-06-16T18:56:03.721Z", "VersionId": "v2", "IsDefaultVersion": true } }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM policy 版本控制。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreatePolicyVersion
。
-
以下代码示例演示了如何使用 create-policy
。
- AWS CLI
-
示例 1:创建客户托管策略
以下命令创建名为
my-policy
的客户托管策略。aws iam create-policy \ --policy-name
my-policy
\ --policy-documentfile://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" } }
有关使用文件作为字符串参数输入的更多信息,请参阅《AWS CLI 用户指南》中的为 AWS CLI 指定参数值。
示例 2:创建带有描述的客户托管策略
以下命令创建名为
my-policy
且带有不可变描述的客户托管策略:aws iam create-policy \ --policy-name
my-policy
\ --policy-documentfile://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" } }
有关基于身份的策略的更多信息,请参阅《AWS 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-documentfile://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" { ] } }
有关标记策略的更多信息,请参阅《AWS IAM 用户指南》中的标记客户托管策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreatePolicy
。
-
以下代码示例演示了如何使用 create-role
。
- AWS CLI
-
示例 1:创建 IAM 角色
以下
create-role
命令创建一个名为Test-Role
的角色并对其附加信任策略。aws iam create-role \ --role-name
Test-Role
\ --assume-role-policy-documentfile://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
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM 角色。
示例 2:创建具有指定最长会话持续时间的 IAM 角色
以下
create-role
命令创建一个名为Test-Role
的角色,并将最长会话持续时间设置为 7200 秒(2 小时)。aws iam create-role \ --role-name
Test-Role
\ --assume-role-policy-documentfile://Test-Role-Trust-Policy.json
\ --max-session-duration7200
输出:
{ "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" } ] } } }
有关更多信息,请参阅《AWS IAM 用户指南》中的修改角色最长会话持续时间(AWS 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-documentfile://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" } ] } }
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateRole
。
-
以下代码示例演示了如何使用 create-saml-provider
。
- AWS CLI
-
创建 SAML 提供者
此示例在 IAM 中创建了一个名为
MySAMLProvider
的新 SAML 提供者。SAMLMetaData.xml
文件中的 SAML 元数据文档对其进行了描述。aws iam create-saml-provider \ --saml-metadata-document
file://SAMLMetaData.xml
\ --nameMySAMLProvider
输出:
{ "SAMLProviderArn": "arn:aws:iam::123456789012:saml-provider/MySAMLProvider" }
有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM SAML 身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateSAMLProvider
。
-
以下代码示例演示了如何使用 create-service-linked-role
。
- AWS CLI
-
创建服务相关角色
以下
create-service-linked-role
示例为指定的 AWS 服务创建了服务相关角色,并附加了指定的描述。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" ] } } ] } } }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用服务相关角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateServiceLinkedRole
。
-
以下代码示例演示了如何使用 create-service-specific-credential
。
- AWS CLI
-
为用户创建一组特定于服务的凭证
以下
create-service-specific-credential
示例创建一个用户名和密码,只能用它们访问已配置的服务。aws iam create-service-specific-credential \ --user-name
sofia
\ --service-namecodecommit.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" } }
有关更多信息,请参阅《AWS CodeCommit 用户指南》中的创建 Git 凭证以用于通过 HTTPS 连接 CodeCommit。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateServiceSpecificCredential
。
-
以下代码示例演示了如何使用 create-user
。
- AWS 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" } }
有关更多信息,请参阅《AWS IAM 用户指南》中的在 AWS 账户中创建 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" } }
有关更多信息,请参阅《AWS 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" } ] } }
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 用户。
示例 3:创建具有设定权限边界的 IAM 用户
以下
create-user
命令创建一个名为Bob
且权限边界为 AmazonS3FullAccess 的 IAM 用户。aws iam create-user \ --user-name
Bob
\ --permissions-boundaryarn: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" } } }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 实体的权限边界。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateUser
。
-
以下代码示例演示了如何使用 create-virtual-mfa-device
。
- AWS CLI
-
创建虚拟 MFA 设备
此示例创建名为
BobsMFADevice
的新虚拟 MFA 设备。它会创建一个包含引导信息的、名为QRCode.png
的文件,并将其放在C:/
目录中。本示例中使用的引导方法为QRCodePNG
。aws iam create-virtual-mfa-device \ --virtual-mfa-device-name
BobsMFADevice
\ --outfileC:/QRCode.png
\ --bootstrap-methodQRCodePNG
输出:
{ "VirtualMFADevice": { "SerialNumber": "arn:aws:iam::210987654321:mfa/BobsMFADevice" }
有关更多信息,请参阅《AWS IAM 用户指南》中的在 AWS 中使用多重身份验证(MFA)。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateVirtualMfaDevice
。
-
以下代码示例演示了如何使用 deactivate-mfa-device
。
- AWS CLI
-
停用 MFA 设备
此命令使用与用户
Bob
关联的 ARNarn:aws:iam::210987654321:mfa/BobsMFADevice
停用虚拟 MFA 设备。aws iam deactivate-mfa-device \ --user-name
Bob
\ --serial-numberarn:aws:iam::210987654321:mfa/BobsMFADevice
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的在 AWS 中使用多重身份验证(MFA)。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeactivateMfaDevice
。
-
以下代码示例演示了如何使用 decode-authorization-message
。
- AWS 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 文本处理器对其进行解析。
{ "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/*\"}]}}]}}}" }
有关更多消息,请参阅《AWS re:Post》中的在 EC2 实例启动期间收到“UnauthorizedOperation”错误后,如何解码授权失败消息?
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DecodeAuthorizationMessage
。
-
以下代码示例演示了如何使用 delete-access-key
。
- AWS CLI
-
删除 IAM 用户的访问密钥
以下
delete-access-key
命令将删除名为Bob
IAM 用户的指定访问密钥(访问密钥 ID 和秘密访问密钥)。aws iam delete-access-key \ --access-key-id
AKIDPMS9RO4H3FEXAMPLE
\ --user-nameBob
此命令不生成任何输出。
要列出为 IAM 用户定义的访问密钥,请使用
list-access-keys
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户的访问密钥。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteAccessKey
。
-
以下代码示例演示了如何使用 delete-account-alias
。
- AWS CLI
-
删除账户别名
以下
delete-account-alias
命令将删除当前账户的别名mycompany
。aws iam delete-account-alias \ --account-alias
mycompany
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的您的 AWS 账户 ID 及其别名。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteAccountAlias
。
-
以下代码示例演示了如何使用 delete-account-password-policy
。
- AWS CLI
-
删除当前账户密码策略
以下
delete-account-password-policy
命令将删除当前账户的密码策略。aws iam delete-account-password-policy
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的为 IAM 用户设置账户密码策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteAccountPasswordPolicy
。
-
以下代码示例演示了如何使用 delete-group-policy
。
- AWS CLI
-
从 IAM 组中删除策略
以下
delete-group-policy
命令可将名为ExamplePolicy
的策略从名为Admins
的组中删除。aws iam delete-group-policy \ --group-name
Admins
\ --policy-nameExamplePolicy
此命令不生成任何输出。
要查看附加到组的策略,请使用
list-group-policies
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteGroupPolicy
。
-
以下代码示例演示了如何使用 delete-group
。
- AWS CLI
-
删除 IAM 组
以下
delete-group
命令将删除名为MyTestGroup
的 IAM 组。aws iam delete-group \ --group-name
MyTestGroup
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的删除 IAM 用户组。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteGroup
。
-
以下代码示例演示了如何使用 delete-instance-profile
。
- AWS CLI
-
删除实例配置文件
以下
delete-instance-profile
命令将删除名为ExampleInstanceProfile
的实例配置文件。aws iam delete-instance-profile \ --instance-profile-name
ExampleInstanceProfile
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的使用实例配置文件。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteInstanceProfile
。
-
以下代码示例演示了如何使用 delete-login-profile
。
- AWS CLI
-
删除 IAM 用户的密码
以下
delete-login-profile
命令删除名为Bob
的 IAM 用户的密码。aws iam delete-login-profile \ --user-name
Bob
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户的密码。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteLoginProfile
。
-
以下代码示例演示了如何使用 delete-open-id-connect-provider
。
- AWS 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
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteOpenIdConnectProvider
。
-
以下代码示例演示了如何使用 delete-policy-version
。
- AWS CLI
-
删除托管策略的某个版本
此示例从 ARN 为
arn:aws:iam::123456789012:policy/MySamplePolicy
的策略中删除标识为v2
的版本。aws iam delete-policy-version \ --policy-arn
arn:aws:iam::123456789012:policy/MyPolicy
\ --version-idv2
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeletePolicyVersion
。
-
以下代码示例演示了如何使用 delete-policy
。
- AWS CLI
-
删除 IAM 策略
此示例删除了 ARN 为
arn:aws:iam::123456789012:policy/MySamplePolicy
的策略。aws iam delete-policy \ --policy-arn
arn:aws:iam::123456789012:policy/MySamplePolicy
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeletePolicy
。
-
以下代码示例演示了如何使用 delete-role-permissions-boundary
。
- AWS CLI
-
删除 IAM 角色的权限边界
以下
delete-role-permissions-boundary
示例删除指定 IAM 角色的权限边界。要对角色应用权限边界,请使用put-role-permissions-boundary
命令。aws iam delete-role-permissions-boundary \ --role-name
lambda-application-role
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteRolePermissionsBoundary
。
-
以下代码示例演示了如何使用 delete-role-policy
。
- AWS CLI
-
从 IAM 角色中移除策略
以下
delete-role-policy
命令可将名为ExamplePolicy
的策略从名为Test-Role
的角色中移除。aws iam delete-role-policy \ --role-name
Test-Role
\ --policy-nameExamplePolicy
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的修改角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteRolePolicy
。
-
以下代码示例演示了如何使用 delete-role
。
- AWS 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
)。有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM 角色和使用实例配置文件。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteRole
。
-
以下代码示例演示了如何使用 delete-saml-provider
。
- AWS 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
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM SAML 身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteSAMLProvider
。
-
以下代码示例演示了如何使用 delete-server-certificate
。
- AWS CLI
-
从 AWS 账户中删除服务器证书
以下
delete-server-certificate
命令可从 AWS 账户中删除指定的服务器证书。aws iam delete-server-certificate \ --server-certificate-name
myUpdatedServerCertificate
此命令不生成任何输出。
要列出 AWS 账户中可用的服务器证书,请使用
list-server-certificates
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的在 IAM 中管理服务器证书。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteServerCertificate
。
-
以下代码示例演示了如何使用 delete-service-linked-role
。
- AWS 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" }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用服务相关角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteServiceLinkedRole
。
-
以下代码示例演示了如何使用 delete-service-specific-credential
。
- AWS 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-idACCAEXAMPLE123EXAMPLE
此命令不生成任何输出。
有关更多信息,请参阅《AWS CodeCommit 用户指南》中的创建 Git 凭证以用于通过 HTTPS 连接 CodeCommit。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteServiceSpecificCredential
。
-
以下代码示例演示了如何使用 delete-signing-certificate
。
- AWS CLI
-
删除 IAM 用户的签名证书
以下
delete-signing-certificate
命令删除名为Bob
的 IAM 用户的指定签名证书。aws iam delete-signing-certificate \ --user-name
Bob
\ --certificate-idTA7SMP42TDN5Z26OBPJE7EXAMPLE
此命令不生成任何输出。
要获取签名证书的 ID,请使用
list-signing-certificates
命令。有关更多信息,请参阅《Amazon EC2 用户指南》中的管理签名证书。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteSigningCertificate
。
-
以下代码示例演示了如何使用 delete-ssh-public-key
。
- AWS CLI
-
删除附加到 IAM 用户的 SSH 公钥
以下
delete-ssh-public-key
命令删除附加到 IAM 用户sofia
的指定 SSH 公钥。aws iam delete-ssh-public-key \ --user-name
sofia
\ --ssh-public-key-idAPKA123456789EXAMPLE
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的将 SSH 密钥和 SSH 用于 CodeCommit。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteSshPublicKey
。
-
以下代码示例演示了如何使用 delete-user-permissions-boundary
。
- AWS CLI
-
删除 IAM 用户的权限边界
以下
delete-user-permissions-boundary
示例删除了附加到名为intern
的 IAM 用户的权限边界。要对用户应用权限边界,请使用put-user-permissions-boundary
命令。aws iam delete-user-permissions-boundary \ --user-name
intern
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteUserPermissionsBoundary
。
-
以下代码示例演示了如何使用 delete-user-policy
。
- AWS CLI
-
从 IAM 用户中移除策略
以下
delete-user-policy
命令可将指定策略从名为Bob
的 IAM 用户中移除。aws iam delete-user-policy \ --user-name
Bob
\ --policy-nameExamplePolicy
此命令不生成任何输出。
要获取 IAM 用户的策略列表,请使用
list-user-policies
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的在 AWS 账户中创建 IAM 用户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteUserPolicy
。
-
以下代码示例演示了如何使用 delete-user
。
- AWS CLI
-
删除 IAM 用户
以下
delete-user
命令可将名为Bob
的 IAM 用户从当前账户中删除。aws iam delete-user \ --user-name
Bob
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的删除 IAM 用户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteUser
。
-
以下代码示例演示了如何使用 delete-virtual-mfa-device
。
- AWS CLI
-
删除虚拟 MFA 设备
以下
delete-virtual-mfa-device
命令从当前账户中删除指定的 MFA 设备。aws iam delete-virtual-mfa-device \ --serial-number
arn:aws:iam::123456789012:mfa/MFATest
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的停用 MFA 设备。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteVirtualMfaDevice
。
-
以下代码示例演示了如何使用 detach-group-policy
。
- AWS CLI
-
从组中分离策略
此示例将从名为
Testers
的组重删除 ARN 为arn:aws:iam::123456789012:policy/TesterAccessPolicy
的托管策略。aws iam detach-group-policy \ --group-name
Testers
\ --policy-arnarn:aws:iam::123456789012:policy/TesterAccessPolicy
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户组。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DetachGroupPolicy
。
-
以下代码示例演示了如何使用 detach-role-policy
。
- AWS CLI
-
从角色分离策略
此示例将从名为
FedTesterRole
的角色删除具有 ARNarn:aws:iam::123456789012:policy/FederatedTesterAccessPolicy
的托管策略。aws iam detach-role-policy \ --role-name
FedTesterRole
\ --policy-arnarn:aws:iam::123456789012:policy/FederatedTesterAccessPolicy
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的修改角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DetachRolePolicy
。
-
以下代码示例演示了如何使用 detach-user-policy
。
- AWS CLI
-
从用户分离策略
此示例将从用户
Bob
删除具有 ARNarn:aws:iam::123456789012:policy/TesterPolicy
的托管策略。aws iam detach-user-policy \ --user-name
Bob
\ --policy-arnarn:aws:iam::123456789012:policy/TesterPolicy
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的更改 IAM 用户的权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DetachUserPolicy
。
-
以下代码示例演示了如何使用 enable-mfa-device
。
- AWS CLI
-
启用 MFA 设备
使用
create-virtual-mfa-device
命令创建新的虚拟 MFA 设备后,您可以将 MFA 设备分配给用户。以下enable-mfa-device
示例将序列号为arn:aws:iam::210987654321:mfa/BobsMFADevice
的 MFA 设备分配给用户Bob
。该命令还通过按顺序包含虚拟 MFA 设备中的前两个代码,将设备与 AWS 同步。aws iam enable-mfa-device \ --user-name
Bob
\ --serial-numberarn:aws:iam::210987654321:mfa/BobsMFADevice
\ --authentication-code1123456
\ --authentication-code2789012
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的启用虚拟多重身份验证(MFA)设备。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 EnableMfaDevice
。
-
以下代码示例演示了如何使用 generate-credential-report
。
- AWS CLI
-
生成凭证报告
以下示例尝试为 AWS 账户生成凭证报告。
aws iam generate-credential-report
输出:
{ "State": "STARTED", "Description": "No report exists. Starting a new report generation task" }
有关更多信息,请参阅《AWS IAM 用户指南》中的获取 AWS 账户的凭证报告。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GenerateCredentialReport
。
-
以下代码示例演示了如何使用 generate-organizations-access-report
。
- AWS 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
示例启动一个后台作业来为组织o-4fxmplt198
中的账户 ID123456789012
创建访问报告。创建报告后,您可以通过运行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
示例启动一个后台作业来为组织o-4fxmplt198
的组织单位ou-c3xb-lmu7j2yg
中的账户 ID234567890123
创建访问报告。创建报告后,您可以通过运行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-roots
和organizations list-organizational-units-for-parent
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的使用上次访问的信息优化 AWS 中的权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GenerateOrganizationsAccessReport
。
-
以下代码示例演示了如何使用 generate-service-last-accessed-details
。
- AWS 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:为 AWS 托管 AdministratorAccess 策略生成服务访问报告
以下
generate-service-last-accessed-details
示例启动后台作业以生成一份报告,其中列出使用 AWS 托管AdministratorAccess
策略的 IAM 用户和其他实体所访问的服务。创建报告后,您可以通过运行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" }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用上次访问的信息优化 AWS 中的权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GenerateServiceLastAccessedDetails
。
-
以下代码示例演示了如何使用 get-access-key-last-used
。
- AWS 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" } }
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户的访问密钥。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetAccessKeyLastUsed
。
-
以下代码示例演示了如何使用 get-account-authorization-details
。
- AWS CLI
-
列出 AWS 账户 IAM 用户、组、角色和策略
以下
get-account-authorization-details
命令将返回 AWS 账户中所有 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 }
有关更多信息,请参阅《AWS IAM 用户指南》中的 AWS 安全审计指南。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetAccountAuthorizationDetails
。
-
以下代码示例演示了如何使用 get-account-password-policy
。
- AWS 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
错误。有关更多信息,请参阅《AWS IAM 用户指南》中的为 IAM 用户设置账户密码策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetAccountPasswordPolicy
。
-
以下代码示例演示了如何使用 get-account-summary
。
- AWS 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 } }
有关实体限制的更多信息,请参阅《AWS IAM 用户指南》中的 IAM 和 AWS STS 配额。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetAccountSummary
。
-
以下代码示例演示了如何使用 get-context-keys-for-custom-policy
。
- AWS CLI
-
示例 1:列出作为命令行参数提供的一个或多个自定义 JSON 策略所引用的上下文键
以下
get-context-keys-for-custom-policy
命令解析每个提供的策略,并列出这些策略使用的上下文键。使用此命令来确定必须提供哪些上下文键值才能成功使用策略模拟器命令simulate-custom-policy
和simulate-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" ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用 IAM Policy Simulator(AWS CLI 和 AWS API)。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》》中的 GetContextKeysForCustomPolicy
。
-
以下代码示例演示了如何使用 get-context-keys-for-principal-policy
。
- AWS CLI
-
列出与 IAM 主体关联的所有策略引用的上下文键
以下
get-context-keys-for-principal-policy
命令检索附加到用户saanvi
及其所属任何组的所有策略。然后,该命令会解析每个策略并列出这些策略使用的上下文键。使用此命令来确定必须提供哪些上下文键值才能成功使用simulate-custom-policy
和simulate-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" ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用 IAM Policy Simulator(AWS CLI 和 AWS API)。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetContextKeysForPrincipalPolicy
。
-
以下代码示例演示了如何使用 get-credential-report
。
- AWS CLI
-
获取凭证报告
此示例打开返回的报告,并将其作为文本行数组输出到管道。
aws iam get-credential-report
输出:
{ "GeneratedTime": "2015-06-17T19:11:50Z", "ReportFormat": "text/csv" }
有关更多信息,请参阅《AWS IAM 用户指南》中的获取 AWS 账户的凭证报告。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetCredentialReport
。
-
以下代码示例演示了如何使用 get-group-policy
。
- AWS CLI
-
获取有关附加到 IAM 组的策略的信息
以下
get-group-policy
命令获取有关附加到名为Test-Group
的组的指定策略的信息。aws iam get-group-policy \ --group-name
Test-Group
\ --policy-nameS3-ReadOnly-Policy
输出:
{ "GroupName": "Test-Group", "PolicyDocument": { "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Resource": "*", "Effect": "Allow" } ] }, "PolicyName": "S3-ReadOnly-Policy" }
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetGroupPolicy
。
-
以下代码示例演示了如何使用 get-group
。
- AWS 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": [] }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 身份(用户、用户组和角色)。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetGroup
。
-
以下代码示例演示了如何使用 get-instance-profile
。
- AWS 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" } }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用实例配置文件。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetInstanceProfile
。
-
以下代码示例演示了如何使用 get-login-profile
。
- AWS 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
)。有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户的密码。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetLoginProfile
。
-
以下代码示例演示了如何使用 get-mfa-device
。
- AWS 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" } }
有关更多信息,请参阅《AWS IAM 用户指南》中的在 AWS 中使用多重身份验证(MFA)。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetMfaDevice
。
-
以下代码示例演示了如何使用 get-open-id-connect-provider
。
- AWS 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" ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetOpenIdConnectProvider
。
-
以下代码示例演示了如何使用 get-organizations-access-report
。
- AWS CLI
-
检索访问报告
以下
get-organizations-access-report
示例显示了以前为 AWS Organizations 实体生成的访问报告。要生成报告,请使用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 }, ... }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用上次访问的信息优化 AWS 中的权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetOrganizationsAccessReport
。
-
以下代码示例演示了如何使用 get-policy-version
。
- AWS CLI
-
检索有关指定托管策略的指定版本的信息
此示例将返回 ARN 为
arn:aws:iam::123456789012:policy/MyManagedPolicy
的策略 v2 版本的策略文档。aws iam get-policy-version \ --policy-arn
arn:aws:iam::123456789012:policy/MyPolicy
\ --version-idv2
输出:
{ "PolicyVersion": { "Document": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:*", "Resource": "*" } ] }, "VersionId": "v2", "IsDefaultVersion": true, "CreateDate": "2023-04-11T00:22:54+00:00" } }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetPolicyVersion
。
-
以下代码示例演示了如何使用 get-policy
。
- AWS 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" } }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetPolicy
。
-
以下代码示例演示了如何使用 get-role-policy
。
- AWS CLI
-
获取有关附加到 IAM 角色的策略的信息
以下
get-role-policy
命令获取有关附加到名为Test-Role
的角色的指定策略的信息。aws iam get-role-policy \ --role-name
Test-Role
\ --policy-nameExamplePolicy
输出:
{ "RoleName": "Test-Role", "PolicyDocument": { "Statement": [ { "Action": [ "s3:ListBucket", "s3:Put*", "s3:Get*", "s3:*MultipartUpload*" ], "Resource": "*", "Effect": "Allow", "Sid": "1" } ] } "PolicyName": "ExamplePolicy" }
有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM 角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetRolePolicy
。
-
以下代码示例演示了如何使用 get-role
。
- AWS 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
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM 角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetRole
。
-
以下代码示例演示了如何使用 get-saml-provider
。
- AWS CLI
-
检索 SAML 提供者元文档
此示例检索有关 ARN 为
arn:aws:iam::123456789012:saml-provider/SAMLADFS
的 SAML 2.0 提供者的详细信息。响应包括您从身份提供者那里获得的、用于创建 AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM SAML 身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetSamlProvider
。
-
以下代码示例演示了如何使用 get-server-certificate
。
- AWS CLI
-
获取有关 AWS 账户中服务器证书的详细信息
以下
get-server-certificate
命令将检索 AWS 账户中指定服务器证书的所有详细信息。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-----" } }
要列出 AWS 账户中可用的服务器证书,请使用
list-server-certificates
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的在 IAM 中管理服务器证书。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetServerCertificate
。
-
以下代码示例演示了如何使用 get-service-last-accessed-details-with-entities
。
- AWS 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-namespacelambda
输出:
{ "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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用上次访问的信息优化 AWS 中的权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetServiceLastAccessedDetailsWithEntities
。
-
以下代码示例演示了如何使用 get-service-last-accessed-details
。
- AWS 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 }, ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用上次访问的信息优化 AWS 中的权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetServiceLastAccessedDetails
。
-
以下代码示例演示了如何使用 get-service-linked-role-deletion-status
。
- AWS 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" }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用服务相关角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetServiceLinkedRoleDeletionStatus
。
-
以下代码示例演示了如何使用 get-ssh-public-key
。
- AWS 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-idAPKA123456789EXAMPLE
\ --encodingSSH
输出:
{ "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-idAPKA123456789EXAMPLE
\ --encodingPEM
输出:
{ "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" } }
有关更多信息,请参阅《AWS IAM 用户指南》中的将 SSH 密钥和 SSH 用于 CodeCommit。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetSshPublicKey
。
-
以下代码示例演示了如何使用 get-user-policy
。
- AWS CLI
-
列出 IAM 用户的策略详细信息
以下
get-user-policy
命令将列出附加到名为Bob
的 IAM 用户的指定策略的详细信息。aws iam get-user-policy \ --user-name
Bob
\ --policy-nameExamplePolicy
输出:
{ "UserName": "Bob", "PolicyName": "ExamplePolicy", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "*", "Resource": "*", "Effect": "Allow" } ] } }
要获取 IAM 用户的策略列表,请使用
list-user-policies
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetUserPolicy
。
-
以下代码示例演示了如何使用 get-user
。
- AWS 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" } }
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetUser
。
-
以下代码示例演示了如何使用 list-access-keys
。
- AWS 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
命令创建新的访问密钥。有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户的访问密钥。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListAccessKeys
。
-
以下代码示例演示了如何使用 list-account-aliases
。
- AWS CLI
-
列出账户别名
以下
list-account-aliases
命令将列出当前账户的别名。aws iam list-account-aliases
输出:
{ "AccountAliases": [ "mycompany" ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的您的 AWS 账户 ID 及其别名。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListAccountAliases
。
-
以下代码示例演示了如何使用 list-attached-group-policies
。
- AWS CLI
-
列出附加到指定组的所有托管策略
此示例将返回附加到 AWS 账户中名为
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 }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListAttachedGroupPolicies
。
-
以下代码示例演示了如何使用 list-attached-role-policies
。
- AWS CLI
-
列出附加到指定角色的所有托管策略
此命令将返回附加到 AWS 账户中名为
SecurityAuditRole
的 IAM 角色的托管策略名称和 ARN。aws iam list-attached-role-policies \ --role-name
SecurityAuditRole
输出:
{ "AttachedPolicies": [ { "PolicyName": "SecurityAudit", "PolicyArn": "arn:aws:iam::aws:policy/SecurityAudit" } ], "IsTruncated": false }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListAttachedRolePolicies
。
-
以下代码示例演示了如何使用 list-attached-user-policies
。
- AWS CLI
-
列出附加到指定用户的所有托管策略
此命令将返回附加到 AWS 账户中名为
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 }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListAttachedUserPolicies
。
-
以下代码示例演示了如何使用 list-entities-for-policy
。
- AWS 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 }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListEntitiesForPolicy
。
-
以下代码示例演示了如何使用 list-group-policies
。
- AWS CLI
-
列出附加到指定组的所有内联策略
以下
list-group-policies
命令列出附加到当前文档中名为Admins
的 IAM 组的内联策略名称。aws iam list-group-policies \ --group-name
Admins
输出:
{ "PolicyNames": [ "AdminRoot", "ExamplePolicy" ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListGroupPolicies
。
-
以下代码示例演示了如何使用 list-groups-for-user
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户组。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListGroupsForUser
。
-
以下代码示例演示了如何使用 list-groups
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户组。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListGroups
。
-
以下代码示例演示了如何使用 list-instance-profile-tags
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListInstanceProfileTags
。
-
以下代码示例演示了如何使用 list-instance-profiles-for-role
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用实例配置文件。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListInstanceProfilesForRole
。
-
以下代码示例演示了如何使用 list-instance-profiles
。
- AWS 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" } ] } } ] } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用实例配置文件。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListInstanceProfiles
。
-
以下代码示例演示了如何使用 list-mfa-device-tags
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListMfaDeviceTags
。
-
以下代码示例演示了如何使用 list-mfa-devices
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的在 AWS 中使用多重身份验证(MFA)。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListMfaDevices
。
-
以下代码示例演示了如何使用 list-open-id-connect-provider-tags
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListOpenIdConnectProviderTags
。
-
以下代码示例演示了如何使用 list-open-id-connect-providers
。
- AWS CLI
-
列出 AWS 账户中 OpenID Connect 提供者的相关信息
此示例返回当前 AWS 账户中定义的所有 OpenID Connect 提供者的 ARN 列表。
aws iam list-open-id-connect-providers
输出:
{ "OpenIDConnectProviderList": [ { "Arn": "arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListOpenIdConnectProviders
。
-
以下代码示例演示了如何使用 list-policies-granting-service-access
。
- AWS CLI
-
列出授予主体访问指定服务的权限的策略
以下
list-policies-granting-service-access
示例检索授予 IAM 用户sofia
访问 AWS CodeCommit 服务的权限的策略列表。aws iam list-policies-granting-service-access \ --arn
arn:aws:iam::123456789012:user/sofia
\ --service-namespacescodecommit
输出:
{ "PoliciesGrantingServiceAccess": [ { "ServiceNamespace": "codecommit", "Policies": [ { "PolicyName": "Grant-Sofia-Access-To-CodeCommit", "PolicyType": "INLINE", "EntityType": "USER", "EntityName": "sofia" } ] } ], "IsTruncated": false }
有关更多信息,请参阅《AWS IAM 用户指南》中的将 IAM 用于 CodeCommit:Git 凭证、SSH 密钥和 AWS 访问密钥。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListPoliciesGrantingServiceAccess
。
-
以下代码示例演示了如何使用 list-policies
。
- AWS CLI
-
列出您的 AWS 账户可用的托管策略
此示例将返回当前 AWS 账户中可用的前两个托管策略的集合。
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==" }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListPolicies
。
-
以下代码示例演示了如何使用 list-policy-tags
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListPolicyTags
。
-
以下代码示例演示了如何使用 list-policy-versions
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListPolicyVersions
。
-
以下代码示例演示了如何使用 list-role-policies
。
- AWS CLI
-
列出附加到 IAM 角色的策略
以下
list-role-policies
命令将列出指定 IAM 角色的权限策略名称。aws iam list-role-policies \ --role-name
Test-Role
输出:
{ "PolicyNames": [ "ExamplePolicy" ] }
要查看附加到角色的信任策略,请使用
get-role
命令。要查看权限策略的详细信息,请使用get-role-policy
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM 角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListRolePolicies
。
-
以下代码示例演示了如何使用 list-role-tags
。
- AWS CLI
-
列出附加到角色的标签
以下
list-role-tags
命令检索与指定角色关联的标签列表。aws iam list-role-tags \ --role-name
production-role
输出:
{ "Tags": [ { "Key": "Department", "Value": "Accounting" }, { "Key": "DeptID", "Value": "12345" } ], "IsTruncated": false }
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListRoleTags
。
-
以下代码示例演示了如何使用 list-roles
。
- AWS 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 } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM 角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListRoles
。
-
以下代码示例演示了如何使用 list-saml-provider-tags
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListSamlProviderTags
。
-
以下代码示例演示了如何使用 list-saml-providers
。
- AWS CLI
-
列出 AWS 账户中的 SAML 提供者
此示例将检索在当前 AWS 账户中创建的 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM SAML 身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListSAMLProviders
。
-
以下代码示例演示了如何使用 list-server-certificate-tags
。
- AWS CLI
-
列出附加到某个服务器证书的标签
以下
list-server-certificate-tags
命令检索与指定服务器证书关联的标签列表。aws iam list-server-certificate-tags \ --server-certificate-name
ExampleCertificate
输出:
{ "Tags": [ { "Key": "DeptID", "Value": "123456" }, { "Key": "Department", "Value": "Accounting" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListServerCertificateTags
。
-
以下代码示例演示了如何使用 list-server-certificates
。
- AWS CLI
-
列出 AWS 账户中的服务器证书
以下
list-server-certificates
命令将列出 AWS 账户中存储并可供使用的所有服务器证书。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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的在 IAM 中管理服务器证书。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListServerCertificates
。
-
以下代码示例演示了如何使用 list-service-specific-credential
。
- AWS 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" } }
有关更多信息,请参阅《AWS CodeCommit 用户指南》中的创建 Git 凭证以用于通过 HTTPS 连接 CodeCommit。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListServiceSpecificCredential
。
-
以下代码示例演示了如何使用 list-service-specific-credentials
。
- AWS CLI
-
检索凭证列表
以下
list-service-specific-credentials
示例列出为名为developer
的用户生成的用来通过 HTTPS 访问 AWS CodeCommit 存储库的凭证。aws iam list-service-specific-credentials \ --user-name
developer
\ --service-namecodecommit.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" } ] }
有关更多信息,请参阅《AWS CodeCommit 用户指南》中的创建 Git 凭证以用于通过 HTTPS 连接 CodeCommit。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListServiceSpecificCredentials
。
-
以下代码示例演示了如何使用 list-signing-certificates
。
- AWS 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 用户指南》中的管理签名证书。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListSigningCertificates
。
-
以下代码示例演示了如何使用 list-ssh-public-keys
。
- AWS CLI
-
列出附加到 IAM 用户的 SSH 公钥
以下
list-ssh-public-keys
示例列出附加到 IAM 用户sofia
的 SSH 公钥。aws iam list-ssh-public-keys \ --user-name
sofia
输出:
{ "SSHPublicKeys": [ { "UserName": "sofia", "SSHPublicKeyId": "APKA1234567890EXAMPLE", "Status": "Inactive", "UploadDate": "2019-04-18T17:04:49+00:00" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的将 SSH 密钥和 SSH 用于 CodeCommit。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListSshPublicKeys
。
-
以下代码示例演示了如何使用 list-user-policies
。
- AWS CLI
-
列出 IAM 用户的策略
以下
list-user-policies
命令将列出附加到名为Bob
的 IAM 用户的策略。aws iam list-user-policies \ --user-name
Bob
输出:
{ "PolicyNames": [ "ExamplePolicy", "TestPolicy" ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的在 AWS 账户中创建 IAM 用户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListUserPolicies
。
-
以下代码示例演示了如何使用 list-user-tags
。
- AWS CLI
-
列出附加到用户的标签
以下
list-user-tags
命令检索与指定 IAM 用户关联的标签列表。aws iam list-user-tags \ --user-name
alice
输出:
{ "Tags": [ { "Key": "Department", "Value": "Accounting" }, { "Key": "DeptID", "Value": "12345" } ], "IsTruncated": false }
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListUserTags
。
-
以下代码示例演示了如何使用 list-users
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的列出 IAM 用户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListUsers
。
-
以下代码示例演示了如何使用 list-virtual-mfa-devices
。
- AWS 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" } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的启用虚拟多重身份验证(MFA)设备。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListVirtualMfaDevices
。
-
以下代码示例演示了如何使用 put-group-policy
。
- AWS CLI
-
为组添加策略
以下
put-group-policy
命令可将策略添加到名为Admins
的 IAM 组。aws iam put-group-policy \ --group-name
Admins
\ --policy-documentfile://AdminPolicy.json
\ --policy-nameAdminRoot
此命令不生成任何输出。
该策略在 AdminPolicy.json 文件中定义为 JSON 文档。(文件名和扩展名没有意义。)
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutGroupPolicy
。
-
以下代码示例演示了如何使用 put-role-permissions-boundary
。
- AWS 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-namelambda-application-role
此命令不生成任何输出。
示例 2:将基于 AWS 托管策略的权限边界应用于 IAM 角色
以下
put-role-permissions-boundary
示例应用 AWS 托管PowerUserAccess
策略作为指定 IAM 角色的权限边界。aws iam put-role-permissions-boundary \ --permissions-boundary
arn:aws:iam::aws:policy/PowerUserAccess
\ --role-namex-account-admin
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的修改角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutRolePermissionsBoundary
。
-
以下代码示例演示了如何使用 put-role-policy
。
- AWS CLI
-
将权限策略附加到 IAM 角色
以下
put-role-policy
命令可将权限策略附加到名为Test-Role
的角色。aws iam put-role-policy \ --role-name
Test-Role
\ --policy-nameExamplePolicy
\ --policy-documentfile://AdminPolicy.json
此命令不生成任何输出。
该策略在 AdminPolicy.json 文件中定义为 JSON 文档。(文件名和扩展名没有意义。)
要将信任策略附加到角色,请使用
update-assume-role-policy
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的修改角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutRolePolicy
。
-
以下代码示例演示了如何使用 put-user-permissions-boundary
。
- AWS 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-nameintern
此命令不生成任何输出。
示例 2:将基于 AWS 托管策略的权限边界应用于 IAM 用户
以下
put-user-permissions-boundary
示例应用名为PowerUserAccess
的 AWS 托管策略作为指定 IAM 用户的权限边界。aws iam put-user-permissions-boundary \ --permissions-boundary
arn:aws:iam::aws:policy/PowerUserAccess
\ --user-namedeveloper
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的添加和删除 IAM 身份权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutUserPermissionsBoundary
。
-
以下代码示例演示了如何使用 put-user-policy
。
- AWS CLI
-
将策略附加到 IAM 用户
以下
put-user-policy
命令可将策略附加到名为Bob
的 IAM 用户。aws iam put-user-policy \ --user-name
Bob
\ --policy-nameExamplePolicy
\ --policy-documentfile://AdminPolicy.json
此命令不生成任何输出。
该策略在 AdminPolicy.json 文件中定义为 JSON 文档。(文件名和扩展名没有意义。)
有关更多信息,请参阅《AWS IAM 用户指南》中的添加和删除 IAM 身份权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutUserPolicy
。
-
以下代码示例演示了如何使用 remove-client-id-from-open-id-connect-provider
。
- AWS CLI
-
从为指定的 IAM OpenID Connect 提供者注册的客户端 ID 列表中删除指定的客户端 ID
此示例从与 ARN 为
arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com
的 IAM OIDC 提供者关联的客户端 ID 列表中删除客户端 IDMy-TestApp-3
。aws iam remove-client-id-from-open-id-connect-provider --client-id
My-TestApp-3
\ --open-id-connect-provider-arnarn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的 创建 OpenID Connect(OIDC)身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 RemoveClientIdFromOpenIdConnectProvider
。
-
以下代码示例演示了如何使用 remove-role-from-instance-profile
。
- AWS CLI
-
从实例配置文件中删除角色
以下
remove-role-from-instance-profile
命令可将名为Test-Role
的角色从名为ExampleInstanceProfile
的实例配置文件中删除。aws iam remove-role-from-instance-profile \ --instance-profile-name
ExampleInstanceProfile
\ --role-nameTest-Role
有关更多信息,请参阅《AWS IAM 用户指南》中的使用实例配置文件。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 RemoveRoleFromInstanceProfile
。
-
以下代码示例演示了如何使用 remove-user-from-group
。
- AWS CLI
-
从 IAM 组中删除用户
以下
remove-user-from-group
命令可将名为Bob
的用户从名为Admins
的 IAM 组中删除。aws iam remove-user-from-group \ --user-name
Bob
\ --group-nameAdmins
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的在 IAM 用户组中添加和删除用户。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 RemoveUserFromGroup
。
-
以下代码示例演示了如何使用 reset-service-specific-credential
。
- AWS 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-idACCAEXAMPLE123EXAMPLE
输出:
{ "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" } }
有关更多信息,请参阅《AWS CodeCommit 用户指南》中的创建 Git 凭证以用于通过 HTTPS 连接 CodeCommit。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ResetServiceSpecificCredential
。
-
以下代码示例演示了如何使用 resync-mfa-device
。
- AWS CLI
-
同步 MFA 设备
以下
resync-mfa-device
示例将与 IAM 用户Bob
关联且 ARN 为arn:aws:iam::123456789012:mfa/BobsMFADevice
的 MFA 设备与提供这两个身份验证码的身份验证器程序同步。aws iam resync-mfa-device \ --user-name
Bob
\ --serial-numberarn:aws:iam::210987654321:mfa/BobsMFADevice
\ --authentication-code1123456
\ --authentication-code2987654
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的在 AWS 中使用多重身份验证(MFA)。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ResyncMfaDevice
。
-
以下代码示例演示了如何使用 set-default-policy-version
。
- AWS CLI
-
将指定策略的指定版本设置为策略的默认版本
此示例将 ARN 为
arn:aws:iam::123456789012:policy/MyPolicy
的策略的v2
版本设置为默认活动版本。aws iam set-default-policy-version \ --policy-arn
arn:aws:iam::123456789012:policy/MyPolicy
\ --version-idv2
有关更多信息,请参阅《AWS IAM 用户指南》中的 IAM 中的策略和权限。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 SetDefaultPolicyVersion
。
-
以下代码示例演示了如何使用 set-security-token-service-preferences
。
- AWS CLI
-
设置全局端点令牌版本
以下
set-security-token-service-preferences
示例将 Amazon STS 配置为在您针对全局端点进行身份验证时使用版本 2 令牌。aws iam set-security-token-service-preferences \ --global-endpoint-token-version
v2Token
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的在 AWS 区域中管理 AWS STS。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 SetSecurityTokenServicePreferences
。
-
以下代码示例演示了如何使用 simulate-custom-policy
。
- AWS 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-namesdynamodb: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-namesdynamodb:CreateBackup
\ --context-entries"ContextKeyName='aws:CurrentTime',ContextKeyValues='2014-04-25T11:00:00Z',ContextKeyType=date"
输出:
{ "EvaluationResults": [ { "EvalActionName": "dynamodb:CreateBackup", "EvalResourceName": "*", "EvalDecision": "implicitDeny", "MatchedStatements": [], "MissingContextValues": [] } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用 IAM policy simulator 测试 IAM 策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 SimulateCustomPolicy
。
-
以下代码示例演示了如何使用 simulate-principal-policy
。
- AWS CLI
-
示例 1:模拟任意 IAM 策略的效果
以下
simulate-principal-policy
演示了如何模拟用户调用 API 操作并确定与该用户关联的策略是允许还是拒绝该操作。在以下示例中,用户有一个策略是仅允许codecommit:ListRepositories
操作。aws iam simulate-principal-policy \ --policy-source-arn
arn:aws:iam::123456789012:user/alejandro
\ --action-namescodecommit: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-namesdynamodb:CreateBackup
\ --context-entries"ContextKeyName='aws:CurrentTime',ContextKeyValues='2018-04-25T11:00:00Z',ContextKeyType=date"
输出:
{ "EvaluationResults": [ { "EvalActionName": "dynamodb:CreateBackup", "EvalResourceName": "*", "EvalDecision": "implicitDeny", "MatchedStatements": [], "MissingContextValues": [] } ] }
有关更多信息,请参阅《AWS IAM 用户指南》中的使用 IAM policy simulator 测试 IAM 策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 SimulatePrincipalPolicy
。
-
以下代码示例演示了如何使用 tag-instance-profile
。
- AWS CLI
-
为实例配置文件添加标签
以下
tag-instance-profile
命令向指定实例配置文件添加带有部门名称的标签。aws iam tag-instance-profile \ --instance-profile-name
deployment-role
\ --tags '[{"Key": "Department", "Value": "Accounting"}]
'此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 TagInstanceProfile
。
-
以下代码示例演示了如何使用 tag-mfa-device
。
- AWS CLI
-
为 MFA 设备添加标签
以下
tag-mfa-device
命令为指定 MFA 设备添加带有部门名称的标签。aws iam tag-mfa-device \ --serial-number
arn:aws:iam::123456789012:mfa/alice
\ --tags '[{"Key": "Department", "Value": "Accounting"}]
'此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 TagMfaDevice
。
-
以下代码示例演示了如何使用 tag-open-id-connect-provider
。
- AWS 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"}]
'此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 TagOpenIdConnectProvider
。
-
以下代码示例演示了如何使用 tag-policy
。
以下代码示例演示了如何使用 tag-role
。
以下代码示例演示了如何使用 tag-saml-provider
。
- AWS 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"}]
'此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 TagSamlProvider
。
-
以下代码示例演示了如何使用 tag-server-certificate
。
- AWS CLI
-
为服务器证书添加标签
以下
tag-saml-provider
命令为指定服务器证书添加带有部门名称的标签。aws iam tag-server-certificate \ --server-certificate-name
ExampleCertificate
\ --tags '[{"Key": "Department", "Value": "Accounting"}]
'此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 TagServerCertificate
。
-
以下代码示例演示了如何使用 tag-user
。
以下代码示例演示了如何使用 untag-instance-profile
。
- AWS CLI
-
从实例配置文件中移除标签
以下
untag-instance-profile
命令从指定实例配置文件中移除带有键名称“Department”的任何标签。aws iam untag-instance-profile \ --instance-profile-name
deployment-role
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagInstanceProfile
。
-
以下代码示例演示了如何使用 untag-mfa-device
。
- AWS CLI
-
从 MFA 设备中移除标签
以下
untag-mfa-device
命令从指定 MFA 设备移除带有键名称“Department”的任何标签。aws iam untag-mfa-device \ --serial-number
arn:aws:iam::123456789012:mfa/alice
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagMfaDevice
。
-
以下代码示例演示了如何使用 untag-open-id-connect-provider
。
- AWS CLI
-
从 OIDC 身份提供者移除标签
以下
untag-open-id-connect-provider
命令从指定 OIDC 身份提供者中移除带有键名称“Department”的任何标签。aws iam untag-open-id-connect-provider \ --open-id-connect-provider-arn
arn:aws:iam::123456789012:oidc-provider/server.example.com
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagOpenIdConnectProvider
。
-
以下代码示例演示了如何使用 untag-policy
。
- AWS CLI
-
从客户托管策略中移除标签
以下
untag-policy
命令从指定客户托管策略中移除带有键名称“Department”的任何标签。aws iam untag-policy \ --policy-arn
arn:aws:iam::452925170507:policy/billing-access
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagPolicy
。
-
以下代码示例演示了如何使用 untag-role
。
以下代码示例演示了如何使用 untag-saml-provider
。
- AWS CLI
-
从 SAML 提供者中移除标签
以下
untag-saml-provider
命令从指定实例配置文件中移除带有键名称“Department”的任何标签。aws iam untag-saml-provider \ --saml-provider-arn
arn:aws:iam::123456789012:saml-provider/ADFS
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagSamlProvider
。
-
以下代码示例演示了如何使用 untag-server-certificate
。
- AWS CLI
-
从服务器证书中移除标签
以下
untag-server-certificate
命令从指定服务器证书中移除带有键名称“Department”的任何标签。aws iam untag-server-certificate \ --server-certificate-name
ExampleCertificate
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的标记 IAM 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagServerCertificate
。
-
以下代码示例演示了如何使用 untag-user
。
以下代码示例演示了如何使用 update-access-key
。
- AWS CLI
-
激活或停用 IAM 用户的访问密钥
以下
update-access-key
命令停用名为Bob
的 IAM 用户的指定访问密钥(访问密钥 ID 和秘密访问密钥)。aws iam update-access-key \ --access-key-id
AKIAIOSFODNN7EXAMPLE
\ --statusInactive
\ --user-nameBob
此命令不生成任何输出。
停用密钥意味着它不能用于以编程方式访问 AWS。但密钥仍然可用且可以重新激活。
有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户的访问密钥。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateAccessKey
。
-
以下代码示例演示了如何使用 update-account-password-policy
。
- AWS CLI
-
设置或更改当前账户密码策略
以下
update-account-password-policy
命令将密码策略设置为要求长度最少为八个字符,并要求在密码中包含一个或多个数字。aws iam update-account-password-policy \ --minimum-password-length
8
\ --require-numbers此命令不生成任何输出。
对账户密码策略的更改会影响为账户中的 IAM 用户创建的所有新密码。密码策略更改不会影响现有的密码。
有关更多信息,请参阅《AWS IAM 用户指南》中的为 IAM 用户设置账户密码策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateAccountPasswordPolicy
。
-
以下代码示例演示了如何使用 update-assume-role-policy
。
- AWS CLI
-
更新 IAM 角色的信任策略
以下
update-assume-role-policy
命令更新名为Test-Role
的角色的信任策略。aws iam update-assume-role-policy \ --role-name
Test-Role
\ --policy-documentfile://Test-Role-Trust-Policy.json
此命令不生成任何输出。
信任策略在 Test-Role-Trust-Policy.json 文件中定义为 JSON 文档。(文件名和扩展名没有意义。) 信任策略必须指定主体。
要更新角色的权限策略,请使用
put-role-policy
命令。有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM 角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateAssumeRolePolicy
。
-
以下代码示例演示了如何使用 update-group
。
- AWS CLI
-
重命名 IAM 组
以下
update-group
命令可将 IAM 组Test
的名称更改为Test-1
。aws iam update-group \ --group-name
Test
\ --new-group-nameTest-1
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的重命名 IAM 用户组。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateGroup
。
-
以下代码示例演示了如何使用 update-login-profile
。
- AWS 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
命令创建新密码。有关更多信息,请参阅《AWS IAM 用户指南》中的管理 IAM 用户的密码。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateLoginProfile
。
-
以下代码示例演示了如何使用 update-open-id-connect-provider-thumbprint
。
- AWS 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-list7359755EXAMPLEabc3060bce3EXAMPLEec4542a3
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的创建 OpenID Connect(OIDC)身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateOpenIdConnectProviderThumbprint
。
-
以下代码示例演示了如何使用 update-role-description
。
- AWS 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" } }
有关更多信息,请参阅《AWS IAM 用户指南》中的修改角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateRoleDescription
。
-
以下代码示例演示了如何使用 update-role
。
- AWS 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-duration43200
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的修改角色。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateRole
。
-
以下代码示例演示了如何使用 update-saml-provider
。
- AWS 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-arnarn:aws:iam::123456789012:saml-provider/SAMLADFS
输出:
{ "SAMLProviderArn": "arn:aws:iam::123456789012:saml-provider/SAMLADFS" }
有关更多信息,请参阅《AWS IAM 用户指南》中的创建 IAM SAML 身份提供者。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateSamlProvider
。
-
以下代码示例演示了如何使用 update-server-certificate
。
- AWS CLI
-
更改 AWS 账户中服务器证书的路径或名称
以下
update-server-certificate
命令可将证书名称从myServerCertificate
更改为myUpdatedServerCertificate
,还会将路径更改为/cloudfront/
,以便 Amazon CloudFront 服务可以访问它。此命令不生成任何输出。运行list-server-certificates
命令即可查看更新结果。aws-iam update-server-certificate \ --server-certificate-name
myServerCertificate
\ --new-server-certificate-namemyUpdatedServerCertificate
\ --new-path/cloudfront/
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的在 IAM 中管理服务器证书。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateServerCertificate
。
-
以下代码示例演示了如何使用 update-service-specific-credential
。
- AWS CLI
-
示例 1:更新请求用户的特定服务凭证的状态
以下
update-service-specific-credential
示例更改了向Inactive
发出请求的用户的指定凭证的状态。aws iam update-service-specific-credential \ --service-specific-credential-id
ACCAEXAMPLE123EXAMPLE
\ --statusInactive
此命令不生成任何输出。
示例 2:更新指定用户的特定服务凭证的状态
以下
update-service-specific-credential
示例将指定用户的凭证状态更改为“Inactive”。aws iam update-service-specific-credential \ --user-name
sofia
\ --service-specific-credential-idACCAEXAMPLE123EXAMPLE
\ --statusInactive
此命令不生成任何输出。
有关更多信息,请参阅《AWS CodeCommit 用户指南》中的创建 Git 凭证以用于通过 HTTPS 连接 CodeCommit。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateServiceSpecificCredential
。
-
以下代码示例演示了如何使用 update-signing-certificate
。
- AWS CLI
-
激活或停用 IAM 用户的签名证书
以下
update-signing-certificate
命令停用名为Bob
的 IAM 用户的指定签名证书。aws iam update-signing-certificate \ --certificate-id
TA7SMP42TDN5Z26OBPJE7EXAMPLE
\ --statusInactive
\ --user-nameBob
要获取签名证书的 ID,请使用
list-signing-certificates
命令。有关更多信息,请参阅《Amazon EC2 用户指南》中的管理签名证书。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateSigningCertificate
。
-
以下代码示例演示了如何使用 update-ssh-public-key
。
- AWS CLI
-
更改 SSH 公钥的状态
以下
update-ssh-public-key
命令将指定公钥的状态更改为Inactive
。aws iam update-ssh-public-key \ --user-name
sofia
\ --ssh-public-key-idAPKA1234567890EXAMPLE
\ --statusInactive
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的将 SSH 密钥和 SSH 用于 CodeCommit。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateSshPublicKey
。
-
以下代码示例演示了如何使用 update-user
。
- AWS CLI
-
更改 IAM 用户的名称
以下
update-user
命令将 IAM 用户Bob
的名称更改为Robert
。aws iam update-user \ --user-name
Bob
\ --new-user-nameRobert
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM 用户指南》中的重命名 IAM 用户组。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateUser
。
-
以下代码示例演示了如何使用 upload-server-certificate
。
- AWS CLI
-
将服务器证书上传到 AWS 账户
使用以下 upload-server-certificate 命令可将服务器证书上传到 AWS 账户。在此示例中,证书位于
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-bodyfile://public_key_cert_file.pem
\ --private-keyfile://my_private_key.pem
\ --certificate-chainfile://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》指南中的“创建、上传和删除服务器证书”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UploadServerCertificate
。
-
以下代码示例演示了如何使用 upload-signing-certificate
。
- AWS CLI
-
上传 IAM 用户的签名证书
以下
upload-signing-certificate
命令上传名为Bob
的 IAM 用户的签名证书。aws iam upload-signing-certificate \ --user-name
Bob
\ --certificate-bodyfile://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》指南中的“创建和上传用户签名证书”。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UploadSigningCertificate
。
-
以下代码示例演示了如何使用 upload-ssh-public-key
。
- AWS CLI
-
上传 SSH 公钥并将其与用户关联
以下
upload-ssh-public-key
命令上传在文件sshkey.pub
中找到的公钥并将其附加到用户sofia
。aws iam upload-ssh-public-key \ --user-name
sofia
\ --ssh-public-key-bodyfile://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" } }
有关如何以适合此命令的格式生成密钥的更多信息,请参阅《AWS CodeCommit 用户指南》中的 SSH 和 Linux、macOS 或 Unix:为 Git 和 CodeCommit 设置公钥和私钥,或 SSH 和 Windows:为 Git 和 CodeCommit 设置公钥和私钥。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UploadSshPublicKey
。
-