O IAM na AWS pode ser um desafio para usar e entender, especialmente para novos usuários. Mas não se preocupe! Se estiver com dificuldades para entender como o IAM funciona na gestão das permissões de usuário na AWS, veio ao lugar certo para entender o que é possível com o IAM.
Neste tutorial, você aprenderá os conceitos básicos do IAM, percorrendo uma série de exemplos que se complementam.
Pronto? Respire fundo e mergulhe!
Pré-requisitos
Este tutorial será uma demonstração prática. Se quiser acompanhar, certifique-se de ter um PC e uma conta na AWS. Se você não tiver uma conta na AWS, uma conta de nível gratuito está disponível.
Criando Usuários IAM na AWS
Antes de entender como o IAM funciona, você começará este tutorial criando usuários. Os usuários podem ser usados para diversas finalidades. Mas, neste tutorial, você criará usuários que não têm permissões, não pertencem a nenhum grupo e não têm acesso a nada.
1. Faça login no Console da AWS. Esta demonstração usa um nome de usuário chamado cloud_user, mas seu nome de usuário será diferente.

2. Na consola da AWS, digite IAM na caixa de pesquisa e, em seguida, clique no serviço IAM que aparece, conforme mostrado abaixo. Seu navegador será redirecionado para o painel do IAM.

O IAM é um serviço global, o que indica que os usuários e suas permissões são aplicados em toda a sua conta/região da AWS. Se várias pessoas compartilham uma conta da AWS (o que é muito comum, por exemplo, no caso de uma equipe de desenvolvimento em toda a empresa), você precisará garantir uma rotação adequada da força de trabalho do IAM.
Também é possível criar uma instância EC dentro da região us-east. As instâncias são regionais. No entanto, os controles de Identidade e Acesso da AWS não são regionais. As permissões atribuídas a um usuário serão aplicadas independentemente da região à qual as instâncias EC que os usuários se conectam pertencem.

4. No painel do IAM, clique em Usuários no painel esquerdo e, em seguida, clique em Adicionar usuários no canto superior direito da página para iniciar a adição de usuários.

Agora, configure os detalhes do usuário conforme o seguinte:
- Forneça um nome de usuário no campo Nome de usuário mostrado abaixo. Para este exemplo, o nome de usuário é definido como user-1.
- Habilite a opção Senha – acesso ao Console de Gerenciamento da AWS para permitir que os usuários façam login no Console de Gerenciamento da AWS.
- Selecione a opção Senha personalizada para a Senha do console e forneça uma senha segura no campo de texto.
- Desmarque a opção Exigir redefinição de senha para que o usuário não seja solicitado a criar uma nova senha no próximo login e, em seguida, clique em Próximo: Permissão.

5. Ignorar a configuração de permissões e clicar em Avançar: Tags pois está a criar um utilizador que não tem permissões.

6. Também ignorar a adição de tags e clicar em Avançar: Revisão.

7. Rever os detalhes do utilizador e clicar em Criar utilizador para finalizar a criação do utilizador.

Após criar o utilizador, será redirecionado para uma tela de Sucesso como a abaixo.

8. Agora volte para a página de Utilizadores no seu painel IAM e clique no utilizador recém-criado (utilizador-1) para visualizar as informações do utilizador. Abertura do seu utilizador-1

Em seguida, sob a aba de Permissões e Grupos, pode-se observar que o utilizador-1 não possui permissões associadas a ele e não é membro de nenhum grupo.


Na aba de Credenciais de segurança, serão exibidas diferentes chaves de acesso que o utilizador-1 pode ter. Pode-se carregar uma chave pública SSH nesta aba, o que é ótimo para suas instâncias AWS EC2.

A aba de Conselheiro de acesso mostra os serviços que o utilizador-1 acessou, seja diretamente ou através de outros serviços, juntamente com a última vez que o utilizador-1 acessou esse serviço.

9. Por fim, repita o processo (passos três a sete) para criar mais dois utilizadores (utilizador-2 e utilizador-3). Volte para a página de Utilizadores do seu painel IAM e verá uma lista semelhante à abaixo.

Criando os Grupos de Utilizadores
Agora que você criou os usuários, é hora de criar grupos. Você criará grupos usando a política gerenciada pela AWS e um arquivo JSON.
Para este tutorial, você criará três grupos:
- EC2-Admin: Fornece permissões para visualizar, iniciar e parar instâncias EC2
- EC2-Support: Fornece acesso somente leitura ao EC2
- S3-Support: Fornece acesso somente leitura ao S3
Para começar a criar grupos de usuários:
1. No painel IAM, clique em Grupos de usuários no painel esquerdo, depois clique em Criar grupo.
2. Forneça um Nome do grupo de usuários (EC2-Admin) na página Criar grupo de usuários, como mostrado abaixo.

