IAM 範例使用 AWS CLI - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

IAM 範例使用 AWS CLI

下列程式碼範例說明如何使用 and IAM 來執行動作和實作常見案例。 AWS Command Line Interface

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境和跨服務範例中查看內容中的動作。

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

每個範例都包含一個連結 GitHub,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例會示範如何使用add-client-id-to-open-id-connect-provider

AWS CLI

將用戶端 ID (對象) 新增至開放式 ID Connect (OIDC) 提供者

下列add-client-id-to-open-id-connect-provider命令會將用戶端識別碼新增my-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-arn arn:aws:iam::123456789012:oidc-provider/server.example.com

此命令不會產生輸出。

若要建立 OIDC 提供者,請使用指create-open-id-connect-provider令。

如需詳細資訊,請參閱 AWS IAM 使用者指南中的建立 OpenID Connect (OIDC) 身分識別提供

下列程式碼範例會示範如何使用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-name Webserver

此命令不會產生輸出。

若要建立例證設定檔,請使用create-instance-profile指令。

如需詳細資訊,請參閱 AWS IAM 使用者指南中的利用 IAM 角色來授予許可給 Amazon EC2 執行個體上執行的應用程式

下列程式碼範例會示範如何使用add-user-to-group

AWS CLI

將使用者新增至 IAM 群組

下列 add-user-to-group 命令會將名為 Bob 的 IAM 使用者新增至名為 Admins 的 IAM 群組。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的在 IAM 使用者群組中新增和移除使用者

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考AddUserToGroup中的。

下列程式碼範例會示範如何使用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-name Finance

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的受管政策和內嵌政策

下列程式碼範例會示範如何使用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-name ReadOnlyRole

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的受管政策和內嵌政策

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考AttachRolePolicy中的。

下列程式碼範例會示範如何使用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-name Alice

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的受管政策和內嵌政策

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考AttachUserPolicy中的。

下列程式碼範例會示範如何使用change-password

AWS CLI

變更 IAM 使用者的密碼

若要變更 IAM 使用者的密碼,建議您使用--cli-input-json參數傳遞包含舊密碼和新密碼的 JSON 檔案。使用此方法,您可以使用帶有非字母數字字符的強密碼。當您將密碼作為命令行參數傳遞時,將密碼與非字母數字字元一起使用可能很困難。若要使用--cli-input-json參數,請先使用指change-password令搭配--generate-cli-skeleton參數,如下列範例所示。

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

上一個命令創建一個名為更改密碼 .json 的 JSON 文件,您可以使用該文件來填寫舊密碼和新密碼。例如,檔案看起來可能如下所示。

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

接下來,要更改您的密碼,請再次使用change-password命令,這次傳遞--cli-input-json參數來指定您的 JSON 文件。以下change-password命令使用帶有名為變更密碼 .json 的 JSON 文件的--cli-input-json參數。

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

此命令不會產生輸出。

此命令只能由 IAM 使用者呼叫。如果使用 AWS 帳戶 (root) 認證呼叫此命令,則命令會傳回錯InvalidUserType誤。

如需詳細資訊,請參閱 IAM 使用者指南中的AWS IAM 使用者如何變更自己的密碼

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ChangePassword中的。

下列程式碼範例會示範如何使用create-access-key

AWS CLI

為 IAM 使用者建立存取金鑰

下列 create-access-key 命令會為名為 Bob 的 IAM 使用者建立存取金鑰 (存取金鑰 ID 與私密存取金鑰)。

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

輸出:

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

請將私密存取金鑰存放在安全之處。遺失的金鑰無法復原,您必須建立新的存取金鑰。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 使用者的存取金鑰

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateAccessKey中的。

下列程式碼範例會示範如何使用create-account-alias

AWS CLI

建立帳戶別名

下列create-account-alias指令會examplecorp為您的 AWS 帳戶建立別名。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IAM 使用者指南中的您的 AWS 帳戶 ID 及其別名

下列程式碼範例會示範如何使用create-group

AWS CLI

建立 IAM 群組

下列 create-group 命令會建立名為 Admins 的 IAM 群組。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM 使用者群組

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateGroup中的。

下列程式碼範例會示範如何使用create-instance-profile

AWS CLI

建立執行個體設定檔

下列 create-instance-profile 命令會建立名為 Webserver 的執行個體設定檔。

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

輸出:

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

若要將角色新增至執行個體設定檔,請使用 add-role-to-instance-profile 命令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的使用 IAM 角色為在 Amazon EC2 執行個體上執行的應用程式授予許可

下列程式碼範例會示範如何使用create-login-profile

AWS CLI

建立 IAM 使用者的密碼

若要為 IAM 使用者建立密碼,建議您使用--cli-input-json參數傳遞包含密碼的 JSON 檔案。使用此方法,您可以建立含有非英數字元的強式密碼。當您將密碼作為命令行參數傳遞時,建立包含非英數字元的密碼可能很困難。

若要使用--cli-input-json參數,請先使用指create-login-profile令搭配--generate-cli-skeleton參數,如下列範例所示。

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命令會使用名為 create-login-profile .json 的 JSON 檔案的--cli-input-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 使用者的密碼

下列程式碼範例會示範如何使用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參數,請先使用指create-open-id-connect-provider令搭配--generate-cli-skeleton參數,如下列範例所示。

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命令使用名為 create-open-id-connect-provider.json 的 JSON 文件的--cli-input-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 提供者的詳細資訊,請參閱 IAM 使用者指AWS 南中的建立 OpenID Connect (OIDC) 身分識別提供者

如需取得 OIDC 提供者指紋的詳細資訊,請參閱 IAM 使用者指南中的為 OpenID Connect 身分提供者取得指AWS 紋

下列程式碼範例會示範如何使用create-policy-version

AWS CLI

建立新版本的受管政策

此範例會建立新 v2 版的 IAM 政策 (其 ARN 為 arn:aws:iam::123456789012:policy/MyPolicy),並將該版本設為預設版本。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 政策的版本控制

下列程式碼範例會示範如何使用create-policy

AWS CLI

範例 1:建立客戶管理政策

下列命令會建立名為 my-policy 的客戶管理政策。

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

檔案 policy 是目前資料夾中的 JSON 文件,在名為 my-bucket 的 Amazon S3 儲存貯體中授予 shared 資料夾的唯讀存取權限。

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

輸出:

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

如需有關使用檔案作為字串參數輸入的詳細資訊,請參閱 AWS CLI 使用者指南中的指定AWS CLI 的參數值

範例 2:建立內含描述的客戶管理政策

下列命令會建立名為 my-policy 的客戶管理政策,其中包含不可變的描述:

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

檔案 policy.json 是目前資料夾中的 JSON 文件,可針對名為 my-bucket 的 Amazon S3 儲存貯體,授予所有 Put、List 和 Get 動作的存取權限。

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

輸出:

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

如需有關以身分為基礎之政策的詳細資訊,請參閱《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-document file://policy.json \ --tags '{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'

檔案 policy.json 是目前資料夾中的 JSON 文件,可針對名為 my-bucket 的 Amazon S3 儲存貯體,授予所有 Put、List 和 Get 動作的存取權限。

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

輸出:

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

如需有關標記政策的詳細資訊,請參閱《AWS IAM 使用者指南》中的標記客戶管理政策

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreatePolicy中的。

下列程式碼範例會示範如何使用create-role

AWS CLI

