The Ops Community ⚙️

Cover image for Iniciando com IAM da AWS
Romário Melo
Romário Melo

Posted on • Updated on

Iniciando com IAM da AWS

AWS IAM ou AWS Indentity Access Management, é o recurso que permitir gerenciar o acesso a sua conta na AWS, com o IAM você pode definir quem tem autorização de acessar por meio de autenticação de usuário e pode definir em quais recursos esses usuários têm autorização de visualizar, alterar ou criar novos recursos computacionais. Cada usuário pode ser uma pessoa ou um sistema que interage com os serviços da AWS, vemos ver mais sobre isso a seguir.

O IAM é um recurso global e pode ser usado em qualquer região no Console de Gerenciamento da AWS, além disso, pode ser usado sem custo adicional, porém qualquer atividade, como exemplo a criação de uma instância EC2 feita por esse usuário será cobrado do titular. Por isso é muito importante configurar as permissões corretamente dos usuários. E o IAM é integrado a praticamente todos os produtos da AWS por padrão. É possível criar métodos seguros para o login dos usuários com implementação de MFA (Multi-factor authentication), que é um método de autenticação que garante mais uma camada de segurança além do usuário e senha e é altamente recomendável que seja feito. E também é possível estabelecer requisitos para criação de senhas dos usuário, como complexidade e período de rotação obrigatória das senhas.

É possível adicionar quantos usuários forem necessários. Ao criar um usuário você pode conceder a ele acesso ao console de gerenciamento da AWS, ou ainda acesso programático, ou seja: esse usuário poderá acessar a API da AWS via linha de comando com o AWS CLI.

Como criar um usuário com AWS IAM

Para criar um usuário você deve acessar a seção IAM no seu console de gerenciamento da AWS, clicar em usuários e em seguida em Adicionar usuários.

Para permitir o acesso ao console de gerenciamento é necessário criar a senha no momento da criação do usuário, seja ela gerada automaticamente ou atribuir uma senha personalizada:

Image description

Na próxima etapa você deve atribuir as permissões a esse usuário, isso pode ser feito colocando o usuário em determinado grupo e definindo as permissões ao grupo, dessa forma as permissões podem ser reaproveitadas para usuários com permissões semelhantes, pode ser usado, por exemplo, para o setor de uma empresa e caso as permissões mudem será necessário alterar apenas no grupo e não a todos os usuários desse setor.

Podemos copiar as permissões de outro usuário já existente ou ainda definir as permissões diretamente ao usuário.

Image description

Em seguida podemos revisar os dados para criação do novo usuário e criá-lo. E caso você opte por gerar a senha automaticamente, você pode visualizar a senha criada na próxima etapa ou baixar um arquivo CSV com os dados de acesso.

Sobre os grupos é importante dizer que além de um grupo poder ter vários usuários, cada usuário pode pertencer a diferentes grupos.

Políticas do IAM

As permissões dos usuário e grupos são definidas usando as políticas do IAM, que são formas de gerenciar o acesso e fornecer permissões aos produtos e recursos da AWS, Você pode criar uma política e atribuí-las a um usuário ou grupo.

As políticas do IAM manipuladas como documentos JSON com vários elementos de política.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}
Enter fullscreen mode Exit fullscreen mode

Essa política tem quatro elementos JSON principais: VersionEffectAction e Resource.

O elemento Version define a versão da linguagem da política que diz quais regras de sintaxe devem ser seguidas para a AWS processar essa política de segurança.

O elemento Effect diz se a declaração desse permitir ou negar o acesso a um recurso específico.

O elemento Action descreve o tipo de ação que está sendo permitida ou negada. Nesse exemplo estamos usando o caractere curinga “*” que representa todas as ações na conta.

O elemento Resource especifica os objeto ou objetos que essa política abrange, novamente o caractere curinga “*” representa todos os recursos da AWS.

Em resumo, a política do exemplo acima permite ao grupo ou usuário que anexá-la usar todos os recursos da AWS, o que é chamada de política de administrador. Nem preciso dizer que é necessário muito cuidado para escolher o usuário que vai utilizá-la.

No próximo exemplo trago uma política mais granular:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:StopInstances",
        "ec2:StartInstances"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/i-0e30c1c68ec30a8e"
      ]
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Nesse exemplo podemos ver que uma determinada ação será permitida através do elemento Effect, as ações: parar e iniciar instância através do elemento Action e um recurso (instância) específica. Resumindo a quem for atribuída essa política poderá interromper ou iniciar uma determinada instância EC2.

Diversas outras formas de granularidade é possível ser criada com as políticas do IAM da AWS, podemos ir ao detalhe de quem pode e o que cada pessoa ou sistema pode fazer em uma conta da AWS. Esse é um recurso muito útil para gerenciamento, principalmente quando os usuários que precisam acessar a AWS aumenta e precisamos manter um alto grau de segurança.

Top comments (0)