

# Permissões necessárias para acessar recursos do IAM
<a name="access_permissions-required"></a>

*Recursos* são objetos dentro de um serviço. Os recursos do IAM incluem grupos, usuários, funções e políticas. Se você fizer login com credenciais de Usuário raiz da conta da AWS, não terá restrições para administrar credenciais do IAM ou recursos do IAM. No entanto, os usuários do IAM devem receber explicitamente permissões para administrar credenciais ou recursos do IAM. Você pode fazer isso anexando uma política baseada em identidade ao usuário.

**nota**  
Em toda a documentação da AWS, quando nos referirmos a uma política do IAM sem mencionar uma das categorias específicas, estaremos nos referindo a uma política baseada em identidade e gerenciada pelo cliente. Para obter detalhes sobre as categorias de políticas, consulte [Políticas e permissões no AWS Identity and Access Management](access_policies.md).

## Permissões para administração de identidades do IAM
<a name="access_permissions-required-identities"></a>

As permissões necessárias para administrar grupos, usuários, funções e credenciais do IAM geralmente correspondem às ações da API para a tarefa. Por exemplo, para criar usuários do IAM, você deve ter a permissão `iam:CreateUser` que possui o comando de API correspondente: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html). Para permitir que um usuário do IAM crie outros usuários do IAM, você pode anexar uma política do IAM, conforme mostrado a seguir, ao usuário em questão: 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "iam:CreateUser",
    "Resource": "*"
  }
}
```

------

Em uma política, o valor do elemento `Resource` depende da ação e quais recursos ela pode afetar. No exemplo anterior, a política permite que um usuário crie qualquer usuário (`*` é um curinga que corresponde a todas as strings). Por outro lado, uma política que permite que os usuários alterem apenas as próprias chaves de acesso (ações das APIs [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html) e [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html)) geralmente tem um elemento `Resource`. Neste caso, o ARN inclui uma variável (`${aws:username}`) que é substituída pelo nome do usuário atual, como no exemplo a seguir: 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListUsersForConsole",
            "Effect": "Allow",
            "Action": "iam:ListUsers",
            "Resource": "arn:aws:iam::*:*"
        },
        {
            "Sid": "ViewAndUpdateAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:UpdateAccessKey",
                "iam:CreateAccessKey",
                "iam:ListAccessKeys"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}
```

------

No exemplo anterior, `${aws:username}` é uma variável que define o nome do usuário atual. Para obter mais informações sobre variáveis de política, consulte [Elementos de política do IAM: variáveis e etiquetas](reference_policies_variables.md). 

