kb.erickguedes.com
AWS: Cloud Computing na Prática

IAM — Identidade e Acesso

Aula 1 de 8

Conceitos Fundamentais

IAM (Identity and Access Management) é o serviço central de segurança da AWS. Toda interação com a AWS passa pelo IAM.

Principal (User/Role) → Policy → Permissions → AWS Service

Componentes

ComponenteDescrição
UserPessoa física ou conta de serviço
GroupColeção de usuários com permissões compartilhadas
RoleIdentidade assumível (sem credenciais permanentes)
PolicyDocumento JSON que define permissões
ARNAmazon Resource Name — identificador único universal

Políticas IAM

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::meu-bucket",
                "arn:aws:s3:::meu-bucket/*"
            ]
        }
    ]
}

Tipos de Política

  • AWS Managed: criadas e mantidas pela AWS (ex: AmazonS3ReadOnlyAccess)
  • Customer Managed: criadas por você, reutilizáveis
  • Inline: anexadas diretamente a um user/role (1:1)

IAM Roles — Boas Práticas

# NEVER use root access keys. Always use roles.
aws sts assume-role \
  --role-arn "arn:aws:iam::123456789012:role/MinhaRole" \
  --role-session-name "Session1"

EC2 com Instance Profile

# CLI associar role a EC2 (sem restart)
aws ec2 associate-iam-instance-profile \
  --instance-id i-123456 \
  --iam-instance-profile Name=MinhaRoleEC2

# Dentro da EC2 (sem credenciais!)
aws s3 ls   # usa automaticamente as credenciais da role

Lab: Criação de Usuário com MFA

# 1. Criar usuário (CLI)
aws iam create-user --user-name dev-alice

# 2. Criar policy
aws iam create-policy \
  --policy-name DevPolicy \
  --policy-document file://dev-policy.json

# 3. Anexar
aws iam attach-user-policy \
  --user-name dev-alice \
  --policy-arn arn:aws:iam::123456789012:policy/DevPolicy

# 4. Criar senha (console access)
aws iam create-login-profile \
  --user-name dev-alice \
  --password SenhaTemp123! \
  --password-reset-required

# 5. Forçar MFA (no console)
# IAM > Users > dev-alice > Security Credentials > Assign MFA device

Least Privilege na Prática

# Simular política antes de anexar
aws iam simulate-principal-policy \
  --policy-source-arn arn:aws:iam::123456789012:user/dev-alice \
  --action-names s3:DeleteBucket

# Visualizar acesso (IAM Access Analyzer)
aws accessanalyzer create-analyzer \
  --analyzer-name "meu-analyzer" \
  --type ACCOUNT

IAM é a base da segurança AWS. Toda breach começa com IAM mal configurado. Use roles, não access keys. Habilite MFA. Implemente least privilege.