Existe uma maneira na AWS de limitar que tipo de funções e políticas outra função pode criar?
Na minha configuração, tenho dois tipos de funções administrativas: AccountAdmin
e InfraAdmin
. Aquele AccountAdmin
que tem mais direitos e InfraAdmin
tem apenas o conjunto de direitos necessário para executar as operações do dia a dia.
Agora tenho uma situação em que a InfraAdmin
função precisa de direitos para criar pacotes onde tenho instância EC2, banco de dados RDS e bucket S3 (descrição um pouco simplificada, para que possamos nos concentrar no ponto principal). Juntos, eles formam um único serviço lógico e tenho vários desses pacotes que não deveriam ser capazes de acessar bancos de dados RDS ou buckets S3 de outros. Para permitir que a instância EC2 acesse seu banco de dados RDS e bucket S3, estou criando perfil, função e políticas de instância. Atualmente, isso exige que eu conceda direitos para InfraAdmin
criar funções e políticas e isso meio que destrói o princípio do menor privilégio e a divisão entre eles AccountAdmin
e InfraAdmin
se torna inútil.
Existe uma maneira de limitar que tipo de políticas e funções InfraAdmin
o papel pode criar, de modo que não possa ser usado para conceder direitos extras a si mesmo ou criar novos papéis mais poderosos?
Responder1
Sim, você pode usar o AWS Organizations para configurar uma estrutura de governança baseada em políticas que permite definir regras e políticas que se aplicam a todas as contas da AWS na sua organização. Isso permite controlar quais serviços e ações sua função InfraAdmin pode usar, bem como restringir as políticas e funções que ela pode criar.
Para fazer isso, primeiro você precisaria criar uma unidade organizacional (OU) para sua função InfraAdmin e, em seguida, anexar uma política de controle de serviço (SCP) a essa OU que especifique os serviços e ações que a função InfraAdmin tem permissão para usar. Você pode então usar o AWS Identity and Access Management (IAM) para definir as políticas e funções que a função InfraAdmin tem permissão para criar e anexar essas políticas à função InfraAdmin.
Por exemplo, você poderia criar um SCP que permita que a função InfraAdmin use apenas os serviços EC2, RDS e S3 e restringir as ações que ela pode executar nesses serviços apenas àquelas necessárias para criar e gerenciar os pacotes configuráveis que você descrito. Você poderia então usar o IAM para criar políticas que permitam à função InfraAdmin criar e gerenciar perfis de instância, funções e políticas para esses serviços e anexar essas políticas à função InfraAdmin. Isso permitiria que a função InfraAdmin criasse os recursos necessários para os pacotes sem lhe dar a capacidade de conceder direitos extras a si mesma ou criar novas funções mais poderosas.
No geral, usar o AWS Organizations e o IAM dessa forma permite que você configure um sistema de controle de acesso mais refinado e seguro para suas contas e recursos da AWS.