A medida que uma empresa cresce, tambem cresce o numero de contas AWS. A equipe de desenvolvimento tem uma conta, a equipe de operacoes tem outra, a equipe de seguranca tem outra. Como voce gerencia tudo isso sistematicamente e compartilha recursos com seguranca? Este guia explica os conceitos-chave de ambientes multi-conta para iniciantes.
AWS Organizations — Unificando Multiplas Contas
O AWS Organizations e como o organograma de uma empresa. Imagine uma grande corporacao. Abaixo da sede voce tem o departamento de marketing, o departamento de engenharia e o departamento de financas. Abaixo de cada departamento ha equipes individuais. O AWS Organizations tem a mesma estrutura.
A Conta de Gerenciamento e a sede da sua organizacao. Ela cria e gerencia todas as contas membro, e o faturamento e consolidado aqui. Ha apenas uma conta de gerenciamento por organizacao, e os SCPs nao se aplicam a ela.
As Unidades Organizacionais (OUs) sao os departamentos. Voce agrupa contas logicamente em OUs como uma OU de desenvolvimento, OU de producao e OU de seguranca. OUs podem conter outras OUs, criando uma hierarquia.
As Contas Membro sao as equipes individuais. Sao as contas onde recursos AWS reais sao criados e usados.
O Faturamento Consolidado e uma das maiores vantagens do Organizations. Os custos de todas as contas membro aparecem em uma unica fatura na conta de gerenciamento. Mais importante sao os descontos por volume: o uso de todas as contas e combinado para atingir niveis mais altos de desconto. Instancias Reservadas tambem podem ser compartilhadas entre contas da organizacao, amplificando a economia.
Dica de exame: "Consolidar faturamento em multiplas contas e se beneficiar de descontos por volume" — a resposta e Faturamento Consolidado do Organizations.
SCPs — Aplicando Regras em Toda a Organizacao
SCP significa Service Control Policy (Politica de Controle de Servico). Pense como o sistema de controle de acesso em um edificio. "Todos neste andar nao podem entrar naquela zona restrita", esse tipo de regra, aplicada ao nivel de servico AWS.
O mais importante sobre os SCPs e o que eles nao fazem. SCPs nao concedem permissoes. Eles apenas restringem permissoes que o IAM ja permitiu. Mesmo que o usuario IAM de uma conta de desenvolvimento tenha acesso de administrador completo, um SCP bloqueando um servico especifico significa que esse servico fica completamente indisponivel, independentemente do IAM.
SCPs nao se aplicam a conta de gerenciamento. Aplicar um SCP a uma OU herda automaticamente para todas as contas membro e OUs filhas dentro dela.
Ha duas estrategias de SCP. A estrategia de lista de permissao diz "apenas servicos explicitamente listados sao utilizaveis", para ambientes que requerem controle de seguranca rigoroso. A estrategia de lista de negacao diz "apenas servicos ou regioes especificamente bloqueados estao proibidos", que permite flexibilidade enquanto restringe coisas especificas.
Exemplos praticos: se a politica da empresa exige usar apenas as regioes us-east-1 e us-west-2, crie um SCP que nega todas as acoes em qualquer outra regiao. Se voce quer bloquear servicos de mineracao de criptomoedas em toda a organizacao, crie um SCP que nega todas as acoes para esse servico.
Dica de exame: "Restringir regioes ou servicos especificos em toda a organizacao" — a resposta e SCP.
AWS RAM — Compartilhando Recursos com Seguranca
Imagine que multiplas contas precisam usar a mesma infraestrutura de rede. Criar uma VPC separada para cada conta aumenta a complexidade e o custo. O AWS RAM (Resource Access Manager) permite compartilhar recursos com seguranca entre contas.
Pense em uma sala de conferencias compartilhada. A sala pertence a empresa, mas multiplas equipes podem reserva-la e usa-la. O AWS RAM funciona de forma semelhante. A conta que possui um recurso o compartilha com outras contas atraves do RAM. Essas contas podem entao usar o recurso compartilhado.
O recurso compartilhado mais frequentemente testado sao as sub-redes VPC. Uma conta de rede dedicada possui a VPC e as sub-redes, e as compartilha via RAM com contas de desenvolvimento, producao e analitica. Cada uma dessas contas pode entao iniciar instancias EC2, bancos de dados RDS e outros recursos nas sub-redes compartilhadas.
Ha uma limitacao importante. As contas que recebem sub-redes compartilhadas podem implantar recursos nelas, mas nao podem modificar a propria VPC ou alterar as configuracoes das sub-redes. A autoridade de gerenciamento de rede fica exclusivamente com a conta proprietaria.
Outros recursos comumente compartilhados com RAM incluem: Transit Gateway, regras do Route 53 Resolver, clusters do Aurora DB, configuracoes do AWS License Manager e projetos do AWS CodeBuild.
Dica de exame: "Multiplas contas precisam implantar recursos na mesma sub-rede" — a resposta e compartilhamento de sub-redes com AWS RAM.
Cross-Account IAM Role — Acessando Recursos de Outra Conta com Seguranca
Uma aplicacao na conta de desenvolvimento precisa ler arquivos do bucket S3 da conta de producao. Como voce configura isso? Criar um usuario IAM na conta de producao e compartilhar essas credenciais com a equipe de desenvolvimento e extremamente arriscado. Os Cross-Account IAM Roles sao a solucao correta.
Pense em um cartao-chave de hotel. Quando um hospede de outro andar precisa de acesso temporario ao seu quarto, a recepcao emite um cartao temporario em vez de copiar o seu. Esse cartao temporario expira apos um tempo definido.
O Cross-Account IAM Role funciona da mesma forma. O processo tem tres etapas. Primeiro, na conta de producao (B), crie um role IAM e especifique a conta de desenvolvimento (A) na Trust Policy. Segundo, a aplicacao da conta de desenvolvimento (A) chama a API AssumeRole do AWS STS e credenciais temporarias sao emitidas. Terceiro, a aplicacao usa essas credenciais temporarias para acessar o bucket S3 da conta de producao (B). Credenciais temporarias normalmente expiram entre uma e doze horas.
O External ID e uma medida de seguranca adicional usada ao delegar um role a um terceiro. Imagine que voce contrata uma empresa de auditoria de seguranca externa. Voce le da um role para analisar sua conta. Mas essa mesma empresa de auditoria atende muitos clientes. Se um ator malicioso engana a empresa de auditoria para assumir seu role pensando que estao acessando uma conta diferente, isso e chamado de "Confused Deputy Problem". Adicionar uma condicao External ID a Trust Policy significa que o role so pode ser assumido quando o External ID correto e fornecido, prevenindo essa confusao.
Dica de exame: "Delegar um role a um terceiro enquanto previne acesso acidental a conta errada" — a resposta e External ID.
AWS Control Tower — Configuracao Automatizada Multi-Conta
Uma nova empresa adota a AWS e quer configurar um ambiente multi-conta adequado desde o inicio. Seguir manualmente as melhores praticas da AWS para estrutura de contas, configuracoes de seguranca e logs leva muito tempo e e propenso a erros. O Control Tower automatiza tudo isso.
O Control Tower e construido em torno de tres conceitos principais.
A Landing Zone configura automaticamente um ambiente multi-conta seguindo as melhores praticas da AWS. Ela cria automaticamente a estrutura de contas recomendada incluindo uma conta de arquivo de logs, uma conta de auditoria e uma conta sandbox.
Os Guardrails sao regras de governanca automatizadas aplicadas em toda a organizacao. Guardrails preventivos sao baseados em SCPs e bloqueiam completamente certas acoes. Guardrails de deteccao sao baseados em regras do AWS Config e detectam violacoes de politica, enviando notificacoes quando ocorrem.
O Account Factory automatiza a criacao de novas contas com configuracoes padronizadas. Quando uma nova equipe se junta, o Account Factory pode gerar uma conta totalmente configurada, com todas as politicas da empresa aplicadas, em apenas alguns cliques.
Dica de exame: "Configurar rapidamente um novo ambiente multi-conta seguindo as melhores praticas da AWS" — a resposta e Control Tower.
Estrategia Multi-Conta
Quais criterios devem guiar a separacao de contas?
| Base de Separacao | Proposito | Exemplos | |------------------|-----------|---------| | Ambiente | Isolar completamente dev de prod | OU dev, OU staging, OU prod | | Departamento | Rastreamento de custos e separacao de permissoes | OU marketing, OU engenharia | | Conformidade | Atender requisitos regulatorios | Conta HIPAA, conta PCI | | Funcao | Contas de proposito especializado | Conta de arquivo de logs, Conta de seguranca |
Mais contas significa mais complexidade, mas uma boa separacao limita o raio de explosao de um incidente de seguranca a uma unica conta.
!4 ferramentas de compartilhamento entre contas
Trusted Access — Permitindo que Servicos Operem em Toda a Organizacao
Para que servicos AWS como CloudFormation StackSets, AWS Config e CloudTrail operem em todas as contas de uma organizacao, voce deve habilitar o Trusted Access. Isso permite que esses servicos usem a API do Organizations para acessar automaticamente contas membro.
Por exemplo, para aplicar o CloudTrail em toda a organizacao, habilite o Trusted Access para o CloudTrail. Entao, a partir da conta de gerenciamento voce pode configurar a coleta centralizada de logs de todas as contas membro.
Pontos-chave para o exame
"Consolidar faturamento e aplicar descontos por volume em multiplas contas" -- Faturamento Consolidado do Organizations
"Permitir apenas regioes especificas ou bloquear servicos especificos em toda a organizacao" -- SCP
"Multiplas contas compartilham a mesma sub-rede VPC" -- compartilhamento de sub-redes com AWS RAM
"Acessar recursos de outra conta sem compartilhar credenciais" -- Cross-Account IAM Role com AssumeRole
"Prevenir confused deputy ao delegar para um terceiro" -- External ID
"Configurar automaticamente um novo ambiente multi-conta com melhores praticas" -- Control