Como a AWS Control Tower funciona com funções para criar e gerenciar contas - AWS Control Tower

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como a AWS Control Tower funciona com funções para criar e gerenciar contas

Em geral, as funções fazem parte do gerenciamento de identidade e acesso (IAM) na AWS. ConsultePermissões necessárias para usar o AWS Control Tower ConsolePara obter mais informações sobre as funções exigidas pela AWS Control Tower. Para obter mais informações sobre o IAM e funções na AWS, consulteo tópico de funções do IAM naAWS IAM User Guide.

Funções e criação de conta

AWS Control Tower cria uma conta do cliente chamando oCreateAccountAPI de AWS Organizations. Quando o AWS Organizations cria essa conta, ele cria uma função dentro dessa conta, que o AWS Control Tower nomeia enviando um parâmetro para a API. O nome da função é AWSControlTowerExecution.

AWS Control Tower assume oAWSControlTowerExecutionFunção para todas as contas criadas pelo Account Factory. Usando essa função, a AWS Control TowerLinhas de baseA conta e aplica proteções obrigatórias (e quaisquer outras habilitadas), o que resulta na criação de outras funções. Essas funções, por sua vez, são usadas por outros serviços, como o AWS Config.

nota

ParaReferência daUma conta é configurar seus esquemas e proteções. O processo de linha de base também configura o registro em log centralizado e as funções de auditoria de segurança na conta, como parte da implantação dos esquemas. As linhas de base da AWS Control Tower estão contidas nas funções que você aplica a todas as contas cadastradas.

A função AWSControlTowerExecution, explicada

OAWSControlTowerExecutionA função permite que o AWS Control Tower gerencie suas contas individuais e relate informações sobre elas nas contas de auditoria e registro em log.

  • A função AWSControlTowerExecution permite a auditoria pela conta de auditoria do AWS Control Tower.

  • A função AWSControlTowerExecution ajuda você a configurar o registro em log de suas organizações, para que todos os logs de cada conta sejam enviados à conta de registro em log.

  • Para registrar uma conta individual na AWS Control Tower, é necessário adicionar oAWSControlTowerExecutionpara essa conta.

Depois de concluir a configuração de contas,AWSControlTowerExecutionO garante que as proteções selecionadas da AWS Control Tower sejam aplicadas automaticamente a todas as contas individuais da organização, bem como a todas as novas contas que você criar na AWS Control Tower. Portanto, é possível fornecer relatórios de conformidade e segurança com facilidade, com base nos recursos de auditoria e registro em log incorporados pelos proteções da AWS Control Tower. Suas equipes de segurança e conformidade podem verificar se todos os requisitos foram atendidos e se houve algum desvio organizacional. Para obter mais informações sobre desvios, consulte o Guia do usuário do AWS Control Tower.

Para resumir, a função AWSControlTowerExecution e sua política associada fornecem controle flexível de segurança e conformidade em toda a organização. Portanto, as violações de segurança têm menos probabilidade de ocorrer.

Como a AWS Control Tower agrega regras do AWS Config em UOs e contas não gerenciadas

A conta de gerenciamento da AWS Control Tower cria um agregador em nível de organização, que ajuda a detectar regras externas do AWS Config, para que a AWS Control Tower não precise obter acesso a contas não gerenciadas. O console da AWS Control Tower mostra quantas regras do AWS Config criadas externamente você tem para uma determinada conta e vincula você ao console do AWS Config, onde você pode visualizar detalhes sobre essas regras externas.

Para criar o agregador, a AWS Control Tower adiciona uma função com as permissões necessárias para descrever uma organização e listar as contas nela. OAWSControlTowerConfigAggregatorRoleForOrganizationsrequer a funçãoAWSConfigRoleForOrganizationsPolítica gerenciada e uma relação de confiança com oconfig.amazonaws.com.

Veja a política do IAM (artefato JSON) anexada à função:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "organizations:ListAccounts", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization" ], "Resource": "*" } ] }

Veja oAWSControlTowerConfigAggregatorRoleForOrganizationsRelação de confiança:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } }

Para implantar essa funcionalidade na conta de gerenciamento, as seguintes permissões são adicionadas à diretiva gerenciadaAWSControlTowerServiceRolePolicy, que é usada peloAWSControlTowerAdminquando ele cria o agregador AWS Config:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "config:PutConfigurationAggregator", "config:DeleteConfigurationAggregator", "iam:PassRole" ], "Resource": [ "arn:aws:iam:::role/service-role/AWSControlTowerConfigAggregatorRoleForOrganizations", "arn:aws:config:::config-aggregator/" ] }, { "Effect": "Allow", "Action": "organizations:EnableAWSServiceAccess", "Resource": "*" } ] }

Novos recursos criados:AWSControlTowerConfigAggregatorRoleForOrganizationseaws-controltower-ConfigAggregatorForOrganizations

Quando estiver pronto, você pode registrar contas individualmente ou inscrevê-las como um grupo registrando uma UO. Quando você cadastrou uma conta, se você criar uma regra no AWS Config, a AWS Control Tower detectará a nova regra. O agregador mostra o número de regras externas e fornece um link para o console do AWS Config, onde você pode visualizar os detalhes de cada regra externa da sua conta. Use as informações no console do AWS Config e no console da AWS Control Tower para determinar se você tem os protetores apropriados habilitados para a conta.

nota

Para vincular diretamente do console da AWS Control Tower à sua lista agregada de regras do AWS Config, configure seu console do AWS Config com o Gravador de Config e o Canal de Entrega na região inicial da sua conta de gerenciamento.

Funções programáticas e relações de confiança para a conta de auditoria do AWS Control Tower