Usando um caractere curinga (`*`) no nome da ação, muitas vezes, facilita a concessão de permissões para todas as ações relacionadas a uma tarefa específica. Por exemplo, para permitir que os usuários realizem qualquer ação do IAM, você pode usar `iam:*` para a ação. Para permitir que os usuários realizem qualquer ação relacionada apenas a chaves de acesso, você pode usar `iam:*AccessKey*` no elemento `Action` de uma declaração de política. Isso dá ao usuário permissão para executar as ações [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccessKey.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html) e [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html). (Se, no futuro, for adicionada uma ação ao IAM que tenha “AccessKey” no nome, o uso de `iam:*AccessKey*` para o elemento `Action` também fornecerá ao usuário permissão para essa nova ação.) O exemplo a seguir mostra uma política que permite que os usuários executem todas as ações relativas às suas próprias chaves de acesso (substitua `account-id` pelo ID da sua Conta da AWS): 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": "iam:*AccessKey*",
        "Resource": "arn:aws:iam::111122223333:user/${aws:username}"
    }
}
```

------

Algumas tarefas, como a exclusão de um grupo, envolvem várias ações: você deve primeiro remover os usuários do grupo e, em seguida, desanexar ou excluir as políticas do grupo de depois realmente excluir o grupo. Se você deseja que um usuário exclua um grupo, deve oferecer a ele permissões para executar todas as ações relacionadas. 

## Permissões para trabalhar no Console de gerenciamento da AWS
<a name="Credentials-Permissions-overview-console"></a>

Os exemplos anteriores mostram políticas que permitem a um usuário executar as ações com a [AWS CLI](https://aws.amazon.com/cli/) ou os [SDKs da AWS](https://aws.amazon.com/tools/). 

Conforme os usuários trabalham com o console, o console emite solicitações ao IAM para listar grupos, usuários, funções e políticas e obter as políticas associadas a um grupo, usuário ou função. O console também emite solicitações para obter informações da Conta da AWS e informações sobre a entidade principal. A entidade principal é o usuário que faz as solicitações no console. 

Em geral, para realizar uma ação, você deve ter somente a ação correspondente incluída em uma política. Para criar um usuário, você precisa de permissão para chamar a ação `CreateUser`. Muitas vezes, quando você usa o console para executar uma ação, precisa ter permissões para exibir, listar, obter ou visualizar os recursos no console. Isso é necessário para que você possa navegar através do console para realizar a ação especificada. Por exemplo, se o usuário Jorge quiser usar o console para alterar suas próprias chaves de acesso, ele acessará o console do IAM e escolherá **Users** (Usuários). Essa ação faz com que o console faça uma solicitação [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html). Se o Jorge não tiver permissão para a ação `iam:ListUsers`, o console terá o acesso negado ao tentar listar os usuários. Como resultado, Jorge não poderá acessar seu próprio nome e chaves de acesso, mesmo que ele tenha permissões para as ações [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html) e [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccessKey.html).

Se você deseja fornecer aos usuários permissões para administrar usuários, grupos, funções, políticas e credenciais com o Console de gerenciamento da AWS, é necessário incluir permissões para as ações executadas pelo console. Para obter alguns exemplos de políticas que você pode usar para conceder essas permissões a um usuário, consulte [Exemplos de política para administrar recursos do IAM](id_credentials_delegate-permissions_examples.md). 

## Conceder permissões entre contas da AWS
<a name="UserPermissionsAcrossAccounts"></a>

Você pode conceder diretamente aos usuários do IAM em sua própria conta acesso aos seus recursos. Se os usuários de outra conta precisarem de acesso aos seus recursos, você poderá criar uma função do IAM, que é uma entidade que inclui permissões, mas que não está associada a um usuário específico. Os usuários de outras contas podem, então, usar a função e acessar os recursos de acordo com as permissões que você tiver atribuído à função. Para obter mais informações, consulte [Acesso a um usuário do IAM em outra Conta da AWS de sua propriedade](id_roles_common-scenarios_aws-accounts.md).

**nota**  
Alguns serviços oferecem suporte a políticas baseadas em recurso, conforme descrito em [Políticas baseadas em identidade e em recurso](access_policies_identity-vs-resource.md) (como o Amazon S3, Amazon SNS e Amazon SQS). Para esses serviços, uma alternativa ao uso de funções é anexar uma política ao recurso (bucket, tópico ou fila) que você deseja compartilhar. A política baseada em recurso pode especificar a conta da AWS com permissões para acessar o recurso.

## Permissões para um serviço acessar outro
<a name="UserPermissionsAcrossAWS_ARCHIVE"></a>

Muitos serviços da AWS acessam outros serviços da AWS. Por exemplo, vários produtos da AWS: incluindo o Amazon EMR, o Elastic Load Balancing e o Amazon EC2 Auto Scaling, gerenciam instâncias do Amazon EC2. Outros produtos da AWS usam buckets do Amazon S3, tópicos do Amazon SNS, filas do Amazon SQS e assim por diante.

O cenário para o gerenciamento de permissões nesses casos varia de acordo com o serviço. Veja a seguir alguns exemplos de como as permissões são tratadas para diferentes serviços: 
+ No Amazon EC2 Auto Scaling, os usuários devem ter permissão para usar o Auto Scaling, mas não precisam receber permissão explicitamente para gerenciar instâncias do Amazon EC2. 
+ No AWS Data Pipeline, uma função do IAM determina o que um pipeline pode fazer; os usuários precisam de permissão para assumir a função. (Para obter mais detalhes, consulte [Conceder permissões a pipelines com o IAM](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-iam-roles.html) no *Guia do desenvolvedor do AWS Data Pipeline*.) 

Para obter detalhes sobre como configurar permissões corretamente para que um serviço da AWS seja capaz de realizar as tarefas pretendidas, consulte a documentação do serviço que você está chamando. Para saber como criar uma função para um serviço, consulte [Criar um perfil para delegar permissões a um serviço da AWS](id_roles_create_for-service.md).

**Configuração de um serviço com uma função do IAM para trabalhar em seu nome**  
Quando quiser configurar um produto da AWS para trabalhar em seu nome, normalmente você fornecerá o ARN para uma função do IAM que define o que o serviço tem permissão para fazer. A AWS verifica para garantir que você tenha permissões para passar uma função para um serviço. Para obter mais informações, consulte [Conceda permissões a um usuário para passar um perfil para um serviço da AWS](id_roles_use_passrole.md).

## Ações necessárias
<a name="access_permissions-required-dependent-actions"></a>

As ações são as atividades que você pode realizar com um recurso, como visualizar, criar, editar e excluir esse recurso. As ações são definidas por cada serviço da AWS.

Para permitir que alguém realize uma ação, você deve incluir as ações necessárias em uma política que se aplique à identidade da chamada ou ao recurso afetado. Em geral, para fornecer a permissão necessária para realizar uma ação, você deve incluir essa ação em sua política. Por exemplo, para criar um usuário, você precisa adicionar a ação CreateUser à política.

Em alguns casos, uma ação pode exigir que você inclua ações adicionais relacionadas em sua política. Por exemplo, para fornecer permissão para que uma pessoa crie um diretório no AWS Directory Service usando a operação `ds:CreateDirectory`, você deve incluir as seguintes ações na política dela:
+ `ds:CreateDirectory`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeVpcs`
+ `ec2:CreateSecurityGroup`
+ `ec2:CreateNetworkInterface`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:AuthorizeSecurityGroupIngress`
+ `ec2:AuthorizeSecurityGroupEgress`

Ao criar ou editar uma política usando o editor visual, você recebe avisos e solicitações para ajudá-lo a escolher todas as ações necessárias para a política.

Para obter mais informações sobre as permissões necessárias para criar um diretório no AWS Directory Service, consulte [Exemplo 2: permitir que um usuário crie um diretório](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/IAM_Auth_Access_IdentityBased.html#IAMPolicyExamples_DS_create_directory).

# Exemplos de política para administrar recursos do IAM
<a name="id_credentials_delegate-permissions_examples"></a>

Veja seguir exemplos de políticas do IAM que permitem aos usuários executar tarefas associadas ao gerenciamento de usuários, grupos e credenciais do IAM. Isso inclui políticas que permitem que os usuários gerenciem as próprias senhas, chaves de acesso e dispositivos de autenticação multifator (MFA).

Para obter exemplos de políticas que permitem aos usuários realizar tarefas com outros produtos da AWS, como Amazon S3, Amazon EC2 e DynamoDB, consulte [Exemplos de políticas baseadas em identidade do IAM](access_policies_examples.md). 

**Topics**
+ [Permitir que um usuário liste grupos, usuários, políticas e outros itens da conta para fins de relatório](#iampolicy-example-userlistall)
+ [Permitir que um usuário gerencie a associação de um grupo](#iampolicy-example-usermanagegroups)
+ [Permitir que um usuário gerencie usuários do IAM](#creds-policies-users)
+ [Permitir que usuários definam a política de senha da conta](#creds-policies-set-password-policy)
+ [Permitir que usuários gerem e recuperem relatórios de credenciais do IAM](#iampolicy-generate-credential-report)
+ [Permitir todas as ações do IAM (acesso de administrador)](#creds-policies-all-iam)

## Permitir que um usuário liste grupos, usuários, políticas e outros itens da conta para fins de relatório
<a name="iampolicy-example-userlistall"></a>

A política a seguir permite que o usuário chamem qualquer ação do IAM que comece com a string `Get` ou `List` e gere relatórios. Para visualizar a política de exemplo, consulte [IAM: permite acesso somente leitura ao console do IAM](reference_policies_examples_iam_read-only-console.md). 

## Permitir que um usuário gerencie a associação de um grupo
<a name="iampolicy-example-usermanagegroups"></a>

A política a seguir permite que os usuários atualizem a associação do grupo chamado *MarketingGroup*. Para visualizar a política de exemplo, consulte [IAM: permite gerenciar a associação de um grupo de forma programática e no console](reference_policies_examples_iam_manage-group-membership.md). 

## Permitir que um usuário gerencie usuários do IAM
<a name="creds-policies-users"></a>

A política a seguir permite que um usuário execute todas as tarefas associadas ao gerenciamento de usuários do IAM, mas não execute ações em outras entidades, como a criação de grupos ou políticas. As ações permitidas incluem: 
+ Criar o usuário (a ação [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html)). 
+ Excluir o usuário. Esta tarefa requer permissões para executar todas as seguintes ações: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteSigningCertificate.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteSigningCertificate.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteLoginProfile.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteLoginProfile.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveUserFromGroup.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveUserFromGroup.html) e [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUser.html). 
+ Listar os usuários na conta e em grupos (as ações [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html) e [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroupsForUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListGroupsForUser.html)). 
+ Listar e remover políticas do usuário (as ações [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUserPolicies.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUserPolicies.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedUserPolicies.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedUserPolicies.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachUserPolicy.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachUserPolicy.html), [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUserPolicy.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteUserPolicy.html)) 
+ Renomear ou alterar o caminho para o usuário (a ação [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateUser.html)). O elemento `Resource` deve incluir um nome de recurso da Amazon (ARN) que abrange o caminho da fonte e o caminho de destino. Para obter mais informações sobre caminhos, consulte [Nomes amigáveis e caminhos](reference_identifiers.md#identifiers-friendly-names).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowUsersToPerformUserActions",
            "Effect": "Allow",
            "Action": [
                "iam:ListPolicies",
                "iam:GetPolicy",
                "iam:UpdateUser",
                "iam:AttachUserPolicy",
                "iam:ListEntitiesForPolicy",
                "iam:DeleteUserPolicy",
                "iam:DeleteUser",
                "iam:ListUserPolicies",
                "iam:CreateUser",
                "iam:RemoveUserFromGroup",
                "iam:AddUserToGroup",
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:PutUserPolicy",
                "iam:ListAttachedUserPolicies",
                "iam:ListUsers",
                "iam:GetUser",
                "iam:DetachUserPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowUsersToSeeStatsOnIAMConsoleDashboard",
            "Effect": "Allow",
            "Action": [
                "iam:GetAccount*",
                "iam:ListAccount*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Várias permissões incluídas na política anterior permitem que o usuário execute tarefas no Console de gerenciamento da AWS. Os usuários que executam tarefas relacionadas ao usuário apenas na [AWS CLI](https://aws.amazon.com/cli/), nos [AWS SDKs](https://aws.amazon.com/tools/) ou na API de consulta HTTP do IAM podem não precisar de determinadas permissões. Por exemplo, se os usuários já conhecerem o nome de recurso da Amazon (ARN) das políticas a serem desanexadas de um usuário, eles não precisarão da permissão `iam:ListAttachedUserPolicies`. A lista exata de permissões que um usuário requer depende das tarefas que o usuário deve executar enquanto gerencia outros usuários. 

As seguintes permissões na política permitem acesso a tarefas do usuário por meio do Console de gerenciamento da AWS:
+ `iam:GetAccount*`
+ `iam:ListAccount*`

## Permitir que usuários definam a política de senha da conta
<a name="creds-policies-set-password-policy"></a>

Você pode conceder a alguns usuários permissões para obter e atualizar a [política de senha](id_credentials_passwords_account-policy.md) da sua Conta da AWS. Para visualizar a política de exemplo, consulte [IAM: permite configurar os requisitos de senha da conta de forma programática e no console](reference_policies_examples_iam_set-account-pass-policy.md). 

## Permitir que usuários gerem e recuperem relatórios de credenciais do IAM
<a name="iampolicy-generate-credential-report"></a>

Você pode conceder aos usuários permissão para gerar e baixar um relatório que liste todos os usuários na sua Conta da AWS. O relatório também lista o status de diversas credenciais de usuário, incluindo senhas, chaves de acesso, dispositivos MFA e certificados de assinatura. Para obter mais informações sobre relatórios de credenciais do , consulte [Gerar relatórios de credenciais para sua Conta da AWS](id_credentials_getting-report.md). Para visualizar a política de exemplo, consulte [IAM: gerar e recuperar relatórios de credenciais do IAM](reference_policies_examples_iam-credential-report.md). 

## Permitir todas as ações do IAM (acesso de administrador)
<a name="creds-policies-all-iam"></a>

Você pode conceder a alguns usuários permissões administrativas para executar todas as ações no IAM, incluindo o gerenciamento de senhas, chaves de acesso, dispositivos com MFA e certificados de usuário. No exemplo a seguir a política concede estas permissões. 

**Atenção**  
Quando você concede a um usuário acesso total ao IAM, não há limite de permissões que um usuário possa conceder a si mesmo e aos outros. O usuário pode criar novas entidades (usuários ou perfis) do IAM e conceder a essas entidades acesso total a todos os recursos na sua Conta da AWS. Ao conceder a um usuário acesso total ao IAM, você está efetivamente fornecendo a ele acesso total a todos os recursos na sua Conta da AWS. Isso inclui acesso para excluir todos os recursos. Você deve conceder essas permissões apenas a administradores confiáveis e aplicar autenticação multifator (MFA) a esses administradores.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "iam:*",
    "Resource": "*"
  }
}
```

------