範例 1:建立 IAM 角色

下列 create-role 命令會建立名為 Test-Role 的角色,並將信任政策連接至該角色。

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

輸出:

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

Test-Role-Trust-Policy.json 檔案中,將信任政策定義為 JSON 文件。(檔案名稱和副檔名沒有意義。) 信任政策必須指定主體。

若要將許可政策連接至角色,請使用 put-role-policy 命令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM 角色

範例 2:建立具有指定最長工作階段持續時間的 IAM 角色

下列 create-role 命令會建立名為 Test-Role 的角色,並設定 7200 秒 (2 小時) 的最長工作階段持續時間。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的修改角色最長工作階段持續時間 (AWS API)

範例 3:建立內含標籤的 IAM 角色

下列命令會建立內含標籤的 IAM 角色 Test-Role。此範例使用具有下列 JSON 格式標記的 --tags 參數旗標:'{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'。或者,--tags 旗標可以與速記格式的標籤一起使用:'Key=Department,Value=Accounting Key=Location,Value=Seattle'

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的標記 IAM 角色

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateRole中的。

下列程式碼範例會示範如何使用create-saml-provider

AWS CLI

建立 SAML 提供者

此範例會在 IAM 中建立名為 MySAMLProvider 的新 SAML 提供者。它會由在檔案 SAMLMetaData.xml 中找到的 SAML 中繼資料文件進行描述。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM SAML 身分提供者

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateSAMLProvider

下列程式碼範例會示範如何使用create-service-linked-role

AWS CLI

建立服務連結角色

下列create-service-linked-role範例會為指定的服務建立 AWS 服務連結角色,並附加指定的描述。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的使用服務連結角色

下列程式碼範例會示範如何使用create-service-specific-credential

AWS CLI

為使用者建立一組服務特定認證

下列create-service-specific-credential範例會建立只能用來存取已設定服務的使用者名稱和密碼。

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

輸出:

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

如需詳細資訊,請參閱AWS CodeCommit 使用者指南 CodeCommit中的建立 HTTPS 連線的 Git 認證

下列程式碼範例會示範如何使用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 帳戶中建立AWS IAM 使用者

範例 2:在指定路徑建立 IAM 使用者

下列 create-user 命令會在指定路徑建立名為 Bob 的 IAM 使用者。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 識別符

範例 3:建立內含標籤的 IAM 使用者

下列 create-user 命令會建立內含標籤、名為 Bob 的 IAM 使用者。此範例使用具有下列 JSON 格式標記的 --tags 參數旗標:'{"Key": "Department", "Value": "Accounting"}' '{"Key": "Location", "Value": "Seattle"}'。或者,--tags 旗標可以與速記格式的標籤一起使用:'Key=Department,Value=Accounting Key=Location,Value=Seattle'

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的標記 IAM 使用者

範例 3:建立具有設定許可界限的 IAM 使用者

以下create-user命令會建立一個以 Amazon FullAccess S3 許可界限命名Bob的 IAM 使用者。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 實體許可界限

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateUser中的。

下列程式碼範例會示範如何使用create-virtual-mfa-device

AWS CLI

若要建立虛擬 MFA 裝置

此範例會建立名BobsMFADevice為的新虛擬 MFA 裝置。它創建一個包含稱為引導信息的文件,QRCode.png並將其放置在C:/目錄中。在這個例子中使用的引導方法是QRCodePNG

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

輸出:

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

如需詳細資訊,請參閱《IAM 使用者指南》中的在 AWS中使用多重要素驗證 (MFA)

下列程式碼範例會示範如何使用deactivate-mfa-device

AWS CLI

若要停用 MFA 裝置

此指令會停用與使用者相關聯之 ARN arn:aws:iam::210987654321:mfa/BobsMFADevice 的虛擬 MFA 裝置。Bob

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

此命令不會產生輸出。

如需詳細資訊,請參閱《IAM 使用者指南》中的在 AWS中使用多重要素驗證 (MFA)

下列程式碼範例會示範如何使用decode-authorization-message

AWS CLI

解碼授權失敗訊息

下列decode-authorization-message範例會在嘗試啟動沒有必要許可的情況下啟動執行個體時,EC2 主控台傳回的訊息進行解碼。

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

輸出被格式化為單行 JSON 文本字符串,您可以使用任何 JSON 文本處理器進行解析。

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

如需詳細資訊,請參閱 EC2 執行個體啟動期間如何在收到 "UnauthorizedOperation" 錯誤後解碼授權失敗訊息?AWS Re:帖子。

下列程式碼範例會示範如何使用delete-access-key

AWS CLI

刪除 IAM 使用者的存取金鑰

下列 delete-access-key 命令會為名為 Bob 的 IAM 使用者刪除指定的存取金鑰 (存取金鑰 ID 與私密存取金鑰)。

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

此命令不會產生輸出。

若要列出為 IAM 使用者定義的存取金鑰,請使用 list-access-keys 命令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 使用者的存取金鑰

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteAccessKey中的。

下列程式碼範例會示範如何使用delete-account-alias

AWS CLI

刪除帳戶別名

下列 delete-account-alias 命令會移除目前帳戶的別名 mycompany

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

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IAM 使用者指南中的您的 AWS 帳戶 ID 及其別名

下列程式碼範例會示範如何使用delete-account-password-policy

AWS CLI

若要刪除目前的帳號密碼策略

下列delete-account-password-policy命令會移除目前帳戶的密碼策略。

aws iam delete-account-password-policy

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的設定 IAM 使用者的帳戶密碼政策

下列程式碼範例會示範如何使用delete-group-policy

AWS CLI

從 IAM 群組中刪除政策

下列 delete-group-policy 命令會將名為 ExamplePolicy 的政策從名為 Admins 的群組中刪除。

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

此命令不會產生輸出。

若要查看連接至群組的政策,請使用 list-group-policies 命令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 政策

下列程式碼範例會示範如何使用delete-group

AWS CLI

刪除 IAM 群組

下列 delete-group 命令會刪除名為 MyTestGroup 的 IAM 群組。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的刪除 IAM 使用者群組

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteGroup中的。

下列程式碼範例會示範如何使用delete-instance-profile

AWS CLI

刪除執行個體設定檔

下列 delete-instance-profile 命令會刪除名為 ExampleInstanceProfile 的執行個體設定檔。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的使用執行個體設定檔

下列程式碼範例會示範如何使用delete-login-profile

AWS CLI

刪除 IAM 使用者的密碼

下列delete-login-profile命令會刪除名為的 IAM 使用者的密碼Bob

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

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的管理AWS IAM 使用者的密碼

下列程式碼範例會示範如何使用delete-open-id-connect-provider

AWS CLI

若要刪除身分識別提供者

此範例會刪除連線至提供者的 IAM OIDC 提供者。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) 身分識別提供

下列程式碼範例會示範如何使用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-id v2

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

下列程式碼範例會示範如何使用delete-policy

AWS CLI

刪除 IAM 政策

此範例會刪除 ARN 為 arn:aws:iam::123456789012:policy/MySamplePolicy 的政策。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeletePolicy中的。

下列程式碼範例會示範如何使用delete-role-permissions-boundary

AWS CLI

從 IAM 角色刪除許可界限

下列delete-role-permissions-boundary範例會刪除指定 IAM 角色的許可界限。若要將權限界限套用至角色,請使用put-role-permissions-boundary指令。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

