O que são usuários do AWS IAM e como você os gerencia?

Talvez o pior erro de segurança que você possa cometer seja deixar chaves de acesso secreto altamente confidenciais em um servidor voltado para a web. Portanto, quando chega a hora de instalar e autenticar a CLI da AWS em uma instância remota do EC2, como você a configura?
Você deve estar usando usuários do IAM
Definitivamente, a resposta é não usar as chaves de acesso raiz - esses são os tokens mais importantes da sua conta e podem ignorar qualquer dispositivo de autenticação multifator que você configurou. (Você pode realmente configurar o acesso à API protegido por MFA, mas não para a conta raiz.)
A AWS fornece um serviço para corrigir isso. O “ Gerenciamento de Identidade e Acesso ” O console (IAM) permite criar usuários filhos separados da sua conta raiz. Podem ser usuários de serviço com acesso à API ou contas de usuário completas (com acesso ao AWS Management Console) que você pode usar para contas de funcionários.
Cada usuário do IAM conseguiu acessar os recursos da AWS em sua conta. O acesso é controlado com políticas, que fornecem um conjunto de permissões que controlam o que cada usuário pode fazer. Essas políticas detalhadas podem controlar praticamente todas as ações que você pode executar no AWS Management Console.
Você também pode definir manualmente um limite de permissões, que age como uma permissão máxima que um usuário não pode ultrapassar, substituindo qualquer política que possa conceder mais. É um recurso avançado usado para delegar o gerenciamento de permissões aos funcionários do IAM e permite que eles criem funções de serviço adicionais sem escalação de privilégios.
Como configurar usuários do IAM
No Console de gerenciamento do IAM, clique em “ Users ” guia e selecione "Adicionar usuário".

Dê um nome e selecione como deseja que esse usuário acesse a AWS. O acesso programático fornece um ID da chave de acesso e uma chave de acesso secreta, usados para autenticação com a API e a CLI da AWS.
O acesso ao console de gerenciamento permite que o usuário acesse o console da web, que é o que você habilita se estiver concedendo acesso aos funcionários. Se você estiver configurando isso, a AWS assumirá como padrão uma senha gerada automaticamente e obriga o funcionário a alterá-la quando fizer login.
Você pode conceder os dois tipos de acesso, se quiser.

Em seguida, você configura as permissões. A AWS fornece várias políticas pré-fabricadas, que você pode anexar diretamente ao usuário. Você também pode criar um grupo e adicionar o usuário a esse grupo, o que permite gerenciar mais facilmente vários usuários.

Realmente, não recomendamos o uso da maioria dessas políticas pré-fabricadas. Você realmente não quer dar acesso total a “ a qualquer serviço individual, e a outra alternativa é geralmente "Somente leitura", ” o que provavelmente não é acesso suficiente por si só. Algumas das permissões mais ajustadas são boas, mas você realmente deve criar as suas.
Você verá rapidamente por que "Acesso total"> ” é uma má ideia. Digamos que você esteja configurando um servidor que precise acessar o S3 e fazer upload de objetos. Você pode dar a “ Write ” acesso, mas isso também permite que o usuário exclua intervalos inteiros, o que não é o ideal. Uma solução melhor é fornecer o “ PutObject ” permissão, que permite que solicitações PUT sejam feitas.

Essas permissões são bastante intensivas e variam de serviço para serviço, mas você sempre pode clicar no ponto de interrogação ao lado do nome da permissão para obter uma definição rápida. Caso contrário, você pode ler o nosso guia sobre Permissões do IAM para saber mais.
Você pode (e provavelmente deveria) restringir o acesso a determinados recursos pelo nome de recurso da Amazon (ARN), que desativa o acesso em toda a conta. Também há certas condições que você pode anexar a permissões, como data e hora, que a AWS verifica antes de permitir que uma ação aconteça.
Depois de anexar as permissões, você pode criar o usuário (opcionalmente, adicionando tags primeiro). Você é levado para uma tela na qual é possível baixar ou copiar as chaves de acesso e, se estiver adicionando acesso ao console de gerenciamento, será exibido um link de entrada para onde você pode enviar ao funcionário que possui a conta.
Substitua sua conta raiz por um usuário do IAM
A AWS realmente recomenda isso para contas organizacionais. Em vez de usar sua conta root para coisas como sua CLI pessoal, você deve criar um "Administrador"; Usuário do IAM com acesso ao console de gerenciamento e use o token de acesso para autenticar seu terminal pessoal.
Isso não significa que você deva tratar as credenciais desse usuário do IAM como menos seguras que a sua conta raiz. Ainda assim, seria arruinar o seu dia ter sua conta de administrador comprometida. Portanto, continue usando as contas de serviço para aplicativos remotos, e você ainda deve habilitar definitivamente a autenticação multifator para sua conta IAM de administrador. No entanto, o uso de um usuário do IAM em vez da conta raiz é mais seguro, pois existem certas ações em toda a conta que somente a conta raiz real pode executar.
Com essa configuração, a única coisa para a qual você usa sua conta root é o material super seguro que está diretamente vinculado à sua conta root, como manutenção e cobrança da conta. Para todo o resto, as permissões de administrador são suficientes e permitem que você realmente exclua suas chaves de acesso raiz, para que você possa acessar a conta raiz somente entrando manualmente (e passando o MFA).
Via: How to Geek
Nenhum comentário