Você pode entrar na conta de auditoria e assumir uma função para revisar outras contas de forma programática. A conta de auditoria não permite que você faça login em outras contas manualmente.

A conta de auditoria fornece acesso programático a outras contas, por meio de algumas funções que são concedidas somente às funções do AWS Lambda. Por motivos de segurança, essas funções têmRelações de confiançacom outras funções, o que significa que as condições sob as quais as funções podem ser utilizadas são estritamente definidas.

O conjunto de pilhas do AWS Control TowerStackSet-AWSControlTowerBP-BASELINE-ROLEScria estas funções somente programáticas, entre contas na conta de auditoria:

  • AWS S-controlTower-AdministrateRexeCutionRole

  • AWS-Control-AuditAdministratorFunção

  • AWS-Control-ReadOnlyExecutionRole

  • AWS-Control-AuditReadOnlyFunção

ReadOnlyExecutionRole:Observe que essa função permite que a conta de auditoria leia objetos em buckets do S3 em toda a organização (em contraste com oSecurityAudit, que permite apenas acesso a metadados).

AWS-Control-AdministrateRexeCutionRole:

  • Tem permissões de administrador

  • Não pode ser assumido a partir do console

  • Pode ser assumido apenas por uma função na conta de auditoria — oaws-controltower-AuditAdministratorRole

O artefato a seguir mostra a relação de confiança paraaws-controltower-AdministratorExecutionRole. O número do espaço reservado012345678901será substituído peloAudit_acct_IDpara sua conta de auditoria.

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "AWS": "arn:aws:iam::012345678901:role/aws-controltower-AuditAdministratorRole"       },       "Action": "sts:AssumeRole"     }   ] }

AWS-Control-AuditAdministratorFunção:

  • Pode ser assumida pelo serviço AWS Lambda somente

  • Tem permissão para executar operações de leitura (Get) e gravação (Put) em objetos S3 com nomes que começam com a stringLog do

Políticas anexadas:

1. AWSLambdaExecute— Política gerenciada da AWS

2. Assumerole-aws-controltower-AuditatorRole— política em linha — Criado pela AWS Control Tower, o artefato segue.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::*:role/aws-controltower-AdministratorExecutionRole" ], "Effect": "Allow" } ] }

O artefato a seguir mostra a relação de confiança paraaws-controltower-AuditAdministratorRole:

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "Service": "lambda.amazonaws.com"       },       "Action": "sts:AssumeRole"     }   ] }

AWS-Control-ReadOnlyExecutionRole:

  • Não pode ser assumido a partir do console

  • Pode ser assumida apenas por outra função na conta de auditoria — oAuditReadOnlyRole

O artefato a seguir mostra a relação de confiança paraaws-controltower-ReadOnlyExecutionRole. O número do espaço reservado012345678901será substituído peloAudit_acct_IDpara sua conta de auditoria.

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "AWS": "arn:aws:iam::012345678901:role/aws-controltower-AuditReadOnlyRole "       },       "Action": "sts:AssumeRole"     }   ] }

AWS-Control-AuditReadOnlyFunção:

  • Pode ser assumida pelo serviço AWS Lambda somente

  • Tem permissão para executar operações de leitura (Get) e gravação (Put) em objetos S3 com nomes que começam com a stringLog do

Políticas anexadas:

1. AWSLambdaExecute— Política gerenciada da AWS

2. Assumerole-aws-controltower-AuditReadOnlyRole— política em linha — Criado pela AWS Control Tower, o artefato segue.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::*:role/aws-controltower-ReadOnlyExecutionRole" ], "Effect": "Allow" } ] }

O artefato a seguir mostra a relação de confiança paraaws-controltower-AuditAdministratorRole:

  {   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "Service": "lambda.amazonaws.com"       },       "Action": "sts:AssumeRole"     }   ] }

Provisionamento automatizado de conta com funções do IAM

Para configurar contas do Account Factory de maneira mais automatizada, é possível criar funções do Lambda na conta de gerenciamento do AWS Control Tower, que oAssumir a funçãoAWSControlTowerExecutionfunção dona conta do membro. Depois, usando a função, a conta de gerenciamento executa as etapas de configuração desejadas em cada conta do membro.

Se você estiver provisionando contas usando funções do Lambda, a identidade que executará esse trabalho deverá ter a política de permissões do IAM a seguir, além deAWSServiceCatalogEndUserFullAccess.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSControlTowerAccountFactoryAccess", "Effect": "Allow", "Action": [ "sso:GetProfile", "sso:CreateProfile", "sso:UpdateProfile", "sso:AssociateProfile", "sso:CreateApplicationInstance", "sso:GetSSOStatus", "sso:GetTrust", "sso:CreateTrust", "sso:UpdateTrust", "sso:GetPeregrineStatus", "sso:GetApplicationInstance", "sso:ListDirectoryAssociations", "sso:ListPermissionSets", "sso:GetPermissionSet", "sso:ProvisionApplicationInstanceForAWSAccount", "sso:ProvisionApplicationProfileForAWSAccountInstance", "sso:ProvisionSAMLProvider", "sso:ListProfileAssociations", "sso-directory:ListMembersInGroup", "sso-directory:AddMemberToGroup", "sso-directory:SearchGroups", "sso-directory:SearchGroupsWithGroupName", "sso-directory:SearchUsers", "sso-directory:CreateUser", "sso-directory:DescribeGroups", "sso-directory:DescribeDirectory", "sso-directory:GetUserPoolInfo", "controltower:CreateManagedAccount", "controltower:DescribeManagedAccount", "controltower:DeregisterManagedAccount", "s3:GetObject", "organizations:describeOrganization", "sso:DescribeRegisteredRegions" ], "Resource": "*" } ] }