下列程式碼範例會示範如何使用delete-role-policy

AWS CLI

從 IAM 角色中移除政策

下列 delete-role-policy 命令會將名為 ExamplePolicy 的政策從名為 Test-Role 的角色中移除。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的修改角色

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteRolePolicy中的。

下列程式碼範例會示範如何使用delete-role

AWS CLI

刪除 IAM 角色

下列 delete-role 命令會將名為 Test-Role 的角色移除。

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

此命令不會產生輸出。

刪除角色之前,您必須先從任何執行個體設定檔 (remove-role-from-instance-profile) 移除該角色、分離任何受管政策 (detach-role-policy),並刪除任何連接至該角色的內嵌政策 (delete-role-policy)。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM 角色使用執行個體設定檔

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteRole中的。

下列程式碼範例會示範如何使用delete-saml-provider

AWS CLI

刪除 SAML 提供者

此範例會刪除 ARN 為 arn:aws:iam::123456789012:saml-provider/SAMLADFSProvider 的 IAM SAML 2.0 提供者。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM SAML 身分提供者

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteSAMLProvider

下列程式碼範例會示範如何使用delete-server-certificate

AWS CLI

從您的 AWS 帳戶刪除伺服器憑證

下列delete-server-certificate命令會從您的 AWS 帳戶中移除指定的伺服器憑證。

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

此命令不會產生輸出。

若要列出您 AWS 帳戶中可用的伺服器憑證,請使用list-server-certificates指令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的在 IAM 中管理伺服器憑證

下列程式碼範例會示範如何使用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 使用者指南》中的使用服務連結角色

下列程式碼範例會示範如何使用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-id ACCAEXAMPLE123EXAMPLE

此命令不會產生輸出。

如需詳細資訊,請參閱AWS CodeCommit 使用者指南 CodeCommit中的建立 HTTPS 連線的 Git 認證

下列程式碼範例會示範如何使用delete-signing-certificate

AWS CLI

刪除 IAM 使用者的簽署憑證

下列delete-signing-certificate命令會刪除名為 IAM 使用者的指定簽署憑證Bob

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

此命令不會產生輸出。

若要取得簽署憑證的 ID,請使用list-signing-certificates指令。

如需詳細資訊,請參閱 Amazon EC2 使用者指南中的管理簽署憑證

下列程式碼範例會示範如何使用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-id APKA123456789EXAMPLE

此命令不會產生輸出。

如需詳細資訊,請參閱「AWS IAM 使用者指南」 CodeCommit 中的「搭配使用安全殼層金鑰和 SSH」。

下列程式碼範例會示範如何使用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 中的政策和許可

下列程式碼範例會示範如何使用delete-user-policy

AWS CLI

從 IAM 使用者中移除政策

下列 delete-user-policy 命令會將指定的政策從名為 Bob 的 IAM 使用者中移除。

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

此命令不會產生輸出。

若要取得 IAM 使用者的政策清單,請使用 list-user-policies 命令。

如需詳細資訊,請參閱 IAM 使用者指南中的在 AWS 帳戶中建立AWS IAM 使用者

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteUserPolicy中的。

下列程式碼範例會示範如何使用delete-user

AWS CLI

刪除 IAM 使用者

下列 delete-user 命令會將名為 Bob 的 IAM 使用者從目前帳戶中移除。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的刪除 IAM 使用者

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteUser中的。

下列程式碼範例會示範如何使用delete-virtual-mfa-device

AWS CLI

移除虛擬 MFA 裝置

下列delete-virtual-mfa-device命令會從目前帳戶移除指定的 MFA 裝置。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IAM 使用者指南中的停用 MFA 裝置

下列程式碼範例會示範如何使用detach-group-policy

AWS CLI

從群組中斷連結原則

此範例會從名Testers為的群組中移除具有 ARN 的arn:aws:iam::123456789012:policy/TesterAccessPolicy受管理原則。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 使用者群組

下列程式碼範例會示範如何使用detach-role-policy

AWS CLI

將政策與角色分離

此範例會將具有 ARN arn:aws:iam::123456789012:policy/FederatedTesterAccessPolicy 的受管政策從名為 FedTesterRole 的角色中移除。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的修改角色

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DetachRolePolicy中的。

下列程式碼範例會示範如何使用detach-user-policy

AWS CLI

將政策與使用者分離

此範例會將具有 ARN arn:aws:iam::123456789012:policy/TesterPolicy 的受管政策從使用者 Bob 中移除。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的變更 IAM 使用者的許可

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DetachUserPolicy中的。

下列程式碼範例會示範如何使用enable-mfa-device

AWS CLI

若要啟用 MFA 裝置

使用指create-virtual-mfa-device令建立新的虛擬 MFA 裝置之後,您可以將 MFA 裝置指派給使用者。下列enable-mfa-device範例會將含有序號的 MFA 裝置指派arn:aws:iam::210987654321:mfa/BobsMFADevice給使用者Bob。該命令還 AWS 通過從虛擬 MFA 設備中按順序包含前兩個代碼來同步設備。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IAM 使用者指南中的啟用虛擬多重要素身份驗證 (MFA) 裝置

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考EnableMfaDevice中的。

下列程式碼範例會示範如何使用generate-credential-report

AWS CLI

產生憑證報告

下列範例會嘗試產生 AWS 帳戶的認證報告。

aws iam generate-credential-report

輸出:

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

如需詳細資訊,請參閱 AWS IAM 使用者指南的取得 AWS 帳戶的登入資料報告

下列程式碼範例會示範如何使用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-rootsorganizations list-organizational-units-for-parent指令。

如需詳細資訊,請參閱 AWS IAM 使用者指南中的 AWS 使用上次存取的資訊中的精簡許可。

下列程式碼範例會示範如何使用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範例會啟動背景工作以產生報告,其中列出 IAM 使用者和其他具有 AWS 受管AdministratorAccess政策的實體存取的服務。您可以透過執行get-service-last-accessed-details指令在建立報告後顯示報告。

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

輸出:

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

如需詳細資訊,請參閱 AWS IAM 使用者指南中的 AWS 使用上次存取的資訊中的精簡許可。

下列程式碼範例會示範如何使用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 使用者的存取金鑰

下列程式碼範例會示範如何使用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 安全性稽核指南

下列程式碼範例會示範如何使用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 使用者的帳戶密碼政策

下列程式碼範例會示範如何使用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 } }

如需實體限制的詳細資訊,請參閱 IAM 使用者指南中的AWS IAM 和 AWS STS 配額

下列程式碼範例會示範如何使用get-context-keys-for-custom-policy

AWS CLI

範例 1:若要在命令列上列出由一或多個自訂 JSON 原則所參照的內容索引鍵

下列get-context-keys-for-custom-policy命令會剖析每個提供的原則,並列出這些原則使用的內容索引鍵。使用此命令可識別您必須提供哪些內容索引鍵值,才能順利使用原則模擬器命令simulate-custom-policysimulate-custom-policy。您也可以使用get-context-keys-for-custom-policy命令擷取 IAM 使用者或角色關聯的所有政策使用的內容金鑰清單。以開頭的參數值會file://指示命令讀取檔案,並使用內容做為參數的值,而不是檔案名稱本身。

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

輸出:

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

範例 2:列出以檔案輸入形式提供的一或多個自訂 JSON 原則所參考的內容索引鍵

