AWS: permite que usuários do IAM gerenciem suas próprias credenciais na página Credenciais de segurança - AWS Identity and Access Management

AWS: permite que usuários do IAM gerenciem suas próprias credenciais na página Credenciais de seguranç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 AWS Management Console 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.

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).

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 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.

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