Todos que trabalharam com a AWS estão bem cientes da existência de contas - contas nas quais, de fato, o trabalho ocorre - alocação de recursos, diferenciação de direitos de acesso e assim por diante. Freqüentemente, é necessário criar várias contas - sejam elas contas separadas para diferentes departamentos da empresa ou contas separadas para projetos ou mesmo para diferentes ambientes de um projeto (desenvolvimento, teste, operação). Para gerenciamento de contas, a AWS fornece AWS Organizations, que permite criar novas contas, alocar recursos, otimizar o pagamento de contas definindo um único método de pagamento para todas as contas, criar grupos de contas e aplicar políticas a eles para gerenciar fluxos de trabalho com eficiência.
No entanto, o AWS Organizations sozinho não é suficiente para gerenciar contas. Existe o desejo não só de criar contas, mas de criá-las de forma que atendam às normas e políticas aceitas na empresa, sejam capazes de rastrear o status das contas criadas, gerenciar políticas sem editar um documento JSON, mas de uma forma mais conveniente caminho. Além disso, conforme o número de contas em uma organização cresce, a compreensão de que os recursos do serviço AWS Organizations estão faltando é rápida o suficiente. E para aqueles que embarcaram neste caminho, existem duas opções - usar uma ferramenta da AWS - Torre de controle ou desenvolver seus próprios scripts de controle. O restante do artigo explica por que escolhemos a segunda opção.
O que é AWS Control Tower?
Comece definindo a AWS Landing Zone, uma solução que ajuda os usuários a configurar rapidamente um ambiente AWS de várias contas seguro com base nas melhores práticas. Isso é o que está no cerne da Torre de controle da AWS. Como se depreende das informações oficiais, esta solução continua a existir, mas sem melhorias futuras e novos usuários são fortemente encorajados a usar a AWS Control Tower para gerenciar um ambiente AWS com várias contas.
O que é AWS Control Tower? É um serviço gerenciado da AWS que automatiza a criação e o gerenciamento de um ambiente de várias contas da AWS. Ele configura automaticamente Organizações da AWS como o serviço principal da AWS para controle de conta e implementa medidas preventivas e restrições usando Políticas de controle de serviço (SCPs). O AWS Control Tower pode ser usado para uma variedade de cenários: para criar um novo ambiente AWS ou projeto na nuvem, ou para trabalhar em um ambiente AWS existente com várias contas.
As principais características do serviço incluem
- Landing Zone. AWS Organization , SSO ;
- . , ;
- Account Factory. , – VPC, . .;
- . . – , , .
?
Para começar, você precisa ter uma conta da AWS e um usuário com direitos de administrador. Essa conta será então usada como uma conta mestre ao criar uma organização AWS. Também deve ser mencionado que a AWS Control Tower não é suportada em todas as regiões, por exemplo, a região da Califórnia não é suportada nos EUA, Milão e Paris na Europa, e na Ásia, das sete regiões disponíveis, apenas duas são suportadas - Cingapura e Sydney (informações no momento da redação deste artigo) ...
O serviço é baseado em um conjunto de modelos AWS CloudFormation, com a ajuda dos quais uma zona de aterrissagem é criada com os seguintes recursos:
- três grupos de contas (unidade organizacional) - Root, Core e Custom;
- duas contas na unidade de organização central - uma conta de arquivo de log para armazenar todos os logs da organização e uma conta de auditoria para auditoria;
- AWS SSO - ;
- 20 6 . , -. AWS CloudTrail, .
As restrições mencionadas são políticas de controle de serviço prontas para uso e regras de configuração da AWS que ajudam a gerenciar a segurança, o fluxo de trabalho e a conformidade. As restrições preventivas proíbem ações que violam as políticas de segurança. Um exemplo de tais restrições pode ser a impossibilidade de deletar arquivos de log ou interromper o processo de log de usuários de contas que fazem parte da organização. Restrições de detetive verificam a conformidade da conta com as regras de segurança e, em caso de não conformidade, enviam notificações para a conta de auditoria. Um exemplo seria a falta de criptografia de disco ou a presença de discos não usados em uma conta.
Também integração com alguns serviços da AWS para facilitar o processo de criação e gerenciamento de contas na organização. Por exemplo, a integração com o AWS Firewall Manager permite que você crie políticas adicionais que operam no nível da organização, enquanto a integração com o AWS Service Catalog facilita a criação de contas com propriedades predefinidas e um conjunto de recursos.
Benefícios de usar
Rápido, simples e seguro. Você pode criar rapidamente uma organização completa com alguns cliques no console de gerenciamento. Como resultado, obtemos uma organização que atende aos padrões de segurança recomendados e um sistema de notificação sobre o estado da organização. Todas as ações para criar e configurar recursos da organização são ocultadas do usuário e, de fato, existem algumas delas. O procedimento de gerenciamento de uma organização também é bastante simplificado, você não precisa pensar sobre qual política prescrever para qual serviço para que funcione conforme o planejado. Além disso, um conjunto de restrições existentes torna a vida muito mais fácil, reduzindo a configuração de uma organização à escolha de restrições em uma lista, o que é muito mais rápido do que o próprio desenvolvimento.
Por que não estamos usando a AWS Control Tower?
Um dos principais motivos pelos quais o AWS Control Tower não foi usado por nós é a falta de integração do serviço com o Terraform, que foi adotado como um padrão de fato para trabalhar com provedores de nuvem. Talvez no futuro essa integração apareça e seja possível reconsiderar a decisão. E não se trata nem mesmo de criar a própria organização usando o Terraform, você pode primeiro criar uma organização no console e, em seguida, preenchê-la com recursos por meio do Terraform. Mas eu queria gerenciar os recursos criados no futuro - alterar políticas, ter acesso aos recursos criados, como VPC, grupos de segurança, tópicos de SNS para sua personalização e expansão.
O segundo motivo foi a presença de uma organização já existente com um conjunto de contas e alguma lógica de trabalho específica. Direi imediatamente que a AWS Control Tower permite que você transfira a organização atual sob seu controle. No entanto, surgiram alguns pontos que não estavam exatamente parando, mas causando alguma preocupação. Nomeadamente:
- SCP . AWS Control Tower SCP . . SCP , — . , AWS Control Tower .
- SSO -. AWS Control Tower , . , – ;
Bem, como uma pequena adição, eu queria me afastar dos padrões geralmente aceitos e organizar o trabalho com os logs da organização em uma conta, que incluiria armazenamento, processamento, um sistema de notificação e um painel. Deixe-me lembrá-lo de que no AWS Control Tower isso é dividido em duas contas - registro e auditoria.
O terceiro motivo foi o desejo de personalizar as restrições da Torre de controle da AWS mencionadas anteriormente. Primeiro, expanda a lista de políticas, por exemplo, proibindo a exclusão / modificação de certos recursos (certas funções relacionadas ao gerenciamento de contas ou recursos críticos). Em segundo lugar, para usar funções no nível de uma conta específica, e não em um grupo de contas, como agora é implementado na AWS Control Tower. E em terceiro lugar, para gerenciar tudo isso na hora, por exemplo, por um tempo, desconecte um certo conjunto de restrições para uma conta específica e depois conecte-se novamente.
No entanto, não se pode dizer que não usamos a Torre de controle da AWS de forma alguma. Claro, é necessário muito na implementação deste serviço e, no processo de construção de nossa própria solução, usamos o conhecimento que adquirimos ao estudar a Torre de controle da AWS.
Conclusão
AWS Control Tower ou scripts personalizados, produto de prateleira ou desenvolvimento personalizado. Como sempre, o produto acabado dá agilidade na implantação da solução, redução de custos de desenvolvimento e correção de bugs, mas em contrapartida perdemos flexibilidade.
A AWS Control Tower é um serviço conveniente para gerenciar a organização de contas. Se você acabou de chegar à conclusão de que uma conta não é suficiente para você e precisa criar uma organização, comece com a Torre de controle da AWS. Se você não sabe como criar políticas, como configurar o processamento de log e serviços de notificação e, ao mesmo tempo, a segurança é um pré-requisito essencial para a existência de sua organização, então comece com o AWS Control Tower. Se você estiver usando o console da AWS para gerenciar sua infraestrutura em nuvem, provavelmente achará a AWS Control Tower atraente o suficiente.
No entanto, se sua organização requer um certo nível de personalização que vai além do padrão, ou se suas contas devem obedecer a regras que mudam com frequência, você pode precisar de alguma outra solução.