下列get-context-keys-for-custom-policy命令與上一個範例相同,不同之處在於原則是以檔案而非參數的形式提供。由於該命令需要 JSON 字符串列表,而不是 JSON 結構列表,因此文件必須按以下方式構造,儘管您可以將其折疊為一個。

[ "Policy1", "Policy2" ]

例如,包含上一個範例中原則的檔案必須如下所示。您必須在原則字串中加上反斜線」,以逸出原則字串內嵌的每個內嵌雙引號。

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

然後可以將此檔案提交至下列命令。

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的使用AWS IAM 政策模擬器 (AWS CLI 和 AWS API)

下列程式碼範例會示範如何使用get-context-keys-for-principal-policy

AWS CLI

列出與 IAM 主體相關聯的所有政策所參考的內容金鑰

下列get-context-keys-for-principal-policy命令會擷取附加至使用者的所有策略,以saanvi及她所屬的任何群組。然後它會剖析每個項目,並列出這些原則使用的內容索引鍵。使用此指令可識別您必須提供哪些前後關聯索引鍵值,才能順利使用simulate-custom-policysimulate-principal-policy指令。您也可以使用get-context-keys-for-custom-policy命令擷取任意 JSON 政策使用的內容金鑰清單。

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的使用AWS IAM 政策模擬器 (AWS CLI 和 AWS API)

下列程式碼範例會示範如何使用get-credential-report

AWS CLI

取得憑證報告

此範例會開啟傳回的報告,並以文字行陣列的形式將其輸出至管道。

aws iam get-credential-report

輸出:

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

如需詳細資訊,請參閱 AWS IAM 使用者指南的取得 AWS 帳戶的登入資料報告

下列程式碼範例會示範如何使用get-group-policy

AWS CLI

取得附加至 IAM 群組之政策的相關資訊

下列get-group-policy命令會取得附加至名為群組之指定原則的相關資訊Test-Group

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 政策

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetGroupPolicy中的。

下列程式碼範例會示範如何使用get-group

AWS CLI

若要取得 IAM 群組

此範例會傳回 IAM 群組的詳細資訊Admins

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的 IAM 身分 (使用者、使用者群組和角色)。AWS

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetGroup中的。

下列程式碼範例會示範如何使用get-instance-profile

AWS CLI

取得執行個體設定檔的相關資訊

下列get-instance-profile命令會取得名為之執行個體設定檔的相關資訊ExampleInstanceProfile

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的使用執行個體設定檔

下列程式碼範例會示範如何使用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 詳細資訊,請參閱AWS CLI 命令參考GetLoginProfile中的。

下列程式碼範例會示範如何使用get-mfa-device

AWS CLI

擷取有關 FIDO 安全金鑰的資訊

下列get-mfa-device命令範例會擷取有關指定 FIDO 安全性金鑰的資訊。

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

輸出:

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

如需詳細資訊,請參閱《IAM 使用者指南》中的在 AWS中使用多重要素驗證 (MFA)

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetMfaDevice中的。

下列程式碼範例會示範如何使用get-open-id-connect-provider

AWS CLI

若要傳回有關指定 OpenID Connect 提供者的資訊

此範例會傳回有關其 ARN 為 arn:aws:iam::123456789012:oidc-provider/server.example.com OpenID Connect 提供者的詳細資訊。

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

輸出:

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

如需詳細資訊,請參閱 AWS IAM 使用者指南中的建立 OpenID Connect (OIDC) 身分識別提供

下列程式碼範例會示範如何使用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 使用上次存取的資訊中的精簡許可。

下列程式碼範例會示範如何使用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-id v2

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetPolicyVersion中的。

下列程式碼範例會示範如何使用get-policy

AWS CLI

擷取指定受管政策的相關資訊

此範例會傳回其 ARN 為 arn:aws:iam::123456789012:policy/MySamplePolicy 之受管政策的相關詳細資訊。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetPolicy中的。

下列程式碼範例會示範如何使用get-role-policy

AWS CLI

取得附加至 IAM 角色之政策的相關資訊

下列get-role-policy命令會取得附加至名為之角色之指定原則的相關資訊Test-Role

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM 角色

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetRolePolicy中的。

下列程式碼範例會示範如何使用get-role

AWS CLI

取得 IAM 角色的相關資訊

下列 get-role 命令會取得名為 Test-Role 之角色的相關資訊。

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

輸出:

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

該命令會顯示連接至角色的信任政策。若要列出連接至角色的許可政策,請使用 list-role-policies 命令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM 角色

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetRole中的。

下列程式碼範例會示範如何使用get-saml-provider

AWS CLI

若要擷取 SAML 提供者中繼資料

此範例會擷取有關 ARM 所在之 SAML 2.0 提供者的詳細資料。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 使用者指南》中的建立 IAM SAML 身分提供者

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetSamlProvider中的。

下列程式碼範例會示範如何使用get-server-certificate

AWS CLI

取得 AWS 帳戶中伺服器憑證的詳細資料

下列get-server-certificate命令會擷取有關您 AWS 帳戶中指定伺服器憑證的所有詳細資料。

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

輸出:

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

若要列出您 AWS 帳戶中可用的伺服器憑證,請使用list-server-certificates指令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的在 IAM 中管理伺服器憑證

下列程式碼範例會示範如何使用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-namespace lambda

輸出:

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

如需詳細資訊,請參閱 AWS IAM 使用者指南中的 AWS 使用上次存取的資訊中的精簡許可。

下列程式碼範例會示範如何使用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 使用上次存取的資訊中的精簡許可。

下列程式碼範例會示範如何使用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 使用者指南》中的使用服務連結角色

下列程式碼範例會示範如何使用get-ssh-public-key

AWS CLI

範例 1:擷取以 SSH 編碼形式連接至 IAM 使用者的 SSH 公開金鑰

下列get-ssh-public-key命令會從 IAM 使用者擷取指定的 SSH 公開金鑰sofia。輸出是 SSH 編碼。

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

輸出:

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

範例 2:擷取以 PEM 編碼格式連接至 IAM 使用者的 SSH 公開金鑰

下列get-ssh-public-key命令會從 IAM 使用者擷取指定的 SSH 公開金鑰sofia。輸出採用 PEM 編碼。

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

輸出:

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

如需詳細資訊,請參閱「AWS IAM 使用者指南」 CodeCommit 中的「搭配使用安全殼層金鑰和 SSH」。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetSshPublicKey中的。

下列程式碼範例會示範如何使用get-user-policy

AWS CLI

列出 IAM 使用者的政策詳細資料

下列get-user-policy命令會列出附加至名為 IAM 使用者之指定政策的詳細資料Bob

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

輸出:

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

若要取得 IAM 使用者的政策清單,請使用 list-user-policies 命令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetUserPolicy中的。

下列程式碼範例會示範如何使用get-user

AWS CLI

取得關於 IAM 使用者的資訊

下列 get-user 命令會取得名為 Paulo 之 IAM 使用者的相關資訊。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 使用者

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考GetUser中的。

下列程式碼範例會示範如何使用list-access-keys

AWS CLI

列出 IAM 使用者的存取金鑰 ID

下列 list-access-keys 命令會列出名為 Bob 之 IAM 使用者的存取金鑰 ID。

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

輸出:

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

您無法列出 IAM 使用者的私密存取金鑰。如果私密存取金鑰遺失,您必須使用 create-access-keys 命令建立新的存取金鑰。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 使用者的存取金鑰

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListAccessKeys中的。

