AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
IAM使用示例 AWS CLI
以下代码示例向您展示了如何使用with来执行操作和实现常见场景IAM。 AWS Command Line Interface
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 add-client-id-to-open-id-connect-provider
。
- AWS CLI
-
向 Open-ID Connect () 提供商添加客户端 ID(受众OIDC)
以下
add-client-id-to-open-id-connect-provider
命令将客户端 IDmy-application-ID
添加到名为的OIDC提供商server.example.com
。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详细信息,请参阅 “AddClientIdToOpenIdConnectProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “AddRoleToInstanceProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 add-user-to-group
。
- AWS CLI
-
将用户添加到IAM群组
以下
add-user-to-group
命令将名为的IAM用户Bob
添加到名为的IAM组中Admins
。aws iam add-user-to-group \ --user-name
Bob
\ --group-nameAdmins
此命令不生成任何输出。
有关更多信息,请参阅《用户指南》中的在IAM用户组中添加和删除AWS IAM用户。
-
有关API详细信息,请参阅 “AddUserToGroup AWS CLI
命令参考”。
-
以下代码示例演示如何使用 attach-group-policy
。
- AWS CLI
-
将托管策略附加到IAM群组
以下
attach-group-policy
命令将名为的 AWS 托管策略附加ReadOnlyAccess
到名为的IAM组Finance
。aws iam attach-group-policy \ --policy-arn
arn:aws:iam::aws:policy/ReadOnlyAccess
\ --group-nameFinance
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的托管策略和内联策略。
-
有关API详细信息,请参阅 “AttachGroupPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 attach-role-policy
。
- AWS CLI
-
将托管策略附加到IAM角色
以下
attach-role-policy
命令将名为的 AWS 托管策略附加ReadOnlyAccess
到名为的IAM角色ReadOnlyRole
。aws iam attach-role-policy \ --policy-arn
arn:aws:iam::aws:policy/ReadOnlyAccess
\ --role-nameReadOnlyRole
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的托管策略和内联策略。
-
有关API详细信息,请参阅 “AttachRolePolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 attach-user-policy
。
- AWS CLI
-
将托管策略附加到IAM用户
以下
attach-user-policy
命令将名为的 AWS 托管策略附加AdministratorAccess
到名为的IAM用户Alice
。aws iam attach-user-policy \ --policy-arn
arn:aws:iam::aws:policy/AdministratorAccess
\ --user-nameAlice
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的托管策略和内联策略。
-
有关API详细信息,请参阅 “AttachUserPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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-passwor JSON d.json 的文件一起使用。aws iam change-password \ --cli-input-json
file://change-password.json
此命令不生成任何输出。
此命令只能由IAM用户调用。如果使用 AWS 账户(根)凭据调用此命令,则该命令将返回
InvalidUserType
错误。有关更多信息,请参阅《IAM用户指南》中的AWS IAM用户如何更改自己的密码。
-
有关API详细信息,请参阅 “ChangePassword AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-access-key
。
- AWS CLI
-
为IAM用户创建访问密钥
以下
create-access-key
命令为名为的IAM用户创建访问密钥(访问密钥 ID 和私有访问密钥)Bob
。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详细信息,请参阅 “CreateAccessKey AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-account-alias
。
- AWS CLI
-
要创建账户别名
以下
create-account-alias
命令examplecorp
为您的 AWS 账户创建别名。aws iam create-account-alias \ --account-alias
examplecorp
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的您的 AWS 账户 ID 及其别名。
-
有关API详细信息,请参阅 “CreateAccountAlias AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-group
。
- AWS CLI
-
创建IAM群组
以下
create-group
命令创建一个名为的IAM组Admins
。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" } }
有关更多信息,请参阅《IAM用户指南》中的创建AWS IAM用户组。
-
有关API详细信息,请参阅 “CreateGroup AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “CreateInstanceProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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
命令更改自己的密码。有关更多信息,请参阅《IAM用户指南》中的管理AWS IAM用户密码。
-
有关API详细信息,请参阅 “CreateLoginProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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提供者指纹的更多信息,请参阅《用户指南》中的获取 OpenID Connect 身份提供者的指纹。AWS IAM
-
有关API详细信息,请参阅 “CreateOpenIdConnectProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-policy-version
。
- AWS CLI
-
要创建新版本的托管策略
此示例创建了IAM策略的新
v2
版本,其版本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策略。
-
有关API详细信息,请参阅 “CreatePolicyVersion AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-policy
。
- AWS CLI
-
示例 1:创建客户管理型策略
以下命令将创建名为
my-policy
的客户管理型策略。aws iam create-policy \ --policy-name
my-policy
\ --policy-documentfile://policy
该文件
policy
是当前文件夹中的JSON文档,它授予对名为的 Amazon S3 存储桶中该shared
文件夹的只读权限my-bucket
。{ "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文档,它允许访问名为的 Amazon S3 存储桶的所有 “上传”、“列出” 和 “获取” 操作my-bucket
。{ "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文档,它允许访问名为的 Amazon S3 存储桶的所有 “上传”、“列出” 和 “获取” 操作my-bucket
。{ "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详细信息,请参阅 “CreatePolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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角色
以下命令创建
Test-Role
带有标签的IAM角色。此示例使用带有以下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详细信息,请参阅 “CreateRole AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-saml-provider
。
- AWS CLI
-
创建提供SAML商
此示例在 named 中IAM创建了一个新的SAML提供者
MySAMLProvider
。它由文件中的SAML元数据文档描述SAMLMetaData.xml
。aws iam create-saml-provider \ --saml-metadata-document
file://SAMLMetaData.xml
\ --nameMySAMLProvider
输出:
{ "SAMLProviderArn": "arn:aws:iam::123456789012:saml-provider/MySAMLProvider" }
有关更多信息,请参阅《AWS IAM用户指南》中的创建IAMSAML身份提供商。
-
有关API详细信息,请参阅reateSAMLProvider《AWS CLI 命令参考》中的 C
。
-
以下代码示例演示如何使用 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详细信息,请参阅 “CreateServiceLinkedRole AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 用户指南》 CodeCommit中的创建用于HTTPS连接的 Git 凭证。
-
有关API详细信息,请参阅 “CreateServiceSpecificCredential AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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" } }
有关更多信息,请参阅《IAM用户指南》中的在您的 AWS 账户中创建AWSIAM用户。
示例 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" } ] } }
有关更多信息,请参阅《用户指南》中的为IAM AWS IAM用户添加标签。
示例 3:创建具有设定权限边界的IAM用户
以下
create-user
命令创建一个名为、权限边界为Bob
AmazonS3 FullAccess 的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详细信息,请参阅 “CreateUser AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-virtual-mfa-device
。
- AWS CLI
-
创建虚拟MFA设备
此示例创建了一个名为的新虚拟MFA设备
BobsMFADevice
。它会创建一个包含引导信息的、名为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详细信息,请参阅 “CreateVirtualMfaDevice AWS CLI
命令参考”。
-
以下代码示例演示如何使用 deactivate-mfa-device
。
- AWS CLI
-
停用设备 MFA
此命令使用与用户关联的虚拟MFA设备停用。ARN
arn:aws:iam::210987654321:mfa/BobsMFADevice
Bob
aws iam deactivate-mfa-device \ --user-name
Bob
\ --serial-numberarn:aws:iam::210987654321:mfa/BobsMFADevice
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》 AWS中的使用多重身份验证 (MFA)。
-
有关API详细信息,请参阅 “DeactivateMfaDevice AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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
输出格式为单行文本字符串,您可以使用任何JSONJSON文本处理器对其进行解析。
{ "DecodedMessage": "{\"allowed\":false,\"explicitDeny\":false,\"matchedStatements\":{\"items\":[]},\"failures\":{\"items\":[]},\"context\":{\"principal\":{\"id\":\"AIDAV3ZUEFP6J7GY7O6LO\",\"name\":\"chain-user\",\"arn\":\"arn:aws:iam::403299380220:user/chain-user\"},\"action\":\"ec2:RunInstances\",\"resource\":\"arn:aws:ec2:us-east-2:403299380220:instance/*\",\"conditions\":{\"items\":[{\"key\":\"ec2:InstanceMarketType\",\"values\":{\"items\":[{\"value\":\"on-demand\"}]}},{\"key\":\"aws:Resource\",\"values\":{\"items\":[{\"value\":\"instance/*\"}]}},{\"key\":\"aws:Account\",\"values\":{\"items\":[{\"value\":\"403299380220\"}]}},{\"key\":\"ec2:AvailabilityZone\",\"values\":{\"items\":[{\"value\":\"us-east-2b\"}]}},{\"key\":\"ec2:ebsOptimized\",\"values\":{\"items\":[{\"value\":\"false\"}]}},{\"key\":\"ec2:IsLaunchTemplateResource\",\"values\":{\"items\":[{\"value\":\"false\"}]}},{\"key\":\"ec2:InstanceType\",\"values\":{\"items\":[{\"value\":\"t2.micro\"}]}},{\"key\":\"ec2:RootDeviceType\",\"values\":{\"items\":[{\"value\":\"ebs\"}]}},{\"key\":\"aws:Region\",\"values\":{\"items\":[{\"value\":\"us-east-2\"}]}},{\"key\":\"aws:Service\",\"values\":{\"items\":[{\"value\":\"ec2\"}]}},{\"key\":\"ec2:InstanceID\",\"values\":{\"items\":[{\"value\":\"*\"}]}},{\"key\":\"aws:Type\",\"values\":{\"items\":[{\"value\":\"instance\"}]}},{\"key\":\"ec2:Tenancy\",\"values\":{\"items\":[{\"value\":\"default\"}]}},{\"key\":\"ec2:Region\",\"values\":{\"items\":[{\"value\":\"us-east-2\"}]}},{\"key\":\"aws:ARN\",\"values\":{\"items\":[{\"value\":\"arn:aws:ec2:us-east-2:403299380220:instance/*\"}]}}]}}}" }
有关更多信息,请参阅在EC2实例启动期间收到 “UnauthorizedOperation” 错误后如何解码授权失败消息
? 在 re AWS : post 中。 -
有关API详细信息,请参阅 “DecodeAuthorizationMessage AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-access-key
。
- AWS CLI
-
删除IAM用户的访问密钥
以下
delete-access-key
命令删除名为的IAM用户的指定访问密钥(访问密钥 ID 和私有访问密钥)Bob
。aws iam delete-access-key \ --access-key-id
AKIDPMS9RO4H3FEXAMPLE
\ --user-nameBob
此命令不生成任何输出。
要列出为IAM用户定义的访问密钥,请使用
list-access-keys
命令。有关更多信息,请参阅《用户指南》中的AWS IAM管理IAM用户访问密钥。
-
有关API详细信息,请参阅 “DeleteAccessKey AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-account-alias
。
- AWS CLI
-
要删除账户别名
以下
delete-account-alias
命令将删除当前账户的别名mycompany
。aws iam delete-account-alias \ --account-alias
mycompany
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的您的 AWS 账户 ID 及其别名。
-
有关API详细信息,请参阅 “DeleteAccountAlias AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-account-password-policy
。
- AWS CLI
-
删除当前账户密码策略
以下
delete-account-password-policy
命令将删除当前账户的密码策略。aws iam delete-account-password-policy
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的为IAM用户设置账户密码策略。
-
有关API详细信息,请参阅 “DeleteAccountPasswordPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DeleteGroupPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-group
。
- AWS CLI
-
删除群IAM组
以下
delete-group
命令删除名为的IAM组MyTestGroup
。aws iam delete-group \ --group-name
MyTestGroup
此命令不生成任何输出。
有关更多信息,请参阅《IAM用户指南》中的删除AWS IAM用户组。
-
有关API详细信息,请参阅 “DeleteGroup AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-instance-profile
。
- AWS CLI
-
要删除实例配置文件
以下
delete-instance-profile
命令将删除名为ExampleInstanceProfile
的实例配置文件。aws iam delete-instance-profile \ --instance-profile-name
ExampleInstanceProfile
此命令不生成任何输出。
有关更多信息,请参阅AWS IAM用户指南中的使用实例配置文件。
-
有关API详细信息,请参阅 “DeleteInstanceProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-login-profile
。
- AWS CLI
-
删除IAM用户的密码
以下
delete-login-profile
命令删除名为的IAM用户的密码Bob
。aws iam delete-login-profile \ --user-name
Bob
此命令不生成任何输出。
有关更多信息,请参阅《IAM用户指南》中的管理AWS IAM用户密码。
-
有关API详细信息,请参阅 “DeleteLoginProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-open-id-connect-provider
。
- AWS CLI
-
删除 O IAM penID Connect 身份提供商
此示例删除了连接到该IAMOIDC提供程序的提供商
example.oidcprovider.com
。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详细信息,请参阅 “DeleteOpenIdConnectProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-policy-version
。
- AWS CLI
-
删除托管策略的某个版本
此示例
v2
从策略中删除标识ARN为的版本arn:aws:iam::123456789012:policy/MySamplePolicy
。aws iam delete-policy-version \ --policy-arn
arn:aws:iam::123456789012:policy/MyPolicy
\ --version-idv2
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》IAM中的策略和权限。
-
有关API详细信息,请参阅 “DeletePolicyVersion AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DeletePolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DeleteRolePermissionsBoundary AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DeleteRolePolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DeleteRole AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-saml-provider
。
- AWS CLI
-
删除提供SAML商
此示例删除了为ARN的 IAM SAML 2.0 提供程序
arn:aws:iam::123456789012:saml-provider/SAMLADFSProvider
。aws iam delete-saml-provider \ --saml-provider-arn
arn:aws:iam::123456789012:saml-provider/SAMLADFSProvider
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的创建IAMSAML身份提供商。
-
有关API详细信息,请参阅eleteSAMLProvider《AWS CLI 命令参考》中的 D
。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DeleteServerCertificate AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DeleteServiceLinkedRole AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 用户指南》 CodeCommit中的创建用于HTTPS连接的 Git 凭证。
-
有关API详细信息,请参阅 “DeleteServiceSpecificCredential AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-signing-certificate
。
- AWS CLI
-
删除IAM用户的签名证书
以下
delete-signing-certificate
命令删除名为的IAM用户的指定签名证书Bob
。aws iam delete-signing-certificate \ --user-name
Bob
\ --certificate-idTA7SMP42TDN5Z26OBPJE7EXAMPLE
此命令不生成任何输出。
要获取签名证书的 ID,请使用
list-signing-certificates
命令。有关更多信息,请参阅 Amazon EC2 用户指南中的管理签名证书。
-
有关API详细信息,请参阅 “DeleteSigningCertificate AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-ssh-public-key
。
- AWS CLI
-
删除附加到IAM用户的SSH公钥
以下
delete-ssh-public-key
命令删除附加到IAM用户的指定SSH公钥sofia
。aws iam delete-ssh-public-key \ --user-name
sofia
\ --ssh-public-key-idAPKA123456789EXAMPLE
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》 CodeCommit中的SSH使用SSH密钥和 with。
-
有关API详细信息,请参阅 “DeleteSshPublicKey AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-user-permissions-boundary
。
- AWS CLI
-
删除IAM用户的权限边界
以下
delete-user-permissions-boundary
示例删除了附加到名为的IAM用户的权限边界intern
。要对用户应用权限边界,请使用put-user-permissions-boundary
命令。aws iam delete-user-permissions-boundary \ --user-name
intern
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》IAM中的策略和权限。
-
有关API详细信息,请参阅 “DeleteUserPermissionsBoundary AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-user-policy
。
- AWS CLI
-
从IAM用户身上移除策略
以下
delete-user-policy
命令从名为的IAM用户中删除指定的策略Bob
。aws iam delete-user-policy \ --user-name
Bob
\ --policy-nameExamplePolicy
此命令不生成任何输出。
要获取IAM用户的策略列表,请使用
list-user-policies
命令。有关更多信息,请参阅《IAM用户指南》中的在您的 AWS 账户中创建AWSIAM用户。
-
有关API详细信息,请参阅 “DeleteUserPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-user
。
- AWS CLI
-
删除IAM用户
以下
delete-user
命令将名为的IAM用户Bob
从当前账户中移除。aws iam delete-user \ --user-name
Bob
此命令不生成任何输出。
有关更多信息,请参阅《IAM用户指南》中的删除AWSIAM用户。
-
有关API详细信息,请参阅 “DeleteUser AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “DeleteVirtualMfaDevice AWS CLI
命令参考”。
-
以下代码示例演示如何使用 detach-group-policy
。
- AWS CLI
-
从组中分离策略
此示例ARN
arn:aws:iam::123456789012:policy/TesterAccessPolicy
从名为的组中移除带有的托管策略Testers
。aws iam detach-group-policy \ --group-name
Testers
\ --policy-arnarn:aws:iam::123456789012:policy/TesterAccessPolicy
此命令不生成任何输出。
有关更多信息,请参阅《IAM用户指南》中的管理AWS IAM用户组。
-
有关API详细信息,请参阅 “DetachGroupPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 detach-role-policy
。
- AWS CLI
-
要从角色分离策略
此示例ARN
arn:aws:iam::123456789012:policy/FederatedTesterAccessPolicy
从名为的角色中移除托管策略FedTesterRole
。aws iam detach-role-policy \ --role-name
FedTesterRole
\ --policy-arnarn:aws:iam::123456789012:policy/FederatedTesterAccessPolicy
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的修改角色。
-
有关API详细信息,请参阅 “DetachRolePolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 detach-user-policy
。
- AWS CLI
-
要从用户分离策略
此示例ARN
arn:aws:iam::123456789012:policy/TesterPolicy
从用户中移除带有的托管策略Bob
。aws iam detach-user-policy \ --user-name
Bob
\ --policy-arnarn:aws:iam::123456789012:policy/TesterPolicy
此命令不生成任何输出。
有关更多信息,请参阅《IAM用户指南》中的更改AWS IAM用户权限。
-
有关API详细信息,请参阅 “DetachUserPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 enable-mfa-device
。
- AWS CLI
-
启用MFA设备
使用
create-virtual-mfa-device
命令创建新的虚拟MFA设备后,可以将该MFA设备分配给用户。以下enable-mfa-device
示例将带有序列号的MFA设备分配arn:aws:iam::210987654321:mfa/BobsMFADevice
给用户Bob
。该命令还 AWS 通过按顺序包含来自虚拟设备的前两个代码来与MFA设备同步。aws iam enable-mfa-device \ --user-name
Bob
\ --serial-numberarn:aws:iam::210987654321:mfa/BobsMFADevice
\ --authentication-code1123456
\ --authentication-code2789012
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的启用虚拟多因素身份验证 (MFA) 设备。
-
有关API详细信息,请参阅 “EnableMfaDevice AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GenerateCredentialReport AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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
示例启动后台作业,为组织123456789012
中的账户 ID 创建访问报告o-4fxmplt198
。创建报告后,您可以通过运行get-organizations-access-report
命令来显示报告。aws iam generate-organizations-access-report \ --entity-path
o-4fxmplt198/r-c3xb/123456789012
输出:
{ "JobId": "14b6c071-75f6-2xmp-fb77-faf6fb4201d2" }
示例 3:为组织中组织单位的账户生成访问报告
以下
generate-organizations-access-report
示例启动后台作业,为组织234567890123
中的组织单位ou-c3xb-lmu7j2yg
中的账户 ID 创建访问报告o-4fxmplt198
。创建报告后,您可以通过运行get-organizations-access-report
命令来显示报告。aws iam generate-organizations-access-report \ --entity-path
o-4fxmplt198/r-c3xb/ou-c3xb-lmu7j2yg/234567890123
输出:
{ "JobId": "2eb6c2e6-0xmp-ec04-1425-c937916a64af" }
要获取有关组织中根和组织单位的详细信息,请使用
organizations list-roots
和organizations list-organizational-units-for-parent
命令。有关更多信息,请参阅《AWS IAM用户指南》中的 “ AWS 使用上次访问的信息细化权限”。
-
有关API详细信息,请参阅 “GenerateOrganizationsAccessReport AWS CLI
命令参考”。
-
以下代码示例演示如何使用 generate-service-last-accessed-details
。
- AWS CLI
-
示例 1:为自定义策略生成服务访问报告
以下
generate-service-last-accessed-details
示例启动后台作业以生成一份报告,该报告列出了名为的自定义策略的IAM用户和其他实体访问的服务intern-boundary
。创建报告后,您可以通过运行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详细信息,请参阅 “GenerateServiceLastAccessedDetails AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetAccessKeyLastUsed AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetAccountAuthorizationDetails AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetAccountPasswordPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetAccountSummary AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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策略模拟器”(AWS CLI和 AWS API)。
-
有关API详细信息,请参阅 “GetContextKeysForCustomPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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策略模拟器”(AWS CLI和 AWS API)。
-
有关API详细信息,请参阅 “GetContextKeysForPrincipalPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-credential-report
。
- AWS CLI
-
要获取凭证报告
此示例打开返回的报告,并将其作为文本行数组输出到管道。
aws iam get-credential-report
输出:
{ "GeneratedTime": "2015-06-17T19:11:50Z", "ReportFormat": "text/csv" }
有关更多信息,请参阅AWS IAM用户指南中的获取 AWS 账户凭证报告。
-
有关API详细信息,请参阅 “GetCredentialReport AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetGroupPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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": [] }
有关更多信息,请参阅《用户指南》中的IAM身份(用户、AWS IAM用户组和角色)。
-
有关API详细信息,请参阅 “GetGroup AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetInstanceProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-login-profile
。
- AWS CLI
-
获取IAM用户的密码信息
以下
get-login-profile
命令获取有关名为的IAM用户的密码的信息Bob
。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
)。有关更多信息,请参阅《IAM用户指南》中的管理AWS IAM用户密码。
-
有关API详细信息,请参阅 “GetLoginProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetMfaDevice AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-open-id-connect-provider
。
- AWS CLI
-
返回有关指定 OpenID Connect 提供者的信息
此示例返回有关其所在的 OpenID Connect 提供商的ARN详细信息。
arn:aws:iam::123456789012:oidc-provider/server.example.com
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详细信息,请参阅 “GetOpenIdConnectProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-organizations-access-report
。
- AWS CLI
-
检索访问报告
以下
get-organizations-access-report
示例显示了 Organ AWS izations 实体之前生成的访问报告。要生成报告,请使用generate-organizations-access-report
命令。aws iam get-organizations-access-report \ --job-id
a8b6c06f-aaa4-8xmp-28bc-81da71836359
输出:
{ "JobStatus": "COMPLETED", "JobCreationDate": "2019-09-30T06:53:36.187Z", "JobCompletionDate": "2019-09-30T06:53:37.547Z", "NumberOfServicesAccessible": 188, "NumberOfServicesNotAccessed": 171, "AccessDetails": [ { "ServiceName": "Alexa for Business", "ServiceNamespace": "a4b", "TotalAuthenticatedEntities": 0 }, ... }
有关更多信息,请参阅《AWS IAM用户指南》中的 “ AWS 使用上次访问的信息细化权限”。
-
有关API详细信息,请参阅 “GetOrganizationsAccessReport AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetPolicyVersion AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetRolePolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetRole AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-saml-provider
。
- AWS CLI
-
检索SAML提供者元文档
此示例检索有关其 SAML 2.0 提供商ARM的
arn:aws:iam::123456789012:saml-provider/SAMLADFS
详细信息。响应包括您从身份提供商那里获得的用于创建提供 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用户指南》中的创建IAMSAML身份提供商。
-
有关API详细信息,请参阅 “GetSamlProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetServerCertificate AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetServiceLastAccessedDetailsWithEntities AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetServiceLastAccessedDetails AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “GetServiceLinkedRoleDeletionStatus AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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用户指南》 CodeCommit中的SSH使用SSH密钥和 with。
-
有关API详细信息,请参阅 “GetSshPublicKey AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-user-policy
。
- AWS CLI
-
列出IAM用户的策略详细信息
以下
get-user-policy
命令列出了附加到名为的IAM用户的指定策略的详细信息Bob
。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详细信息,请参阅 “GetUserPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-user
。
- AWS CLI
-
获取有关IAM用户的信息
以下
get-user
命令获取有关名为的IAM用户的信息Paulo
。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" } }
有关更多信息,请参阅《IAM用户指南》中的管理AWSIAM用户。
-
有关API详细信息,请参阅 “GetUser AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-access-keys
。
- AWS CLI
-
列出IAM用户的访问密钥 IDs
以下
list-access-keys
命令列出了名IDs为的IAM用户的访问密钥Bob
。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详细信息,请参阅 “ListAccessKeys AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-account-aliases
。
- AWS CLI
-
要列出账户别名
以下
list-account-aliases
命令将列出当前账户的别名。aws iam list-account-aliases
输出:
{ "AccountAliases": [ "mycompany" ] }
有关更多信息,请参阅《AWS IAM用户指南》中的您的 AWS 账户 ID 及其别名。
-
有关API详细信息,请参阅 “ListAccountAliases AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-attached-group-policies
。
- AWS CLI
-
列出附加到指定组的所有托管策略
此示例返回挂载到 AWS 账户中名为ARNs的IAM组的托管策略的名称
Admins
和托管策略。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详细信息,请参阅 “ListAttachedGroupPolicies AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-attached-role-policies
。
- AWS CLI
-
要列出附加到指定角色的所有托管策略
此命令返回 AWS 账户中指定IAM
SecurityAuditRole
角色ARNs的名称和关联的托管策略。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详细信息,请参阅 “ListAttachedRolePolicies AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-attached-user-policies
。
- AWS CLI
-
列出附加到指定用户的所有托管策略
此命令返回 AWS 账户
Bob
中指定IAM用户的名称和ARNs托管策略。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详细信息,请参阅 “ListAttachedUserPolicies AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListEntitiesForPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListGroupPolicies AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-groups-for-user
。
- AWS CLI
-
列出IAM用户所属的群组
以下
list-groups-for-user
命令显示名为的IAM用户所Bob
属的群组。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" } ] }
有关更多信息,请参阅《IAM用户指南》中的管理AWS IAM用户组。
-
有关API详细信息,请参阅 “ListGroupsForUser AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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" } ] }
有关更多信息,请参阅《IAM用户指南》中的管理AWS IAM用户组。
-
有关API详细信息,请参阅 “ListGroups AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListInstanceProfileTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListInstanceProfilesForRole AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListInstanceProfiles AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListMfaDeviceTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-mfa-devices
。
- AWS CLI
-
列出指定用户的所有MFA设备
此示例返回有关分配给IAM用户的MFA设备的详细信息
Bob
。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详细信息,请参阅 “ListMfaDevices AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListOpenIdConnectProviderTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-open-id-connect-providers
。
- AWS CLI
-
列出账户中 OpenID Connect 提供商的相关信息 AWS
此示例返回当前 AWS 账户中定义ARNS的所有 OpenID Connect 提供商的列表。
aws iam list-open-id-connect-providers
输出:
{ "OpenIDConnectProviderList": [ { "Arn": "arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com" } ] }
有关更多信息,请参阅《AWS IAM用户指南》中的创建 OpenID Connect (OIDC) 身份提供商。
-
有关API详细信息,请参阅 “ListOpenIdConnectProviders AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-policies-granting-service-access
。
- AWS CLI
-
列出授予委托人访问指定服务的权限的策略
以下
list-policies-granting-service-access
示例检索授予IAM用户 AWS CodeCommit 服务sofia
访问权限的策略列表。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详细信息,请参阅 “ListPoliciesGrantingServiceAccess AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListPolicies AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListPolicyTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListPolicyVersions AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListRolePolicies AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListRoleTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListRoles AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListSamlProviderTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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用户指南》中的创建IAMSAML身份提供商。
-
有关API详细信息,请参阅istSAMLProviders《AWS CLI 命令参考》中的 L
。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListServerCertificateTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListServerCertificates AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 用户指南》 CodeCommit中的创建用于HTTPS连接的 Git 凭证。
-
有关API详细信息,请参阅 “ListServiceSpecificCredential AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-service-specific-credentials
。
- AWS CLI
-
检索凭证列表
以下
list-service-specific-credentials
示例列出了为名为的用户HTTPS访问 AWS CodeCommit 存储库而生成的凭证developer
。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 用户指南》 CodeCommit中的创建用于HTTPS连接的 Git 凭证。
-
有关API详细信息,请参阅 “ListServiceSpecificCredentials AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-signing-certificates
。
- AWS CLI
-
列出IAM用户的签名证书
以下
list-signing-certificates
命令列出了名为的IAM用户的签名证书Bob
。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详细信息,请参阅 “ListSigningCertificates AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-ssh-public-keys
。
- AWS CLI
-
列出附加到IAM用户的SSH公钥
以下
list-ssh-public-keys
示例列出了附加到IAM用户的SSH公钥sofia
。aws iam list-ssh-public-keys \ --user-name
sofia
输出:
{ "SSHPublicKeys": [ { "UserName": "sofia", "SSHPublicKeyId": "APKA1234567890EXAMPLE", "Status": "Inactive", "UploadDate": "2019-04-18T17:04:49+00:00" } ] }
有关更多信息,请参阅《AWS IAM用户指南》 CodeCommit中的 “使用SSH密钥和 SSH with”
-
有关API详细信息,请参阅 “ListSshPublicKeys AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-user-policies
。
- AWS CLI
-
列出IAM用户的策略
以下
list-user-policies
命令列出了附加到名为的IAM用户的策略Bob
。aws iam list-user-policies \ --user-name
Bob
输出:
{ "PolicyNames": [ "ExamplePolicy", "TestPolicy" ] }
有关更多信息,请参阅《IAM用户指南》中的在您的 AWS 账户中创建AWSIAM用户。
-
有关API详细信息,请参阅 “ListUserPolicies AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListUserTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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" } ] }
有关更多信息,请参阅《IAM用户指南》中的列出AWSIAM用户。
-
有关API详细信息,请参阅 “ListUsers AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “ListVirtualMfaDevices AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-group-policy
。
- AWS CLI
-
要向组中添加策略
以下
put-group-policy
命令向名为的IAM组添加策略Admins
。aws iam put-group-policy \ --group-name
Admins
\ --policy-documentfile://AdminPolicy.json
\ --policy-nameAdminRoot
此命令不生成任何输出。
该策略定义为 AdminPolicy.json JSON 文件中的文档。(文件名和扩展名没有意义。)
有关更多信息,请参阅《AWS IAM用户指南》中的管理IAM策略。
-
有关API详细信息,请参阅 “PutGroupPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “PutRolePermissionsBoundary AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “PutRolePolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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
为指定IAM用户的权限边界的 AWS 托管策略。aws iam put-user-permissions-boundary \ --permissions-boundary
arn:aws:iam::aws:policy/PowerUserAccess
\ --user-namedeveloper
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的添加和删除IAM身份权限。
-
有关API详细信息,请参阅 “PutUserPermissionsBoundary AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-user-policy
。
- AWS CLI
-
将策略附加到IAM用户
以下
put-user-policy
命令将策略附加到名为的IAM用户Bob
。aws iam put-user-policy \ --user-name
Bob
\ --policy-nameExamplePolicy
\ --policy-documentfile://AdminPolicy.json
此命令不生成任何输出。
该策略定义为 AdminPolicy.json JSON 文件中的文档。(文件名和扩展名没有意义。)
有关更多信息,请参阅《AWS IAM用户指南》中的添加和删除IAM身份权限。
-
有关API详细信息,请参阅 “PutUserPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 remove-client-id-from-open-id-connect-provider
。
- AWS CLI
-
从为指定 IAM OpenID Connect 提供IDs商注册的客户机列表中删除指定的客户端 ID
此示例将客户端 ID
My-TestApp-3
从与其ARN为的IAMOIDC提供商IDs关联的客户端列表中删除arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com
。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详细信息,请参阅 “RemoveClientIdFromOpenIdConnectProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “RemoveRoleFromInstanceProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 remove-user-from-group
。
- AWS CLI
-
从IAM群组中移除用户
以下
remove-user-from-group
命令将名为的用户Bob
从名为的IAM组中移除Admins
。aws iam remove-user-from-group \ --user-name
Bob
\ --group-nameAdmins
此命令不生成任何输出。
有关更多信息,请参阅《用户指南》中的在IAM用户组中添加和删除AWS IAM用户。
-
有关API详细信息,请参阅 “RemoveUserFromGroup AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 用户指南》 CodeCommit中的创建用于HTTPS连接的 Git 凭证。
-
有关API详细信息,请参阅 “ResetServiceSpecificCredential AWS CLI
命令参考”。
-
以下代码示例演示如何使用 resync-mfa-device
。
- AWS CLI
-
同步MFA设备
以下
resync-mfa-device
示例将与IAM用户Bob
关联的MFA设备与提供两个身份ARN验证arn:aws:iam::123456789012:mfa/BobsMFADevice
码的身份验证器程序同步。aws iam resync-mfa-device \ --user-name
Bob
\ --serial-numberarn:aws:iam::210987654321:mfa/BobsMFADevice
\ --authentication-code1123456
\ --authentication-code2987654
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》 AWS中的使用多重身份验证 (MFA)。
-
有关API详细信息,请参阅 “ResyncMfaDevice AWS CLI
命令参考”。
-
以下代码示例演示如何使用 set-default-policy-version
。
- AWS CLI
-
将指定策略的指定版本设置为策略的默认版本。
此示例将策略的
v2
版本设置ARNarn:aws:iam::123456789012:policy/MyPolicy
为默认活动版本。aws iam set-default-policy-version \ --policy-arn
arn:aws:iam::123456789012:policy/MyPolicy
\ --version-idv2
有关更多信息,请参阅《AWS IAM用户指南》IAM中的策略和权限。
-
有关API详细信息,请参阅 “SetDefaultPolicyVersion AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “SetSecurityTokenServicePreferences AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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用户指南》中的使用IAMIAM策略模拟器测试策略。
-
有关API详细信息,请参阅 “SimulateCustomPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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用户指南》中的使用IAMIAM策略模拟器测试策略。
-
有关API详细信息,请参阅 “SimulatePrincipalPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “TagInstanceProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “TagMfaDevice AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “TagOpenIdConnectProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 tag-policy
。
- AWS CLI
-
向客户托管策略添加标签
以下
tag-policy
命令将带有部门名称的标签添加到指定的客户托管策略中。aws iam tag-policy \ --policy-arn
arn:aws:iam::123456789012:policy/billing-access
\ --tags '[{"Key": "Department", "Value": "Accounting"}]
'此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的为IAM资源添加标签。
-
有关API详细信息,请参阅 “TagPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 tag-role
。
- AWS CLI
-
为角色添加标签
以下
tag-role
命令为指定角色添加带有部门名称的标签。aws iam tag-role --role-name
my-role
\ --tags '{"Key": "Department", "Value": "Accounting"}
'此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的为IAM资源添加标签。
-
有关API详细信息,请参阅 “TagRole AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “TagSamlProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “TagServerCertificate AWS CLI
命令参考”。
-
以下代码示例演示如何使用 tag-user
。
- AWS CLI
-
为用户添加标签
以下
tag-user
命令为指定用户添加与部门关联的标签。aws iam tag-user \ --user-name
alice
\ --tags '{"Key": "Department", "Value": "Accounting"}
'此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的为IAM资源添加标签。
-
有关API详细信息,请参阅 “TagUser AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “UntagInstanceProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 untag-mfa-device
。
- AWS CLI
-
从MFA设备上移除标签
以下
untag-mfa-device
命令从指定MFA设备中删除所有密钥名为 “部门” 的标签。aws iam untag-mfa-device \ --serial-number
arn:aws:iam::123456789012:mfa/alice
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的为IAM资源添加标签。
-
有关API详细信息,请参阅 “UntagMfaDevice AWS CLI
命令参考”。
-
以下代码示例演示如何使用 untag-open-id-connect-provider
。
- AWS CLI
-
从OIDC身份提供商处移除标签
以下
untag-open-id-connect-provider
命令从指定的OIDC身份提供商中删除密钥名称为 “部门” 的所有标签。aws iam untag-open-id-connect-provider \ --open-id-connect-provider-arn
arn:aws:iam::123456789012:oidc-provider/server.example.com
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的为IAM资源添加标签。
-
有关API详细信息,请参阅 “UntagOpenIdConnectProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “UntagPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 untag-role
。
- AWS CLI
-
删除角色的标签
以下
untag-role
命令从指定角色中删除键名称为“部门”的所有标签。aws iam untag-role \ --role-name
my-role
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的为IAM资源添加标签。
-
有关API详细信息,请参阅 “UntagRole AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “UntagSamlProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 untag-server-certificate
。
- AWS CLI
-
从服务器证书中删除标签
以下
untag-server-certificate
命令从指定的服务器证书中删除所有密钥名为 “部门” 的标签。aws iam untag-server-certificate \ --server-certificate-name
ExampleCertificate
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的为IAM资源添加标签。
-
有关API详细信息,请参阅 “UntagServerCertificate AWS CLI
命令参考”。
-
以下代码示例演示如何使用 untag-user
。
- AWS CLI
-
删除用户的标签
以下
untag-user
命令从指定用户中删除键名称为“部门”的所有标签。aws iam untag-user \ --user-name
alice
\ --tag-keysDepartment
此命令不生成任何输出。
有关更多信息,请参阅《AWS IAM用户指南》中的为IAM资源添加标签。
-
有关API详细信息,请参阅 “UntagUser AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-access-key
。
- AWS CLI
-
激活或停用用户的访问密钥 IAM
以下
update-access-key
命令为名为的IAM用户停用指定的访问密钥(访问密钥 ID 和私有访问密钥)。Bob
aws iam update-access-key \ --access-key-id
AKIAIOSFODNN7EXAMPLE
\ --statusInactive
\ --user-nameBob
此命令不生成任何输出。
停用密钥意味着它不能用于以编程方式访问。 AWS但密钥仍然可用,可以重新激活。
有关更多信息,请参阅《用户指南》中的AWS IAM管理IAM用户访问密钥。
-
有关API详细信息,请参阅 “UpdateAccessKey AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “UpdateAccountPasswordPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “UpdateAssumeRolePolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-group
。
- AWS CLI
-
重命名IAM群组
以下
update-group
命令将IAM组的名称更改Test
为Test-1
。aws iam update-group \ --group-name
Test
\ --new-group-nameTest-1
此命令不生成任何输出。
有关更多信息,请参阅《IAM用户指南》中的重命名AWS IAM用户组。
-
有关API详细信息,请参阅 “UpdateGroup AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-login-profile
。
- AWS CLI
-
更新IAM用户的密码
以下
update-login-profile
命令为名为的IAM用户创建新密码Bob
。aws iam update-login-profile \ --user-name
Bob
\ --password<password>
此命令不生成任何输出。
要为账户设置密码策略,请使用
update-account-password-policy
命令。如果新密码违反了账户密码策略,则该命令将返回PasswordPolicyViolation
错误。如果账户密码策略允许他们这样做,则IAM用户可以使用
change-password
命令更改自己的密码。将密码保存在安全位置。如果密码丢失,则将无法恢复,必须使用
create-login-profile
命令创建新密码。有关更多信息,请参阅《IAM用户指南》中的管理AWS IAM用户密码。
-
有关API详细信息,请参阅 “UpdateLoginProfile AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-open-id-connect-provider-thumbprint
。
- AWS CLI
-
将现有服务器证书指纹列表替换为新列表
此示例更新了
arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com
要使用新指纹的OIDC提供商ARN的证书指纹列表。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详细信息,请参阅 “UpdateOpenIdConnectProviderThumbprint AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “UpdateRoleDescription AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “UpdateRole AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-saml-provider
。
- AWS CLI
-
更新现有SAML提供商的元数据文档
此示例
arn:aws:iam::123456789012:saml-provider/SAMLADFS
使用文件中的新SAML元数据文档更新IAM其ARN中的SAML提供程序SAMLMetaData.xml
。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用户指南》中的创建IAMSAML身份提供商。
-
有关API详细信息,请参阅 “UpdateSamlProvider AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “UpdateServerCertificate AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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
示例将指定用户的凭据状态更改为 “非活动”。aws iam update-service-specific-credential \ --user-name
sofia
\ --service-specific-credential-idACCAEXAMPLE123EXAMPLE
\ --statusInactive
此命令不生成任何输出。
有关更多信息,请参阅《AWS CodeCommit 用户指南》 CodeCommit中的创建用于HTTPS连接的 Git 凭证
-
有关API详细信息,请参阅 “UpdateServiceSpecificCredential AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-signing-certificate
。
- AWS CLI
-
为用户激活或停用签名证书 IAM
以下
update-signing-certificate
命令为名为的IAM用户停用指定的签名证书。Bob
aws iam update-signing-certificate \ --certificate-id
TA7SMP42TDN5Z26OBPJE7EXAMPLE
\ --statusInactive
\ --user-nameBob
要获取签名证书的 ID,请使用
list-signing-certificates
命令。有关更多信息,请参阅 Amazon EC2 用户指南中的管理签名证书。
-
有关API详细信息,请参阅 “UpdateSigningCertificate AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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用户指南》 CodeCommit中的SSH使用SSH密钥和 with。
-
有关API详细信息,请参阅 “UpdateSshPublicKey AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-user
。
- AWS CLI
-
更改IAM用户名
以下
update-user
命令将IAM用户名更改Bob
为Robert
。aws iam update-user \ --user-name
Bob
\ --new-user-nameRobert
此命令不生成任何输出。
有关更多信息,请参阅《IAM用户指南》中的重命名AWS IAM用户组。
-
有关API详细信息,请参阅 “UpdateUser AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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详细信息,请参阅 “UploadServerCertificate AWS CLI
命令参考”。
-
以下代码示例演示如何使用 upload-signing-certificate
。
- AWS CLI
-
上传IAM用户的签名证书
以下
upload-signing-certificate
命令为名为的IAM用户上传签名Bob
证书。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" } }
证书格式为名为 certific ate.pe m 的文件中。PEM
有关更多信息,请参阅《使用IAM》指南中的创建和上传用户签名证书。
-
有关API详细信息,请参阅 “UploadSigningCertificate AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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" } }
有关如何以适合此命令的格式生成密钥的更多信息,请参阅《用户指南》SSH和《AWS CodeCommit 用户指南》和 Linux、macOS 或 Unix:为 Git 和 CodeCommit /或SSH和 Windows 设置公钥和私钥:为 Git 设置公钥和 CodeCommit私钥。
-
有关API详细信息,请参阅 “UploadSshPublicKey AWS CLI
命令参考”。
-