Mantenha as permissões padrão e clique em Criar grupo para finalizar a criação do grupo EC2-Admin.

Assim que você criar o novo grupo, receberá a mensagem Grupo de usuários EC2-Admin criado no topo da página, como mostrado abaixo. Seu navegador então redireciona automaticamente para a página Grupos de usuários (passo três).

3. Clique no grupo EC2-Admin sob a coluna Nome do grupo para visualizar as informações resumidas do grupo onde você pode adicionar políticas embutidas (passo quatro).

4. Agora clique na guia Permissões —> Adicionar Permissões —> Criar política embutida para criar uma política embutida. As políticas embutidas geralmente estão associadas diretamente aos usuários e normalmente são usadas para solicitar permissões em situações únicas.
Por exemplo, sua equipe está migrando um ambiente antigo do EC2 para um novo. Você deseja garantir que o administrador da instância antiga do EC2 tenha acesso para iniciar/parar e copiar as configurações do grupo de segurança para a nova instância do EC2.

5. Na página Criar política, clique na guia JSON mostrada abaixo para abrir um editor JSON onde você criará uma política.

6. Cole o código (política) abaixo no campo do editor e clique em Revisar política para criar uma política incorporada. Esta política incorporada é pré-construída pela AWS ou por um administrador dentro de sua conta AWS que você pode usar, personalizar ou editar para atender exatamente às suas necessidades.
Com esta política, os membros do grupo EC2-Admin têm permissão para iniciar ("ec2:StartInstances"
), parar ("ec2:StopInstances"
) e visualizar ("ec2:Describe*"
) instâncias EC2. Eles têm permissão (”Effect”: “Allow”
) para realizar ações em todos os recursos ("Resource": "*"
). Essas ações estão vinculadas às chamadas programáticas ou de API da AWS essencialmente.
Os membros do grupo EC2-Admin também têm permissão para visualizar todos os balanceadores de carga elásticos (Ação": "elasticloadbalancing:Describe
), listar métricas (cloudwatch:ListMetrics
), obter estatísticas de métricas cloudwatch:GetMetricStatistics
e descrever métricas (cloudwatch:Describe
).
As métricas do CloudWatch são configuradas automaticamente com sua instância EC, e o mesmo se aplica ao serviço de Auto Scaling.

7. Revisar o resumo da política e clicar em Salvar alterações para salvar a política.

8. Agora, navegue novamente para o seu painel IAM e inicie a criação de um grupo como fez no passo dois. Mas desta vez, nomeie o Nome do grupo de usuário como Suporte-EC2.
Desça a tela, procure por AmazonEC2ReadOnlyAccess na caixa de pesquisa de Anexar políticas de permissões para anexar essa política ao grupo (Suporte-EC2):
AmazonEC2ReadOnlyAccess é uma política gerenciada semelhante a uma política em linha, pois também pode ser anexada a vários usuários ou grupos de usuários. Mas, ao contrário da política em linha, este tipo de política criada pelos administradores é reutilizável e pode ser compartilhada em toda a sua organização ou com todas as contas da AWS em sua conta.
A managed policy is a shared policy. As a result, all users or groups of users who use the shared policy will have updated permissions automatically when the policy is updated.
Esse recurso de atualização automática torna as políticas gerenciadas mais atraentes do que as políticas em linha. Com políticas em linha, cada permissão precisa ser atualizada pelo administrador se a política for alterada.
Marque a opção AmazonEC2ReadOnlyAccess e clique em Criar grupo para finalizar a criação do grupo.

10. Agora, repita os passos oito a nove para criar o grupo Suporte-S3 com uma política gerenciada AmazonS3ReadOnlyAccess. Depois de criar o grupo Suporte-S3, você terá uma lista de grupos semelhante à abaixo que mostra que cada grupo tem permissões definidas.

Adicionando Usuários aos Seus Grupos Adequados
Você criou os usuários e grupos com permissões definidas. Agora é hora de adicionar os usuários aos seus grupos adequados. Você abrirá a página de resumo de cada grupo e adicionará manualmente um usuário a esse grupo.
A tabela abaixo mostra os grupos adequados onde você adicionará cada usuário:
Users | In-group | Permissions |
---|---|---|
user-1 | S3-Support | Read-only access to S3 Bucket |
user-2 | EC2-Support | Read-only access to EC2 Instance |
user-3 | EC2-Admin | Full EC2 Access (View/Start/Stop) |
1. No painel do seu IAM, vá para a página de Grupos de Usuários e clique no grupo S3-Support mostrado abaixo para acessar a página de resumo do grupo.

