AWS:允許 IAM 使用者在「安全憑證」頁面中管理其密碼、存取金鑰和 SSH 公有金鑰 - AWS Identity and Access Management

AWS:允許 IAM 使用者在「安全憑證」頁面中管理其密碼、存取金鑰和 SSH 公有金鑰

此範例會示範如何建立身分型政策,允許 IAM 使用者在安全憑證頁面中管理其密碼、存取金鑰和 X.509 憑證 。此 AWS Management Console 頁面會顯示如帳戶 ID 和正式使用者 ID 的帳戶資訊。使用者也可以檢視和編輯其密碼、存取金鑰、MFA 裝置、X.509 憑證、SSH 金鑰和 Git 憑證。此範例政策包括僅檢視和編輯其密碼、存取金鑰和 X.509 憑證所需的許可。若要允許使用者使用 MFA 管理自己的所有憑證,請參閱AWS:允許經過 MFA 驗證的 IAM 使用者在「安全憑證」頁面中管理其憑證。。若要允許使用者在不使用 MFA 的情況下管理自己的憑證,請參閱AWS:允許 IAM 使用者在「安全憑證」頁面中管理其自己的憑證

若要了解使用者如何存取安全憑證頁面,請參閱 IAM 使用者如何變更他們自己的密碼 (主控台)

此政策的功能為何?

  • AllowViewAccountInfo 陳述式允許使用者檢視帳戶層級資訊。這些許可必須位於自己的陳述式中,因為它們不支援或不需要指定資源 ARN。而是許可指定 "Resource" : "*"。此陳述式包括下列動作,可讓使用者檢視特定的資訊:

    • GetAccountPasswordPolicy – 檢視帳戶密碼需求,同時變更自己的 IAM 使用者密碼。

    • GetAccountSummary – 檢視帳戶 ID 和帳戶正式使用者 ID

  • AllowManageOwnPasswords 陳述式可讓使用者變更自己的密碼。此陳述式也包括檢視 My Security Credentials (我的安全憑證) 頁面上大部分資訊所需的 GetUser 動作。

  • AllowManageOwnAccessKeys 陳述式可讓使用者建立、更新及刪除自己的存取金鑰。使用者也能擷取關於指定之存取金鑰最後一次使用時間的資訊。

  • AllowManageOwnSSHPublicKeys 陳述式允許使用者上傳、更新及刪除自己用於 CodeCommit 的 SSH 公有金鑰。

此政策不允許使用者檢視或管理自己的 MFA 裝置。他們也不能檢視 IAM 主控台中的 Users (使用者) 頁面,或使用該頁面存取自己的使用者資訊。若要允許此操作,請將 iam:ListUsers 動作加入 AllowViewAccountInfo 陳述式。它也不允許使用者在自己的使用者頁面上變更密碼。若要允許此操作,請將 iam:GetLoginProfileiam:UpdateLoginProfile 動作加入 AllowManageOwnPasswords 陳述式。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowViewAccountInfo", "Effect": "Allow", "Action": [ "iam:GetAccountPasswordPolicy", "iam:GetAccountSummary" ], "Resource": "*" }, { "Sid": "AllowManageOwnPasswords", "Effect": "Allow", "Action": [ "iam:ChangePassword", "iam:GetUser" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnAccessKeys", "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:DeleteAccessKey", "iam:ListAccessKeys", "iam:UpdateAccessKey", "iam:GetAccessKeyLastUsed" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnSSHPublicKeys", "Effect": "Allow", "Action": [ "iam:DeleteSSHPublicKey", "iam:GetSSHPublicKey", "iam:ListSSHPublicKeys", "iam:UpdateSSHPublicKey", "iam:UploadSSHPublicKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }