IAM: permite e nega acesso a vários serviços de forma programática e no console - AWS Identity and Access Management

IAM: permite e nega acesso a vários serviços de forma programática e no console

Este exemplo mostra como você pode criar uma política baseada em identidade que permita acesso total a vários serviços e acesso limitado autogerenciado no IAM. Ela também nega acesso ao bucket logs do Amazon S3 ou à instância i-1234567890abcdef0 do Amazon EC2. Esta política define permissões para acesso programático e do console. Para usar esta política, substitua o texto do espaço reservado em itálico na política de exemplo por suas próprias informações. Em seguida, siga as instruções em criar uma política ou editar uma política.

Atenção

Essa política permite acesso total a todas as ações e recursos em vários serviços. Essa política deve ser aplicada apenas a administradores confiáveis.

Você pode usar esta política como um limite de permissões para definir o número máximo de permissões que uma política baseada em identidade pode conceder a um usuário do IAM. Para obter mais informações, consulte Delegar responsabilidade para outras pessoas usando limites de permissões. Quando a política é usada como um limite de permissões para um usuário, as instruções definem os seguintes limites:

  • Uma instrução AllowServices permite acesso total aos serviços especificados da AWS. Isso significa que as ações do usuário nesses serviços são limitadas apenas pelas políticas de permissões que são anexadas ao usuário.

  • A instrução AllowIAMConsoleForCredentials permite acesso para listar todos os usuários do IAM. Esse acesso é necessário para navegar na página Usuários no AWS Management Console. Ela também permite visualizar os requisitos de senha da conta, que são necessários para o usuário alterar a própria senha.

  • A instrução AllowManageOwnPasswordAndAccessKeys permite que os usuários gerenciem apenas suas próprias chaves de acesso programático e senha do console. Isso é importante porque se outra política conceder a um usuário acesso total ao IAM, esse usuário poderá alterar suas próprias permissões ou as permissões de outros usuários. Essa instrução impede que isso ocorra.

  • A instrução DenyS3Logs nega explicitamente o acesso ao bucket de logs. Essa política impõe restrições da empresa ao usuário.

  • A instrução DenyEC2Production nega explicitamente o acesso à instância de i-1234567890abcdef0.

Essa política não permite acesso a outros serviços ou ações. Quando a política é usada como um limite de permissões para um usuário, mesmo que outras políticas anexadas ao usuário permitam essas ações, o AWS nega a solicitação.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowServices", "Effect": "Allow", "Action": [ "s3:*", "cloudwatch:*", "ec2:*" ], "Resource": "*" }, { "Sid": "AllowIAMConsoleForCredentials", "Effect": "Allow", "Action": [ "iam:ListUsers", "iam:GetAccountPasswordPolicy" ], "Resource": "*" }, { "Sid": "AllowManageOwnPasswordAndAccessKeys", "Effect": "Allow", "Action": [ "iam:*AccessKey*", "iam:ChangePassword", "iam:GetUser", "iam:*LoginProfile*" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "DenyS3Logs", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::logs", "arn:aws:s3:::logs/*" ] }, { "Sid": "DenyEC2Production", "Effect": "Deny", "Action": "ec2:*", "Resource": "arn:aws:ec2:*:*:instance/i-1234567890abcdef0" } ] }