Ir para o conteúdo

IAM: O Guia Definitivo do Porteiro da Nuvem AWS

Imagine que sua conta na AWS é um prédio corporativo de altíssima segurança. O IAM é o seu "Departamento de Segurança e Emissão de Crachás". É o serviço central e gratuito que você usa para responder às perguntas mais importantes:

  • Autenticação: Quem pode entrar no prédio?
  • Autorização: O que cada pessoa tem permissão para fazer depois que entra?

Dominar o IAM é sobre aplicar o Princípio do Menor Privilégio: dar a cada identidade apenas as chaves estritamente necessárias para realizar seu trabalho, e nada mais.


Os 4 Pilares da Identidade na AWS

O IAM é construído sobre quatro componentes fundamentais.

1. Usuários (Os Funcionários)

  • O que são? Uma entidade que representa uma pessoa ou uma aplicação. Cada usuário tem suas próprias credenciais de segurança (senha e/ou chaves de acesso).
  • Analogia: Um "funcionário" individual, como "João, o Desenvolvedor".

2. Grupos (Os Departamentos)

  • O que são? Uma coleção de usuários. Um usuário pode pertencer a múltiplos grupos.
  • Analogia: Um "departamento" da empresa, como "Desenvolvedores", "Analistas de Segurança" ou "Financeiro".
  • A Dor que Resolve: Gerenciar permissões em escala. Em vez de dar permissões para 10 desenvolvedores um por um, você coloca todos no grupo "Desenvolvedores" e aplica a permissão ao grupo uma única vez.

3. Políticas (O Livro de Regras)

  • O que são? Um documento (escrito em JSON) que define explicitamente as permissões. Uma política é a alma da autorização.
  • Analogia: O "conjunto de regras" anexado a um crachá. "Este crachá permite: Acessar o 5º andar, Usar a impressora colorida. Este crachá proíbe: Entrar na sala da diretoria."

4. Funções (Roles - O Crachá de Visitante)

  • O que são? Uma identidade com permissões que pode ser assumida temporariamente por quem precisa dela.
  • Analogia: Um "crachá de visitante" ou um "uniforme de especialista". O "João, o Desenvolvedor" (um Usuário) não tem acesso à sala de máquinas. Mas quando ele precisa fazer uma manutenção, ele vai até a segurança, se autentica, e "pega emprestado" o crachá de "Técnico de Manutenção" (assume uma Role) por uma hora.
  • A Dor que Resolve: Dar permissões a recursos da AWS. Como uma instância EC2 pode acessar um bucket S3 de forma segura? Você não salva senhas nela! Você anexa uma Role à instância, dando a ela as permissões necessárias.

INSIGHT PODEROSO (A Melhor Prática): NUNCA anexe políticas diretamente a usuários. O fluxo de trabalho profissional é: 1. Crie Usuários. 2. Crie Grupos e adicione os usuários a eles. 3. Crie Políticas com as permissões. 4. Anexe as Políticas aos Grupos (ou a Roles).


O Dono do Prédio (Usuário Raiz) vs. Funcionários (Usuários IAM)

Esta é a lição de segurança mais importante da AWS.

  • Usuário Raiz (Root):

    • Analogia: O "Dono do Prédio". Criado junto com a sua conta AWS, ele tem a chave mestra universal. Ele pode fazer TUDO, inclusive apagar a conta inteira.
    • Regra de Ouro: NÃO USE O USUÁRIO ROOT PARA TAREFAS DO DIA A DIA. Guarde suas credenciais em um cofre e use-as apenas para tarefas que só ele pode fazer (como alterar seu plano de suporte).
  • Usuário IAM:

    • Analogia: O "Funcionário", mesmo que seja o CEO.
    • Regra de Ouro: Para o trabalho diário, mesmo o administrativo, crie um usuário IAM, coloque-o em um grupo de "Administradores" e use esse usuário.
    • Por quê? O acesso de um usuário IAM pode ser granularmente controlado e revogado. O acesso do Root não.

HACK PARA CERTIFICAÇÃO: A primeira coisa que você deve fazer em qualquer conta AWS nova é: 1. Ativar o MFA no usuário Root. 2. Criar seu primeiro usuário IAM administrativo. 3. Fazer logout do Root e fazer login com seu novo usuário IAM. Esta sequência é uma resposta frequente em questões de melhores práticas.


Os Tipos de Chave (Credenciais de Segurança)

Tipo de Credencial Para que Serve? Analogia
Nome de Usuário e Senha Acesso ao Console de Gerenciamento da AWS (o site). A senha do seu crachá para entrar no portal da empresa.
Chaves de Acesso Acesso Programático (via AWS CLI, SDKs como Boto3, Terraform). As chaves da API para seus robôs e automações.
Autenticação Multi-Fator (MFA) Uma camada extra de segurança para ambos os tipos de acesso. O código do seu celular que o porteiro pede além da senha.
Pares de Chaves (EC2) Acesso SSH a instâncias EC2 Linux ou para obter a senha de instâncias Windows. A chave específica da porta da sua "mesa de trabalho" (sua instância).

