

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

# AWS：允許 IAM 使用者在「安全憑證」頁面中管理其密碼、存取金鑰和 SSH 公有金鑰
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-pass-accesskeys-ssh"></a>

此範例會示範如何建立身分型政策，允許 IAM 使用者在**安全憑證**頁面中管理其密碼、存取金鑰和 X.509 憑證 。此 AWS 管理主控台 頁面會顯示如帳戶 ID 和正式使用者 ID 的帳戶資訊。使用者也可以檢視和編輯其密碼、存取金鑰、MFA 裝置、X.509 憑證、SSH 金鑰和 Git 憑證。此範例政策包括僅檢視和編輯其密碼、存取金鑰和 X.509 憑證所需的許可。若要允許使用者使用 MFA 管理自己的所有憑證，請參閱[AWS：允許經過 MFA 驗證的 IAM 使用者在「安全憑證」頁面中管理其憑證。](reference_policies_examples_aws_my-sec-creds-self-manage.md)。若要允許使用者在不使用 MFA 的情況下管理自己的憑證，請參閱[AWS：允許 IAM 使用者在「安全憑證」頁面中管理其自己的憑證](reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa.md)。

若要了解使用者如何存取**安全憑證**頁面，請參閱 [IAM 使用者如何變更他們自己的密碼 (主控台)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console)。

**此政策的功能為何？**
+ `AllowViewAccountInfo` 陳述式允許使用者檢視帳戶層級資訊。這些許可必須位於自己的陳述式中，因為它們不支援或不需要指定資源 ARN。而是許可指定 `"Resource" : "*"`。此陳述式包括下列動作，可讓使用者檢視特定的資訊：
  + `GetAccountPasswordPolicy` – 檢視帳戶密碼需求，同時變更自己的 IAM 使用者密碼。
  + `GetAccountSummary` – 檢視帳戶 ID 和帳戶[正式使用者 ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId)。
+ `AllowManageOwnPasswords` 陳述式可讓使用者變更自己的密碼。此陳述式也包括檢視 **My Security Credentials** (我的安全憑證) 頁面上大部分資訊所需的 `GetUser` 動作。
+ `AllowManageOwnAccessKeys` 陳述式可讓使用者建立、更新及刪除自己的存取金鑰。使用者也能擷取關於指定之存取金鑰最後一次使用時間的資訊。
+ `AllowManageOwnSSHPublicKeys` 陳述式允許使用者上傳、更新及刪除自己用於 CodeCommit 的 SSH 公有金鑰。

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

------
#### [ JSON ]

****  

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

------