2. Em seguida, clique na guia Usuários -> Adicionar usuários para iniciar a adição de usuários ao grupo. Seu navegador será redirecionado para uma página onde você verá uma lista de usuários que ainda não pertencem a nenhum grupo (passo três).

3. Marque a caixa em frente a user-1, depois clique em Adicionar usuários para adicionar o usuário ao grupo S3-Support. Seu navegador será redirecionado automaticamente para a página de resumo do grupo S3-Support.

Abaixo, você pode ver que user-1 agora faz parte do grupo S3-Support.

4. Repita os passos um a três para adicionar user-2 e user-3 aos seus grupos adequados.
5. Por fim, vá para a página de Grupos de Usuários e você verá que os grupos agora têm um usuário cada, como na captura de tela abaixo.

Testando as Permissões do Usuário para Garantir que Funcionem Corretamente
Você criou completamente usuários em seus próprios grupos com permissões definidas. Mas como você sabe se estão funcionando? É hora de verificar se as permissões estão funcionando conforme o esperado, e há várias maneiras de fazer isso. Uma das maneiras mais comuns é usando o Console de Gerenciamento da AWS baseado na web.
1. Vá para o painel do seu IAM e copie a URL de login do usuário IAM no painel direito, conforme mostrado abaixo.

2. No seu navegador da web, acesse a URL de login que você anotou anteriormente (passo um) e faça login com as credenciais do user-1. Google Chrome e Firefox são os navegadores mais recomendados para esta tarefa.

3. Digite S3 na caixa de pesquisa e clique no link S3 mostrado abaixo para acessar a página de Buckets da Amazon S3.

4. Agora, clique em Criar bucket para iniciar a criação de um bucket S3.

5. Insira um nome de bucket na seção de Configuração geral, em seguida, clique em Criar bucket para tentar criar um bucket S3.


Se você se lembrar, você anexou a política AmazonS3ReadOnlyAccess ao usuário-1, que apenas dá permissão de leitura ao usuário-1 para visualizar buckets S3. Como resultado, se o usuário-1 tentar criar, excluir ou atualizar um bucket S3, a mensagem de erro mostrada abaixo será exibida.
A mensagem de erro abaixo indica que a permissão que você atribuiu ao usuário-1 está funcionando corretamente.

Observe que o usuário-1 também não possui permissões do EC2. Portanto, para verificação adicional, acesse o painel do EC2 e você obterá muitos erros de API que aparecerão como na captura de tela abaixo.
Obtém estes erros devido ao princípio da menor permissão (PLP). PLP é o conceito de que qualquer conta de usuário ou processo de sistema operativo deve ter o mínimo absoluto de privilégios necessários para concluir uma tarefa.

6. Agora, efetua o logout do utilizador-1 e inicia sessão como utilizador-2, e navega até ao teu painel EC2.

7. Clica em qualquer instância EC2 em execução para visualizar as permissões do utilizador-2. Como mostrado abaixo, obterás informações sobre a instância, como ID da Instância, Endereço IPv4 Público, e assim por diante.

8. Clica no estado da instância na parte mais à direita da página e escolhe entre as opções Parar instância, Reiniciar instância ou Terminar instância para testar se as permissões do utilizador-2 funcionam.

Lembra-te de que o utilizador-2 apenas tem acesso de leitura para instâncias EC2 (AmazonEC2ReadOnlyAccess). Assim, se um utilizador tentar manipular uma instância EC2, surgirá a mensagem de erro abaixo.
Obter o erro abaixo indica que as permissões do utilizador-2 estão a funcionar corretamente.

9. Por fim, efetua o logout do utilizador-2 e inicia sessão como utilizador-3, tentando manipular quaisquer instâncias EC2 em execução na tua conta. Como o utilizador-3 tem permissão total para EC2, podes iniciar, parar ou terminar uma instância sem receber uma mensagem de erro.
Conclusão
Ao longo deste tutorial, aprendeu a criar utilizadores IAM e grupos de utilizadores com políticas definidas. Também abordou como verificar se as permissões estão a funcionar conforme o pretendido, tentando alterar o estado de uma instância EC2 e tentando criar um bucket S3.
Neste ponto, já tem a sua configuração básica para utilizadores e grupos IAM gerirem as permissões de utilizador. Claro que pode sempre adicionar mais utilizadores à sua conta e aplicar mais políticas conforme necessário.
Agora, qual é o próximo passo para expandir o seu conhecimento recém-adquirido? Talvez investigar a configuração dos seus serviços EC2 em Auto-Scaling para trabalhar com IAM.