As Chaves do Reino: Guia Definitivo de Acesso, Políticas e MFA no IAM

Já conhecemos os pilares do IAM: Usuários, Grupos, Roles e Políticas. Agora, vamos mergulhar na operação do dia a dia: como usamos as credenciais, como as permissões são de fato avaliadas pelo sistema e como adicionamos uma camada de segurança praticamente inquebrável.


1. As Duas Portas do Reino (Métodos de Acesso)

Um usuário ou aplicação pode "entrar" no seu prédio AWS de duas formas, cada uma com seu próprio tipo de "chave".

Método Analogia Credenciais Usadas Quem Usa?
Acesso via Console A "Recepção Principal". Nome de Usuário e Senha (+ MFA) Humanos: Administradores, desenvolvedores e outros usuários que interagem com a AWS através da interface web.
Acesso Programático A "Doca de Carga Automatizada para Robôs". ID da Chave de Acesso e Chave de Acesso Secreta Máquinas e Automações: Scripts, a AWS CLI, SDKs (como o Boto3), e aplicações que precisam interagir com a AWS sem intervenção humana.

INSIGHT PODEROSO: A Chave de Acesso Secreta é como a senha do seu usuário root: ela só é exibida UMA VEZ, quando você a cria. Se você a perder, não há como recuperá-la; você precisa gerar uma nova. Guarde-a com a máxima segurança!


2. O Regulamento do Reino (A Lógica da Autorização)

Depois que um usuário é autenticado, o IAM usa as políticas para autorizá-lo (ou não). A lógica de avaliação do IAM é simples, mas extremamente poderosa.

A Regra Mais Importante: Negação Implícita

  • O que é? Por padrão, TUDO é negado. Se não existe uma política Allow (Permitir) para uma ação, o usuário não pode executá-la.
  • Analogia: A regra fundamental do prédio é: "Ninguém pode entrar em nenhuma sala, a menos que seu crachá diga explicitamente que pode."

A Regra Inquebrável: Negação Explícita Sempre Vence

  • O que é? Uma política com Effect: "Deny" SEMPRE se sobrepõe a qualquer política Allow.
  • Analogia: Mesmo que seu crachá de "Gerente de TI" te dê permissão para entrar em todas as salas de servidores (Allow), se houver uma regra específica de "NEGAR a entrada de TODOS na sala do servidor principal na sexta-feira à noite" (Deny), você NÃO VAI ENTRAR. A negação é a palavra final, sem exceções.

HACK PARA CERTIFICAÇÃO: Esta lógica é um tópico garantido na prova. Eles te darão um cenário com duas políticas conflitantes e perguntarão qual prevalece. A resposta é sempre: um Deny explícito vence qualquer Allow. Além disso, lembre-se: O IAM é um serviço Global. Um usuário jdoe é o mesmo em todas as Regiões da AWS; você não cria usuários por Região.


3. A Super Fechadura (Autenticação Multi-Fator - MFA)

A MFA é a sua camada de defesa mais forte contra o roubo de credenciais.

  • A Dor que Resolve: O que acontece se um hacker roubar a senha de um funcionário?
  • A Solução: Com a MFA ativada, a senha sozinha é inútil. O hacker também precisaria roubar o dispositivo físico do funcionário (o segundo fator).
  • Como Funciona: A MFA exige duas ou mais provas de identidade de categorias diferentes: algo que você sabe (senha) + algo que você tem (seu celular).
  • Seus Dispositivos MFA na AWS:
    • Aplicativos Virtuais (O Mais Comum): Use apps como Google Authenticator ou Authy no seu smartphone para gerar códigos de 6 dígitos que mudam a cada 30 segundos.
    • Tokens de Hardware (Mais Seguros): Use uma chave de segurança física (como uma YubiKey) que você conecta ao seu computador.

INSIGHT DE ESPECIALISTA (STS - Security Token Service): Quando você assume uma Role do IAM ou faz login com identidade federada, um serviço chamado AWS STS entra em ação. Ele é o responsável por emitir as credenciais de segurança temporárias (o "crachá de visitante com validade") que são a base da segurança de acesso temporário na AWS.

Com este guia, você tem o mapa completo do IAM, desde a criação de identidades até a lógica final de autorização e as melhores práticas de segurança.


IAM Nível Mestre: Guia Definitivo de Roles, Políticas e Lógica de Permissões