下列程式碼範例會示範如何使用list-account-aliases

AWS CLI

列出帳戶別名

下列 list-account-aliases 命令會列出目前帳戶的別名。

aws iam list-account-aliases

輸出:

{ "AccountAliases": [ "mycompany" ] }

如需詳細資訊,請參閱 AWS IAM 使用者指南中的您的 AWS 帳戶 ID 及其別名

下列程式碼範例會示範如何使用list-attached-group-policies

AWS CLI

列出附加至指定群組的所有受管理策略

此範例會傳回附加至 AWS 帳戶Admins中指定之 IAM 群組之受管政策的名稱和 ARN。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

下列程式碼範例會示範如何使用list-attached-role-policies

AWS CLI

列出連接至指定角色的所有受管政策

此命令會傳回附加至 AWS 帳戶SecurityAuditRole中指定之 IAM 角色之受管政策的名稱和 ARN。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

下列程式碼範例會示範如何使用list-attached-user-policies

AWS CLI

列出附加至指定使用者的所有受管理策略

此命令會針對 AWS 帳戶Bob中指定的 IAM 使用者傳回受管政策的名稱和 ARN。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

下列程式碼範例會示範如何使用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 中的政策和許可

下列程式碼範例會示範如何使用list-group-policies

AWS CLI

列出附加至指定群組的所有內嵌政策

下列list-group-policies命令會列出附加至目前帳戶Admins中指定之 IAM 群組的內嵌政策名稱。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 政策

下列程式碼範例會示範如何使用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" } ] }

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 使用者群組

下列程式碼範例會示範如何使用list-groups

AWS CLI

列出目前帳戶的 IAM 群組

下列 list-groups 命令會列出目前帳戶中的 IAM 群組。

aws iam list-groups

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 使用者群組

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListGroups中的。

下列程式碼範例會示範如何使用list-instance-profile-tags

AWS CLI

列出附加至執行個體設定檔的標籤

下列list-instance-profile-tags命令會擷取與指定執行個體設定檔相關聯的標籤清單。

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用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 使用者指南》中的使用執行個體設定檔

下列程式碼範例會示範如何使用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 使用者指南》中的使用執行個體設定檔

下列程式碼範例會示範如何使用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" } ] }

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用list-mfa-devices

AWS CLI

列出指定使用者的所有 MFA 裝置

此範例會傳回指派給 IAM 使用者Bob之 MFA 裝置的詳細資料。

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

輸出:

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

如需詳細資訊,請參閱《IAM 使用者指南》中的在 AWS中使用多重要素驗證 (MFA)

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListMfaDevices中的。

下列程式碼範例會示範如何使用list-open-id-connect-provider-tags

AWS CLI

列出附加到 OpenID Connect(OIDC)兼容身份提供者的標籤

下列list-open-id-connect-provider-tags命令會擷取與指定之 OIDC 身分識別提供者相關聯的標籤清單。

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用list-open-id-connect-providers

AWS CLI

列出有關帳戶中 OpenID Connect 提供商的 AWS 信息

此範例會傳回目前 AWS 帳戶中定義之所有 OpenID Connect 提供者的 ARNS 清單。

aws iam list-open-id-connect-providers

輸出:

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

如需詳細資訊,請參閱 AWS IAM 使用者指南中的建立 OpenID Connect (OIDC) 身分識別提供

下列程式碼範例會示範如何使用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-namespaces codecommit

輸出:

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

如需詳細資訊,請參閱《IAM 使用者指南》中的使用 IAM 搭配 CodeCommit:Git 登入資料、SSH 金鑰和 AWS 存取金鑰。AWS

下列程式碼範例會示範如何使用list-policies

AWS CLI

列出您 AWS 帳戶可用的受管理策略

此範例會傳回目前 AWS 帳戶中可用的前兩個受管理策略的集合。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListPolicies中的。

下列程式碼範例會示範如何使用list-policy-tags

AWS CLI

列出附加至受管理策略的標籤

下列list-policy-tags命令會擷取與指定受管理策略相關聯的標籤清單。

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListPolicyTags中的。

下列程式碼範例會示範如何使用list-policy-versions

AWS CLI

列出指定受管理策略版本的相關資訊

此範例會傳回其 ARN 為arn:aws:iam::123456789012:policy/MySamplePolicy原則的可用版本清單。

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

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

下列程式碼範例會示範如何使用list-role-policies

AWS CLI

列出連接至 IAM 角色的政策

下列 list-role-policies 命令會列出指定 IAM 角色的許可政策名稱。

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

輸出:

{ "PolicyNames": [ "ExamplePolicy" ] }

若要查看連接至角色的信任政策,請使用 get-role 命令。若要查看許可政策的詳細資訊,請使用 get-role-policy 命令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM 角色

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListRolePolicies中的。

下列程式碼範例會示範如何使用list-role-tags

AWS CLI

若要列出附加至角色的標籤

下列list-role-tags命令會擷取與指定角色相關聯的標籤清單。

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListRoleTags中的。

下列程式碼範例會示範如何使用list-roles

AWS CLI

列出目前帳戶的 IAM 角色

下列 list-roles 命令會列出目前帳戶的 IAM 角色。

aws iam list-roles

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM 角色

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListRoles中的。

下列程式碼範例會示範如何使用list-saml-provider-tags

AWS CLI

列出附加至 SAML 提供者的標籤

下列list-saml-provider-tags命令會擷取與指定 SAML 提供者關聯的標籤清單。

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用list-saml-providers

AWS CLI

列出帳戶中的 SAML 提供者 AWS

此範例會擷取在目前 AWS 帳戶中建立的 SAML 2.0 提供者清單。

aws iam list-saml-providers

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM SAML 身分提供者

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListSAMLProviders

下列程式碼範例會示範如何使用list-server-certificate-tags

AWS CLI

列出附加至伺服器憑證的標籤

下列list-server-certificate-tags命令會擷取與指定伺服器憑證相關聯的標籤清單。

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用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 中管理伺服器憑證

下列程式碼範例會示範如何使用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 認證

下列程式碼範例會示範如何使用list-service-specific-credentials

AWS CLI

擷取認證清單

下列list-service-specific-credentials範例列出針對名為使用者的 HTTPS 存取 AWS CodeCommit 儲存庫所產生的認證developer

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

輸出:

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

如需詳細資訊,請參閱AWS CodeCommit 使用者指南 CodeCommit中的建立 HTTPS 連線的 Git 認證

下列程式碼範例會示範如何使用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 使用者指南中的管理簽署憑證

下列程式碼範例會示範如何使用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

下列程式碼範例會示範如何使用list-user-policies

AWS CLI

列出 IAM 使用者的政策

下列 list-user-policies 命令會列出連接至名為 Bob 之 IAM 使用者的政策。

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的在 AWS 帳戶中建立AWS IAM 使用者

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListUserPolicies中的。

下列程式碼範例會示範如何使用list-user-tags

AWS CLI

列出附加至使用者的標籤

下列list-user-tags命令會擷取與指定 IAM 使用者相關聯的標籤清單。

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

輸出:

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

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListUserTags中的。

下列程式碼範例會示範如何使用list-users

AWS CLI

列出 IAM 使用者

下列 list-users 命令會列出目前帳戶中的 IAM 使用者。

aws iam list-users

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的列出 IAM 使用者

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListUsers中的。

