

# IAM: permite e nega acesso a vários serviços de forma programática e no console
<a name="reference_policies_examples_iam_multiple-services-console"></a>

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](access_policies_create.md) ou [editar uma política](access_policies_manage-edit.md).

**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](access_policies_boundaries.md#access_policies_boundaries-delegate). 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 Console de gerenciamento da AWS. 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.

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

****  

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

------