

# AWS: permite que os usuários do IAM gerenciem suas próprias senhas, chaves de acesso e chaves públicas SSH na página Credenciais de segurança
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-pass-accesskeys-ssh"></a>

Este exemplo mostra como você pode criar uma política baseada em identidade que permita que os usuários do IAM gerenciem suas próprias senhas, chaves de acesso e certificados X.509 na página **Credenciais de segurança**. Essa página do Console de gerenciamento da AWS exibe as informações de conta, como ID de conta e ID de usuário canônico. Os usuários também podem visualizar e editar as próprias senhas, chaves de acesso, dispositivos MFA, certificados X.509, chaves SSH e credenciais do Git. Esta política de exemplo inclui as permissões que são necessárias para visualizar e editar somente a senha, chaves de acesso e certificado X.509. Para permitir que os usuários gerenciem todas as próprias credenciais com MFA, consulte [AWS: permite que os usuários do IAM autenticados por MFA gerenciem suas próprias credenciais na página Credenciais de segurança](reference_policies_examples_aws_my-sec-creds-self-manage.md). Para permitir que os usuários gerenciem as próprias credenciais sem usar MFA, consulte [AWS: permite que usuários do IAM gerenciem suas próprias credenciais na página Credenciais de segurança](reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa.md).

Para saber como os usuários podem acessar a página **Credenciais de segurança**, consulte [Como os usuários do IAM alteram a própria senha (console)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console).

**O que essa política faz? **
+ A instrução `AllowViewAccountInfo` permite que o usuário visualize informações no nível da conta. Essas permissões devem estar nas suas respectivas instruções, pois não oferecem suporte ou não precisam especificar um ARN de recurso. Em vez disso, as permissões especificam `"Resource" : "*"`. Essa instrução inclui as seguintes ações que permitem que o usuário visualize informações específicas: 
  + `GetAccountPasswordPolicy`: visualizar os requisitos de senha da conta ao mudar a própria senha de usuário do IAM.
  + `GetAccountSummary`: visualizar o ID da conta e o [ID de usuário canônico](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId) da conta.
+ A instrução `AllowManageOwnPasswords` permite que o usuário altere a própria senha. Essa instrução também inclui a ação `GetUser`, que é necessária para visualizar a maioria das informações na página **My security credentials (Minhas credenciais de segurança)**.
+ A instrução `AllowManageOwnAccessKeys` permite que o usuário crie, atualize e exclua as próprias chaves de acesso. O usuário também pode recuperar informações sobre quando a chave de acesso foi usada pela última vez.
+ A instrução `AllowManageOwnSSHPublicKeys` permite que o usuário carregue, atualize e exclua as próprias chaves públicas SSH para o CodeCommit.

Essa política não permite que os usuários visualizem ou gerenciem os próprios dispositivos MFA. Eles também não podem visualizar a página **Users** (Usuários) no console do IAM ou usar essa página para acessar as próprias informações de usuário. Para permitir isso, adicione a ação `iam:ListUsers` à instrução `AllowViewAccountInfo`. Ela também não permite que os usuários alterem a senha na própria página de usuário. Para permitir isso, adicione as ações `iam:GetLoginProfile` e `iam:UpdateLoginProfile` à instrução `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}"
        }
    ]
}
```

------