0Pricing
AWS Solutions Architect · Aula

Funções e políticas do IAM

Escreva documentos de política JSON, associe-os a funções e entenda a diferença entre políticas baseadas em identidade e políticas baseadas em recursos.

Funções e políticas do IAM é uma aula grátis de AWS Solutions Architect no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AWS Solutions Architect, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AWS Solutions Architect inclui 4 aulas no total.

Policies IAM: a linguagem de permissões

Uma policy IAM é um documento JSON que define o que é permitido. Cada declaração tem um Effect (Allow ou Deny), uma Action e um Resource. O código mostra uma delas.

{
  'Version': '2012-10-17',
  'Statement': [
    {
      'Effect': 'Allow',
      'Action': [
        's3:GetObject',
        's3:PutObject'
      ],
      'Resource': 'arn:aws:s3:::my-bucket/*'
    }
  ]
}

Policies baseadas em identidade e em recurso

Uma policy baseada em identidade é anexada a um usuário ou função e define o que eles podem fazer. Uma policy baseada em recurso é anexada ao próprio recurso e define quem pode acessá-lo.

# Example S3 bucket policy (resource-based)
{
  'Version': '2012-10-17',
  'Statement': [{
    'Effect': 'Allow',
    'Principal': {
      'AWS': 'arn:aws:iam::123456789012:role/MyAppRole'
    },
    'Action': 's3:GetObject',
    'Resource': 'arn:aws:s3:::my-bucket/*'
  }]
}

Funções IAM: identidades temporárias

Uma função IAM é uma identidade que você assume por pouco tempo. Ela fornece credenciais temporárias que expiram, ideais para EC2, Lambda e outros serviços.

# Attach an IAM role to an EC2 instance (instance profile)
aws ec2 associate-iam-instance-profile \
  --instance-id i-0abcdef1234567890 \
  --iam-instance-profile Name=MyEC2Role

Policies de confiança: quem pode assumir a função

Toda função possui uma policy de confiança que define quem tem permissão para assumi-la, além de policies de permissões que definem o que ela pode fazer depois de assumida. Sem policy de confiança, não há acesso.

# Trust policy for a Lambda execution role
{
  'Version': '2012-10-17',
  'Statement': [{
    'Effect': 'Allow',
    'Principal': {
      'Service': 'lambda.amazonaws.com'
    },
    'Action': 'sts:AssumeRole'
  }]
}

Funções de serviço AWS: EC2 e Lambda

Quando EC2 precisa chamar a AWS, forneça a ela um perfil de instance que encapsula uma função. As credenciais são alternadas automaticamente, sem chaves codificadas diretamente. Lambda funciona da mesma forma.

# Retrieve role credentials from EC2 metadata (IMDSv2)
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
  -H 'X-aws-ec2-metadata-token-ttl-seconds: 21600')
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
  http://169.254.169.254/latest/meta-data/iam/security-credentials/MyEC2Role

Assunção de função entre contas

Uma função entre contas permite que um usuário de uma conta assuma uma função em outra e acesse seus recursos. É assim que configurações com várias contas evitam usuários duplicados em todos os lugares.

# Assume a cross-account role from Account A
aws sts assume-role \
  --role-arn arn:aws:iam::999999999999:role/CrossAccountRole \
  --role-session-name my-session

Condições de policy: controle detalhado

Uma Condition adiciona regras extras a uma policy, como exigir MFA ou limitar o acesso a um determinado intervalo de IP ou região. Ela torna as permissões muito mais restritas.

# Policy that requires MFA for sensitive actions
{
  'Effect': 'Deny',
  'Action': ['iam:*', 'cloudtrail:*'],
  'Resource': '*',
  'Condition': {
    'BoolIfExists': {
      'aws:MultiFactorAuthPresent': 'false'
    }
  }
}

Limites de permissões

Um limite de permissões define o máximo que uma identidade pode ter, mesmo que uma policy conceda mais. É a proteção para permitir que desenvolvedores criem suas próprias funções.

# Attach a permissions boundary to a user
aws iam put-user-permissions-boundary \
  --user-name alice \
  --permissions-boundary arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

Lógica de avaliação de policies

Quando a AWS verifica uma solicitação, uma regra prevalece sobre todas: um Deny explícito sempre a bloqueia. Depois disso, todas as camadas de policy precisam concordar em permitir o acesso.

Simulador de policy IAM

O IAM Policy Simulator testa se uma identidade pode fazer algo, sem realmente executá-lo. É excelente para depurar permissões antes de entrar em produção.

# Simulate an IAM policy evaluation via CLI
aws iam simulate-principal-policy \
  --policy-source-arn arn:aws:iam::123456789012:user/alice \
  --action-names s3:PutObject \
  --resource-arns arn:aws:s3:::my-bucket/*

Funções para acesso federado

Usuários externos do Okta, Google ou Active Directory podem assumir funções por meio de federação (SAML ou OIDC). Você concede acesso a milhões de pessoas sem nenhum usuário IAM.

Verificação rápida

Teste seu entendimento dos conceitos de AWS Solutions Architect (SAA-C03) desta lição.

Resumo da lição

Resumo rápido: as policies são regras JSON para Allow e Deny, as funções fornecem credenciais temporárias e as condições adicionam controle detalhado. A seguir: privilégio mínimo.

Perguntas Frequentes

A aula “Funções e políticas do IAM” é grátis?

Sim — o texto completo de “Funções e políticas do IAM” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AWS Solutions Architect, atualize para CoddyKit PRO. O curso de AWS Solutions Architect inclui 4 aulas no total.

O que vou aprender em “Funções e políticas do IAM”?

Escreva documentos de política JSON, associe-os a funções e entenda a diferença entre políticas baseadas em identidade e políticas baseadas em recursos. Você pratica AWS Solutions Architect com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AWS Solutions Architect?

Nenhuma experiência prévia é necessária. AWS Solutions Architect no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Funções e políticas do IAM”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AWS Solutions Architect?

Sim. Cada aula de AWS Solutions Architect inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Usuários e grupos do IAM
  2. Funções e políticas do IAM
  3. Princípio do privilégio mínimo
  4. Práticas recomendadas do IAM e MFA
← Voltar para AWS Solutions Architect