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}" } ] }