

# AWS: permite que usuários do IAM gerenciem suas próprias credenciais na página Credenciais de segurança
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa"></a>

Este exemplo mostra como você pode criar uma política baseada em identidade que permita que os usuários do IAM gerenciem todas as suas próprias credenciais 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, certificados X.509, chaves SSH e credenciais do Git. Esta política de exemplo inclui as permissões necessárias para visualizar e editar todas as informações na página, *exceto* o dispositivo MFA do usuário. Para permitir que os usuários gerenciem 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 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 `AllowManageOwnSigningCertificates` permite que o usuário carregue, atualize e exclua os próprios certificados de assinatura.
+ A instrução `AllowManageOwnSSHPublicKeys` permite que o usuário carregue, atualize e exclua as próprias chaves públicas SSH para o CodeCommit.
+ A instrução `AllowManageOwnGitCredentials` permite que o usuário crie, atualize e exclua as próprias credenciais do Git 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:CreateLoginProfile`, `iam:DeleteLoginProfile`, `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": "AllowManageOwnSigningCertificates",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSigningCertificate",
                "iam:ListSigningCertificates",
                "iam:UpdateSigningCertificate",
                "iam:UploadSigningCertificate"
            ],
            "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}"
        },
        {
            "Sid": "AllowManageOwnGitCredentials",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceSpecificCredential",
                "iam:DeleteServiceSpecificCredential",
                "iam:ListServiceSpecificCredentials",
                "iam:ResetServiceSpecificCredential",
                "iam:UpdateServiceSpecificCredential"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}
```

------