下列程式碼範例會示範如何使用list-virtual-mfa-devices

AWS CLI

若要列出虛擬 MFA 裝置

下列list-virtual-mfa-devices命令列出已針對目前帳戶設定的虛擬 MFA 裝置。

aws iam list-virtual-mfa-devices

輸出:

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

如需詳細資訊,請參閱 AWS IAM 使用者指南中的啟用虛擬多重要素身份驗證 (MFA) 裝置

下列程式碼範例會示範如何使用put-group-policy

AWS CLI

將政策新增至群組

下列 put-group-policy 命令會將政策新增至名為 Admins 的 IAM 群組。

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

此命令不會產生輸出。

此原則會定義為 AdminPolicy.json 檔案中的 JSON 文件。(檔案名稱和副檔名沒有意義。)

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 政策

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考PutGroupPolicy中的。

下列程式碼範例會示範如何使用put-role-permissions-boundary

AWS CLI

範例 1:將基於自訂政策的許可界限套用至 IAM 角色

下列put-role-permissions-boundary範例會套用名intern-boundary為指定 IAM 角色權限界限的自訂政策。

aws iam put-role-permissions-boundary \ --permissions-boundary arn:aws:iam::123456789012:policy/intern-boundary \ --role-name lambda-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-name x-account-admin

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的修改角色

下列程式碼範例會示範如何使用put-role-policy

AWS CLI

將許可政策連接至 IAM 角色

下列 put-role-policy 命令會將許可政策連接到名為 Test-Role 的角色。

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

此命令不會產生輸出。

此原則會定義為 AdminPolicy.json 檔案中的 JSON 文件。(檔案名稱和副檔名沒有意義。)

若要將信任政策連接至角色,請使用 update-assume-role-policy 命令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的修改角色

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考PutRolePolicy中的。

下列程式碼範例會示範如何使用put-user-permissions-boundary

AWS CLI

範例 1:將基於自訂政策的許可界限套用至 IAM 使用者

下列put-user-permissions-boundary範例會套用名intern-boundary為指定 IAM 使用者權限界限的自訂政策。

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

此命令不會產生輸出。

範例 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-name developer

此命令不會產生輸出。

如需詳細資訊,請參閱《IAM 使用者指南》AWS 中的新增和移除 IAM 身分許可

下列程式碼範例會示範如何使用put-user-policy

AWS CLI

將政策連接至 IAM 使用者

下列 put-user-policy 命令會將政策連接至名為 Bob 的 IAM 使用者。

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

此命令不會產生輸出。

此原則會定義為 AdminPolicy.json 檔案中的 JSON 文件。(檔案名稱和副檔名沒有意義。)

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的新增和移除 IAM 身分許可

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考PutUserPolicy中的。

下列程式碼範例會示範如何使用remove-client-id-from-open-id-connect-provider

AWS CLI

若要從為指定 IAM OpenID Connect 提供者註冊的用戶端 ID 清單中移除指定的用戶端 ID

此範例會My-TestApp-3從與 ARN 的 IAM OIDC 提供者相關聯的用戶端 ID 清單中移除用戶端 ID。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-arn arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IAM 使用者指南中的建立 OpenID Connect (OIDC) 身分識別提供

下列程式碼範例會示範如何使用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-name Test-Role

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的使用執行個體設定檔

下列程式碼範例會示範如何使用remove-user-from-group

AWS CLI

從 IAM 群組移除使用者

下列 remove-user-from-group 命令會將名為 Bob 的使用者從名為 Admins 的 IAM 群組中移除。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的在 IAM 使用者群組中新增和移除使用者

下列程式碼範例會示範如何使用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-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" } }

如需詳細資訊,請參閱AWS CodeCommit 使用者指南 CodeCommit中的建立 HTTPS 連線的 Git 認證

下列程式碼範例會示範如何使用resync-mfa-device

AWS CLI

若要同步化 MFA 裝置

下列resync-mfa-device範例會同步化與 IAM 使用者相關聯Bob且其 ARN 所在的 MFA 裝置arn:aws:iam::123456789012:mfa/BobsMFADevice與提供兩個驗證碼的驗證器程式。

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

此命令不會產生輸出。

如需詳細資訊,請參閱《IAM 使用者指南》中的在 AWS中使用多重要素驗證 (MFA)

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ResyncMfaDevice中的。

下列程式碼範例會示範如何使用set-default-policy-version

AWS CLI

將指定策略的指定版本設定為策略的預設版本。

此範例會將 ARN arn:aws:iam::123456789012:policy/MyPolicy 為預設作用中v2版本的原則版本設定。

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的 IAM 中的政策和許可

下列程式碼範例會示範如何使用set-security-token-service-preferences

AWS CLI

若要設定全域端點 Token 版本

下列set-security-token-service-preferences範例會將 Amazon STS 設定為在您針對全域端點進行驗證時使用第 2 版權杖。

aws iam set-security-token-service-preferences \ --global-endpoint-token-version v2Token

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IAM 使用者指南中的管理 AWS 區域中的 AWS ST S。

下列程式碼範例會示範如何使用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-names dynamodb:CreateBackup \ --context-entries "ContextKeyName='aws:CurrentTime',ContextKeyValues='2019-04-25T11:00:00Z',ContextKeyType=date"

輸出:

{ "EvaluationResults": [ { "EvalActionName": "dynamodb:CreateBackup", "EvalResourceName": "*", "EvalDecision": "allowed", "MatchedStatements": [ { "SourcePolicyId": "PolicyInputList.1", "StartPosition": { "Line": 1, "Column": 38 }, "EndPosition": { "Line": 1, "Column": 167 } } ], "MissingContextValues": [] } ] }

範例 2:模擬策略禁止的命令

下列simulate-custom-policy範例顯示模擬原則所禁止之命令的結果。在此範例中,提供的日期早於原則條件所要求的日期。

aws iam simulate-custom-policy \ --policy-input-list '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"*","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2018-08-16T12:00:00Z"}}}}' \ --action-names dynamodb:CreateBackup \ --context-entries "ContextKeyName='aws:CurrentTime',ContextKeyValues='2014-04-25T11:00:00Z',ContextKeyType=date"

輸出:

{ "EvaluationResults": [ { "EvalActionName": "dynamodb:CreateBackup", "EvalResourceName": "*", "EvalDecision": "implicitDeny", "MatchedStatements": [], "MissingContextValues": [] } ] }

如需詳細資訊,請參閱 IAM 使用者指南中的使用 IAM 政策模擬器測試AWS IAM 政策。

下列程式碼範例會示範如何使用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-names codecommit:ListRepositories

輸出:

{ "EvaluationResults": [ { "EvalActionName": "codecommit:ListRepositories", "EvalResourceName": "*", "EvalDecision": "allowed", "MatchedStatements": [ { "SourcePolicyId": "Grant-Access-To-CodeCommit-ListRepo", "StartPosition": { "Line": 3, "Column": 19 }, "EndPosition": { "Line": 9, "Column": 10 } } ], "MissingContextValues": [] } ] }

範例 2:模擬禁止命令的效果

下列simulate-custom-policy範例顯示模擬其中一個使用者策略所禁止的命令的結果。在下列範例中,使用者的原則只允許在特定日期和時間之後存取 DynamoDB 資料庫。模擬讓使用者嘗試使用早於原則條件允許的aws:CurrentTime值存取資料庫。

