Compartilhamento seguro e acesso emergencial
Lição 16 · Módulo 4 — Permissões em escala
Quando compartilhar, não copiar
Organizações modernas operam em múltiplas contas. Recursos (subnets, buckets, datasets) frequentemente precisam ser usados por outras contas ou parceiros. A pergunta não é "copio?" — é "como compartilho com segurança?".
Dentro da Organization — AWS RAM
O AWS Resource Access Manager compartilha recursos entre contas da mesma AWS Organization sem duplicação nem policies manuais. Suporta:
- Subnets VPC — conta A cria a VPC, conta B usa as subnets.
- Transit Gateway attachments.
- License Manager configs.
- Route 53 Resolver rules.
- Vários outros.
Benefício: centralização real da infraestrutura compartilhada. Quem usa o recurso vê-o como se fosse da própria conta.
Com outra conta (dentro ou fora) — AssumeRole
O padrão universal: conta B cria uma role, cuja trust policy permite a conta A assumi-la.
123456789
// Trust policy da role (conta B){ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AAAAAAAAAAAA:root" }, "Action": "sts:AssumeRole" }]}
A identidade na conta A chama sts:AssumeRole e recebe credenciais
temporárias para operar como essa role na conta B.
Com um terceiro — ExternalId
Quando você compartilha acesso com um parceiro SaaS (vendor de monitoring, consultoria, etc.), não confie só na conta. Use external ID para prevenir confused deputy:
12345678
{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::TERCEIRO:role/MonitoringRole" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "unique-per-customer-e9f2a1b4" } }} Compartilhando buckets e dados
Para buckets S3 entre contas:
- Bucket policy na conta dona lista o principal da outra conta.
- Identity policy na outra conta permite
s3:GetObjectno bucket. - Lembre: cross-account é interseção (Lição 11).
Para datasets estruturados, considere AWS Lake Formation (governança de dados) ou DataZone, que trazem controle fino por coluna/linha.
Lifecycle — joiner / mover / leaver
Acesso muda com o tempo:
- Joiner: pessoa nova chega. Deve ter acesso mínimo desde o dia 1, provisionado via IdP e grupos.
- Mover: pessoa muda de time. Acesso antigo deve ser revogado ao receber o novo.
- Leaver: pessoa sai. Tudo revogado imediatamente — user no IdP, access keys, CI/CD credentials, segredos específicos.
Na prática: centralize em IAM Identity Center + IdP corporativo para que mudanças no HR/IdP se propaguem automaticamente. Use Unused Access Analyzer para detectar "leavers" esquecidos.
Acesso emergencial (break-glass)
Quando o provedor de identidade falha (SAML fora do ar, SSO quebrado), você ainda precisa operar. Tenha um processo de break-glass:
- Um pequeno número de IAM Users com MFA de hardware, credenciais em password manager corporativo (ou cofre físico em empresas grandes) com acesso restrito e auditado.
- Uso exige aprovação humana documentada (ticket).
- Toda ação do break-glass gera alerta automático (CloudWatch alarm em CloudTrail).
- Senha e MFA rotacionadas após cada uso.
- Acesso auditado trimestralmente.
Teste rápido
Você configurou uma role para um SaaS de monitoring com trust policy permitindo a conta dele assumir. Qual precaução adicional é essencial?
Resumo
Dentro da org: RAM. Entre contas: AssumeRole. Com terceiros: AssumeRole + ExternalId. Lifecycle: automatize via IdP. Emergência: break-glass com auditoria.
Você completou o nível Avançado. Se quiser ir além, o Módulo 5 — Especialista traz casos reais de produção: KMS cross-account, serviços agindo por você, perímetro de dados e armadilhas de condições.
Referência Well-Architected
Esta lição está alinhada com várias boas práticas do Well-Architected Framework: Establish emergency access process, Manage access based on lifecycle, Share resources securely within your organization e Share resources securely with a third party.
Referências
Terminou esta lição?
Seu progresso fica salvo apenas neste navegador.