AWS IAM: Você já conhece o IAM Policy Simulator?

O destaque de hoje vai para um serviço da AWS que ajuda muito no processo de troubleshooting de acessos e políticas de usuários.

Amazon AWS

Pretendo ser breve e rápido para que você entenda como funciona esse serviço da AWS onde irei simular um case. Primeiramente, para que você siga no case desse artigo, é necessário uma conta na AWS, pode ser a free tier. Acesse aqui para criar sua conta.

Na AWS as políticas de usuários são fragmentadas, é possível dividir todos os acessos aos recursos da AWS para qualquer usuário. O AWS (IAM) permite que você gerencie com segurança o acesso aos serviços e recursos da AWS. Usando o IAM, você pode criar e gerenciar usuários e grupos da AWS e usar permissões para conceder e negar acesso a recursos da AWS.

Veja um exemplo na prática:
amos usar o serviço de EC2 da AWS, é possível você prover o acesso total ao serviço de EC2 para qualquer usuário, mas isso não é uma boa prática, com o (IAM) podemos restringir a permissão de apenas dar start/stop em instâncias, ou criar snapshot do sistema entre outras ações.

Já pensou se na sua empresa tem 1000 servidores e uma pessoa que pode desligar 20 servidores tem a permissão de desligar 1000? Não seria adequado, o (IAM) vem para ajudar nesse tipo de questão, onde podemos informar qual recurso ele tem acesso ou não.

Mas afinal, o que é o (IAM Policy Simulator)? É um recurso que você pode testar e solucionar problemas de políticas gerais dos serviços da AWS. Você pode testar as políticas anexadas aos usuários, grupos ou funções do (IAM) na sua conta da AWS. Se mais de uma política estiver anexada ao usuário, grupo ou função, você poderá testar todas as políticas ou selecionar políticas individuais a serem testadas. Você pode testar quais ações são permitidas ou negadas pelas políticas selecionadas para recursos específicos. Para mais informações sobre esse recurso acesse aqui.

  • Como será nosso case? Primeiramente, vamos criar uma política no (IAM), um usuário e anexar essa política no usuário criado. Logo após isso, vamos usar o (IAM Policy Simulator) para verificar algumas permissões para um usuário.

Case: Aqui vamos simular que um usuário tenha que criar um snapshot de uma instância EC2, mas ele não está tendo sucesso nessa tarefa. O Analista Cloud da empresa sabe que o (IAM Policy Simulator) pode ajudar a verificar detalhadamente o que está ocorrendo e porque esse usuário não consegue criar o snapshot de uma instância.

Vamos primeiramente criar a nossa política no (IAM) e atribuir essa política à um usuário, assim podemos simular de forma mais eficiente o (IAM Policy Simulator). Siga os passos abaixo usando a sua conta da AWS:

  • Vamos acessar o painel do (IAM) na AWS:
    - Clique aqui para acessar o painel.
  • No painel de navegação à esquerda, selecione Políticas.
    - Escolha Create policy (Criar política);
    - Agora você pode escolher criar via editor visual ou JSON, aqui vou mostrar usando o editor visual:
Política IAM AWS

Clique em Serviço e escolha o serviço de EC2;

Agora vamos escolher algumas Ações, para nosso exemplo eu vou mostrar 5 ações para esse case, que são elas:
- StartInstances:
- StopInstances;
- RebootInstances;
- CreateVolume;
- DeleteVolume.

Ações IAM

Na guia de Recursos, vamos selecionar todos porque ainda não temos instâncias ou volumes.

Recursos

Feito isso podemos continuar na criação da política, veja a imagem abaixo de como fica:

Criação de política

Clique em Revisar política e preencha os campos conforme abaixo:

Revisão de política

Depois de clicar em Criar política deve aparecer o resultado seguinte:

Política criada no IAM

Para facilitar nosso case, eu vou criar um usuário no (IAM) para que ele receba nossa política que foi criada.

Criação de usuário no IAM

Para não estender muito, siga a documentação da própria Amazon para criação de usuário no (IAM). Acesse aqui.

Agora testando o (IAM Policy Simulator), vamos acessar o painel do (IAM) e clicar em Simulador de Política (lado direito do painel). Veja a tela abaixo:

IAM Policy Simulator
  • Feito o acesso na página, procure pelo usuário que foi criado anteriormente em filter;
  • Deve aparecer as políticas que esse usuário possui, no caso, a que criamos;
  • Vamos testar agora simulando o nosso case, que era a criação de um snapshot, que o usuário em questão não estava conseguindo executar esse recurso, vamos saber agora se ele tem permissão ou não com o (IAM Policy Simulator);
  • Para isso, clique em Select service, e procure por EC2, seguindo a imagem abaixo:
IAM Policy Simulator
  • Agora clique em Select actions, e procure por CreateSnapshot;
IAM Policy Simulator
  • Agora clique em Run Simulator em destaque na cor azul;
  • Veja a imagem abaixo, mostrando que realmente esse usuário NÃO tem permissão para criar snapshot de instâncias EC2;
IAM Policy Simulator
  • Agora vamos simular se esse usuário tem permissão para dar start em instâncias, executando os mesmos passos, procure por EC2 e depois por StartInstances:
IAM Policy Simulator
  • Veja que ele tem permissão para dar start nas instâncias, isso porque criamos uma política de teste usando algumas ações;
  • Vamos usar outra ação no simulador mas agora verificando se esse usuário pode dar stop nas instâncias:
IAM Policy Simulator
  • Veja que o simulador mostrou que esse usuário pode dar stop.

Isso ajuda muito no troubleshooting em casos de verificação de permissão de usuários aos recursos da AWS. Use MUITO o (IAM Policy Simulator).

Espero que vocês tenham gostado da demonstração, e fico à disposição para eventuais dúvidas, sugestões. Gostaria de agradecer também ao professor Douglas Bussoli pelo excelente curso de AWS. #VAIIII

Senior Linux Administrator at IBM