aws iam simulate-principal-policy \ --policy-source-arn arn:aws:iam::123456789012:user/alejandro \ --action-names dynamodb:CreateBackup \ --context-entries "ContextKeyName='aws:CurrentTime',ContextKeyValues='2018-04-25T11:00:00Z',ContextKeyType=date"

輸出:

{ "EvaluationResults": [ { "EvalActionName": "dynamodb:CreateBackup", "EvalResourceName": "*", "EvalDecision": "implicitDeny", "MatchedStatements": [], "MissingContextValues": [] } ] }

如需詳細資訊,請參閱 IAM 使用者指南中的使用 IAM 政策模擬器測試AWS IAM 政策。

下列程式碼範例會示範如何使用tag-instance-profile

AWS CLI

若要將標籤新增至執行個體設定檔

下列指tag-instance-profile令會將含有部門名稱的標籤新增至指定的執行個體設定檔。

aws iam tag-instance-profile \ --instance-profile-name deployment-role \ --tags '[{"Key": "Department", "Value": "Accounting"}]'

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用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"}]'

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考TagMfaDevice中的。

下列程式碼範例會示範如何使用tag-open-id-connect-provider

AWS CLI

若要將標籤新增至 OpenID Connect (OIDC) 相容的身分識別提供者

下列tag-open-id-connect-provider命令會將具有部門名稱的標籤新增至指定的 OIDC 身分識別提供者。

aws iam tag-open-id-connect-provider \ --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/server.example.com \ --tags '[{"Key": "Department", "Value": "Accounting"}]'

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用tag-policy

AWS CLI

將標籤新增至客戶管理的政策

下列tag-policy命令會將具有部門名稱的標籤新增至指定的客戶管理策略。

aws iam tag-policy \ --policy-arn arn:aws:iam::123456789012:policy/billing-access \ --tags '[{"Key": "Department", "Value": "Accounting"}]'

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考TagPolicy中的。

下列程式碼範例會示範如何使用tag-role

AWS CLI

若要將標籤新增至角色

下列tag-role命令會將具有部門名稱的標籤新增至指定的角色。

aws iam tag-role --role-name my-role \ --tags '{"Key": "Department", "Value": "Accounting"}'

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考TagRole中的。

下列程式碼範例會示範如何使用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"}]'

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考TagSamlProvider中的。

下列程式碼範例會示範如何使用tag-server-certificate

AWS CLI

若要將標籤新增至伺服器憑證

下列tag-saml-provider命令會將具有部門名稱的標籤新增至指定的伺服器憑證。

aws iam tag-server-certificate \ --server-certificate-name ExampleCertificate \ --tags '[{"Key": "Department", "Value": "Accounting"}]'

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用tag-user

AWS CLI

若要將標籤新增至使用者

下面的tag-user命令添加一個標籤與相關部門到指定的用戶。

aws iam tag-user \ --user-name alice \ --tags '{"Key": "Department", "Value": "Accounting"}'

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考TagUser中的。

下列程式碼範例會示範如何使用untag-instance-profile

AWS CLI

從執行個體設定檔移除標籤

下列指untag-instance-profile令會從指定的執行個體設定檔中移除金鑰名稱為「Deport」的任何標籤。

aws iam untag-instance-profile \ --instance-profile-name deployment-role \ --tag-keys Department

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用untag-mfa-device

AWS CLI

從 MFA 裝置移除標籤

下列untag-mfa-device命令會從指定的 MFA 裝置移除金鑰名稱為「部門」的任何標籤。

aws iam untag-mfa-device \ --serial-number arn:aws:iam::123456789012:mfa/alice \ --tag-keys Department

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UntagMfaDevice中的。

下列程式碼範例會示範如何使用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-keys Department

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用untag-policy

AWS CLI

從客戶管理的策略中移除標籤

下列untag-policy命令會從指定的客戶管理策略中移除金鑰名稱為「Deport」的任何標籤。

aws iam untag-policy \ --policy-arn arn:aws:iam::452925170507:policy/billing-access \ --tag-keys Department

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UntagPolicy中的。

下列程式碼範例會示範如何使用untag-role

AWS CLI

若要從角色中移除標籤

下列untag-role命令會從指定的角色中移除具有索引鍵名稱為「Deport」的任何標籤。

aws iam untag-role \ --role-name my-role \ --tag-keys Department

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UntagRole中的。

下列程式碼範例會示範如何使用untag-saml-provider

AWS CLI

若要從 SAML 提供者移除標籤

下列指untag-saml-provider令會從指定的執行個體設定檔中移除金鑰名稱為「Deport」的任何標籤。

aws iam untag-saml-provider \ --saml-provider-arn arn:aws:iam::123456789012:saml-provider/ADFS \ --tag-keys Department

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用untag-server-certificate

AWS CLI

從伺服器憑證移除標籤

下列untag-server-certificate命令會從指定的伺服器憑證中移除任何具有金鑰名稱為「DePARENT」的標籤。

aws iam untag-server-certificate \ --server-certificate-name ExampleCertificate \ --tag-keys Department

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

下列程式碼範例會示範如何使用untag-user

AWS CLI

若要從使用者移除標籤

下列untag-user命令會從指定的使用者中移除任何含有索引鍵名稱為「Deport」的標籤。

aws iam untag-user \ --user-name alice \ --tag-keys Department

此命令不會產生輸出。

如需詳細資訊,請參閱 IAM 使用者指南中的標記AWS IAM 資源

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UntagUser中的。

下列程式碼範例會示範如何使用update-access-key

AWS CLI

啟用或停用 IAM 使用者的存取金鑰

下列 update-access-key 命令會為名為 Bob 的 IAM 使用者停用指定的存取金鑰 (存取金鑰 ID 與私密存取金鑰)。

aws iam update-access-key \ --access-key-id AKIAIOSFODNN7EXAMPLE \ --status Inactive \ --user-name Bob

此命令不會產生輸出。

停用金鑰表示它無法用於以程式設計方式存取。 AWS但是,金鑰仍然可用,並且可以重新啟用。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的管理 IAM 使用者的存取金鑰

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdateAccessKey中的。

下列程式碼範例會示範如何使用update-account-password-policy

AWS CLI

若要設定或變更目前的帳號密碼策略

下列update-account-password-policy命令會將密碼原則設定為最少要求八個字元的長度,並且需要密碼中的一或多個數字。

aws iam update-account-password-policy \ --minimum-password-length 8 \ --require-numbers

此命令不會產生輸出。

帳戶密碼政策的變更會影響帳戶中為 IAM 使用者建立的任何新密碼。密碼策略變更不會影響現有密碼。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的設定 IAM 使用者的帳戶密碼政策

下列程式碼範例會示範如何使用update-assume-role-policy

AWS CLI

更新 IAM 角色的信任政策

下列update-assume-role-policy命令會更新名為之角色的信任原則Test-Role

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

此命令不會產生輸出。

Test-Role-Trust-Policy.json 檔案中,將信任政策定義為 JSON 文件。(檔案名稱和副檔名沒有意義。) 信任政策必須指定主體。

若要更新角色的權限原則,請使用put-role-policy命令。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM 角色

下列程式碼範例會示範如何使用update-group

AWS CLI

若要重新命名 IAM 群組

下列update-group命令會將 IAM 群組的名稱變更TestTest-1

aws iam update-group \ --group-name Test \ --new-group-name Test-1

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的重新命名 IAM 使用者群組

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdateGroup中的。