Já conhecemos os pilares do IAM (Usuários, Grupos, Roles, Políticas). Agora, vamos nos aprofundar nas duas ferramentas que te dão o máximo de poder e flexibilidade: as Roles e a lógica de avaliação das Políticas. Dominar isso é o que te permite construir arquiteturas verdadeiramente seguras e escaláveis.


1. O Crachá de Especialista (O Poder das IAM Roles)

Enquanto um Usuário IAM representa uma identidade permanente, uma Role (Função) é uma identidade temporária com um conjunto específico de permissões.

  • Analogia: Pense em uma Role como um "uniforme de especialista" ou um "crachá de acesso temporário" no nosso prédio corporativo.
  • A Dor que Resolve: "Como eu dou permissões para um serviço da AWS (como uma instância EC2) ou para um usuário de outra conta, sem precisar criar e compartilhar chaves de acesso de longo prazo (que são um risco de segurança)?"
  • Como Funciona: Uma entidade (um usuário, uma aplicação, um serviço) "assume a Role" (veste o uniforme) por um tempo limitado. Enquanto está com o uniforme, ela ganha todas as permissões associadas a ele. Depois que a tarefa termina, ela "tira o uniforme" e volta a ser quem era.

As Duas Partes de uma Role

Toda Role tem duas políticas anexadas: 1. Política de Confiança (Trust Policy): * Pergunta que responde: QUEM PODE vestir este uniforme? * Na Prática: Define o "Principal" (a entidade confiável), como o serviço ec2.amazonaws.com, uma conta AWS específica, ou um provedor de identidade federado. 2. Política de Permissão (Permissions Policy): * Pergunta que responde: O QUE o uniforme permite fazer? * Na Prática: É uma política IAM padrão (com Effect, Action, Resource) que define as permissões que a entidade terá depois de assumir a role.

Cenário Clássico na AWS: Dar permissão para uma instância EC2 ler arquivos de um bucket S3. 1. Você cria uma Role para o EC2. 2. Na Política de Confiança, você especifica que o principal ec2.amazonaws.com pode assumir esta role. 3. Na Política de Permissão, você anexa uma política que permite a ação s3:GetObject. 4. Você anexa esta Role à sua instância EC2. A instância agora pode acessar o S3 de forma segura, sem nenhuma chave de acesso salva nela.


2. O Julgamento Final (A Lógica de Avaliação de Políticas)

O que acontece quando um usuário tem múltiplas políticas, algumas permitindo e outras negando a mesma ação? O IAM tem uma lógica de avaliação simples e rigorosa.

Analogia: Pense nisso como o "Código de Leis Supremas do Prédio".

O Fluxo de Decisão

Fluxo de Decisão do IAM

  1. Passo 1: Existe um Deny Explícito?

    • O IAM primeiro procura por qualquer política que contenha um Effect: "Deny" para a ação que você está tentando fazer.
    • Se encontrar UMA ÚNICA regra de Deny, a decisão para. O acesso é NEGADO. Fim da história.
  2. Passo 2: Se não, existe um Allow Explícito?

    • Se não houver nenhum Deny, o IAM procura por uma política que contenha um Effect: "Allow" para aquela ação.
    • Se encontrar, o acesso é PERMITIDO.
  3. Passo 3: Se não, Negação Implícita.

    • Se não houver nenhum Deny explícito e nenhum Allow explícito, a regra padrão da AWS entra em ação.
    • O acesso é NEGADO.

HACK PARA CERTIFICAÇÃO: Esta lógica de Deny Explícito > Allow Explícito > Deny Implícito é, sem dúvida, o conceito de política mais importante para a certificação. Eles vão te dar cenários com múltiplas políticas e você terá que determinar o resultado final. Lembre-se sempre: um único Deny anula cem Allows.


3. Tipos de Políticas

  • Políticas Baseadas em Identidade (Identity-based):

    • Analogia: Uma "lista de permissões impressa no crachá" de um usuário, grupo ou role. A permissão anda com a pessoa.
    • Tipos:
      • Gerenciadas pela AWS: Modelos de políticas criados e mantidos pela AWS (ex: AdministratorAccess, AmazonS3ReadOnlyAccess).
      • Gerenciadas pelo Cliente: Políticas que você cria para reutilizar em múltiplas identidades.
      • Em Linha (Inline): Uma política exclusiva, "colada" diretamente a uma única identidade. (Use com moderação).
  • Políticas Baseadas em Recurso (Resource-based):

    • Analogia: As "regras escritas na porta de uma sala". A permissão está no recurso.
    • Onde são usadas? Em serviços como S3 (Bucket Policies), SQS, etc.
    • A Dor que Resolve: Dar acesso a um recurso para uma entidade de outra conta AWS (cross-account access), algo que uma política de identidade sozinha não pode fazer.