下列程式碼範例會示範如何使用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 使用者的密碼

下列程式碼範例會示範如何使用update-open-id-connect-provider-thumbprint

AWS CLI

使用新清單取代現有的伺服器憑證指紋清單

此範例會針對其 ARN arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com 將使用新指紋的 OIDC 提供者更新憑證指紋清單。

aws iam update-open-id-connect-provider-thumbprint \ --open-id-connect-provider-arn arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com \ --thumbprint-list 7359755EXAMPLEabc3060bce3EXAMPLEec4542a3

此命令不會產生輸出。

如需詳細資訊,請參閱 AWS IAM 使用者指南中的建立 OpenID Connect (OIDC) 身分識別提供

下列程式碼範例會示範如何使用update-role-description

AWS CLI

若要變更 IAM 角色的說明

下列update-role命令會將 IAM 角色的描述變更production-roleMain 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 使用者指南》中的修改角色

下列程式碼範例會示範如何使用update-role

AWS CLI

若要變更 IAM 角色的說明或工作階段持續時間

下列update-role命令會將 IAM 角色的描述變更為,Main production roleproduction-role將工作階段持續時間上限設定為 12 小時。

aws iam update-role \ --role-name production-role \ --description 'Main production role' \ --max-session-duration 43200

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的修改角色

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdateRole中的。

下列程式碼範例會示範如何使用update-saml-provider

AWS CLI

更新現有 SAML 提供者的中繼資料文件

此範例會使arn:aws:iam::123456789012:saml-provider/SAMLADFS用檔案中的新 SAML 中繼資料文件,更新其 ARN 所在 IAM 中的 SAML 提供者。SAMLMetaData.xml

aws iam update-saml-provider \ --saml-metadata-document file://SAMLMetaData.xml \ --saml-provider-arn arn:aws:iam::123456789012:saml-provider/SAMLADFS

輸出:

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

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的建立 IAM SAML 身分提供者

下列程式碼範例會示範如何使用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-name myUpdatedServerCertificate \ --new-path /cloudfront/

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的在 IAM 中管理伺服器憑證

下列程式碼範例會示範如何使用update-service-specific-credential

AWS CLI

範例 1:更新要求使用者服務特定認證的狀態

下列update-service-specific-credential範例會變更提出要求之使用者之指定認證的狀態Inactive

aws iam update-service-specific-credential \ --service-specific-credential-id ACCAEXAMPLE123EXAMPLE \ --status Inactive

此命令不會產生輸出。

範例 2:更新指定使用者服務特定認證的狀態

下列update-service-specific-credential範例會將指定使用者認證的狀態變更為「非作用中」。

aws iam update-service-specific-credential \ --user-name sofia \ --service-specific-credential-id ACCAEXAMPLE123EXAMPLE \ --status Inactive

此命令不會產生輸出。

如需詳細資訊,請參閱AWS CodeCommit 使用者指南 CodeCommit中的建立 HTTPS 連線的 Git 認證

下列程式碼範例會示範如何使用update-signing-certificate

AWS CLI

啟用或停用 IAM 使用者的簽署憑證

下列update-signing-certificate命令會停用名Bob為 IAM 使用者的指定簽署憑證。

aws iam update-signing-certificate \ --certificate-id TA7SMP42TDN5Z26OBPJE7EXAMPLE \ --status Inactive \ --user-name Bob

若要取得簽署憑證的 ID,請使用list-signing-certificates指令。

如需詳細資訊,請參閱 Amazon EC2 使用者指南中的管理簽署憑證

下列程式碼範例會示範如何使用update-ssh-public-key

AWS CLI

變更 SSH 公開金鑰的狀態

下面的update-ssh-public-key命令改變指定的公鑰的狀態Inactive

aws iam update-ssh-public-key \ --user-name sofia \ --ssh-public-key-id APKA1234567890EXAMPLE \ --status Inactive

此命令不會產生輸出。

如需詳細資訊,請參閱「AWS IAM 使用者指南」 CodeCommit 中的「搭配使用安全殼層金鑰和 SSH」。

下列程式碼範例會示範如何使用update-user

AWS CLI

變更 IAM 使用者的名稱

下列 update-user 命令會將 IAM 使用者名稱從 Bob 變更為 Robert

aws iam update-user \ --user-name Bob \ --new-user-name Robert

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS IAM 使用者指南》中的重新命名 IAM 使用者群組

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdateUser中的。

下列程式碼範例會示範如何使用upload-server-certificate

AWS CLI

將伺服器憑證上傳至您的 AWS 帳戶

下列upload-server-certificate指令會將伺服器憑證上傳至您的 AWS 帳戶。在此範例中,憑證位於檔案 public_key_cert_file.pem 中,相關聯的私密金鑰位於檔案 my_private_key.pem 中,而憑證授權機構 (CA) 提供的憑證鏈結位於 my_certificate_chain_file.pem 檔案中。檔案上傳完成後,即可在名稱下使用myServerCertificate。以 file:// 開頭的參數會告訴命令讀取檔案的內容,並將其用作參數值 (而不是檔案名稱本身)。

aws iam upload-server-certificate \ --server-certificate-name myServerCertificate \ --certificate-body file://public_key_cert_file.pem \ --private-key file://my_private_key.pem \ --certificate-chain file://my_certificate_chain_file.pem

輸出:

{ "ServerCertificateMetadata": { "Path": "/", "ServerCertificateName": "myServerCertificate", "ServerCertificateId": "ASCAEXAMPLE123EXAMPLE", "Arn": "arn:aws:iam::1234567989012:server-certificate/myServerCertificate", "UploadDate": "2019-04-22T21:13:44+00:00", "Expiration": "2019-10-15T22:23:16+00:00" } }

如需詳細資訊,請參閱《使用 IAM 指南》中的「建立、上傳和刪除伺服器憑證」。

下列程式碼範例會示範如何使用upload-signing-certificate

AWS CLI

上傳 IAM 使用者的簽署憑證

下列upload-signing-certificate命令會為名為的 IAM 使用者上傳簽署憑證Bob

aws iam upload-signing-certificate \ --user-name Bob \ --certificate-body file://certificate.pem

輸出:

{ "Certificate": { "UserName": "Bob", "Status": "Active", "CertificateBody": "-----BEGIN CERTIFICATE-----<certificate-body>-----END CERTIFICATE-----", "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", "UploadDate": "2013-06-06T21:40:08.121Z" } }

憑證位於 PEM 格式的名為憑證 .pem 的檔案中。

如需詳細資訊,請參閱使用 IAM 指南中的建立和上傳使用者簽署憑證。

下列程式碼範例會示範如何使用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-body file://sshkey.pub

輸出:

{ "SSHPublicKey": { "UserName": "sofia", "SSHPublicKeyId": "APKA1234567890EXAMPLE", "Fingerprint": "12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef", "SSHPublicKeyBody": "ssh-rsa <<long string generated by ssh-keygen command>>", "Status": "Active", "UploadDate": "2019-04-18T17:04:49+00:00" } }

如需有關如何以適合此命令之格式產生金鑰的詳細資訊,請參閱 SSH 和 Linux、macOS 或 Unix:設定 Git 和/ CodeCommit或 SSH 和 Windows 的公開金鑰和私密金鑰:設定 Git 的公開和私密金鑰,以及 CodeCommitAWS CodeCommit 使用者指南中。