Como o AWS Control Tower trabalha 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 o AWS Control Tower trabalha com funções para criar e gerenciar contas

Em geral, as funções fazem parte do gerenciamento de identidade e acesso (IAM) em AWS. Para obter informações gerais sobre o IAM e as funções no AWS, consulte o tópico Funções do IAM no Guia AWS do usuário do IAM.

Funções e criação de contas

O AWS Control Tower cria a conta de um cliente chamando a CreateAccount API de AWS Organizations. Ao AWS Organizations criar essa conta, ela cria uma função dentro dessa conta, que o AWS Control Tower nomeia passando um parâmetro para a API. O nome da função é AWSControlTowerExecution.

O AWS Control Tower assume a AWSControlTowerExecution função de todas as contas criadas pelo Account Factory. Usando essa função, o AWS Control Tower define a conta como base e aplica controles obrigatórios (e quaisquer outros habilitados), o que resulta na criação de outras funções. Essas funções, por sua vez, são usadas por outros serviços, como AWS Config.

nota

Basear uma conta é configurar seus recursos, que incluem modelos de Account Factory, às vezes chamados de blueprints, e controles. O processo básico também configura as funções centralizadas de registro e auditoria de segurança na conta, como parte da implantação dos modelos. As linhas de base do AWS Control Tower estão contidas nas funções que você aplica a cada conta inscrita.

Para obter mais informações sobre contas e recursos, consulteSobre Contas da AWS na AWS Control Tower.

Como o AWS Control Tower agrega AWS Config regras em contas e OUs não gerenciadas

A conta de gerenciamento da AWS Control Tower cria um agregador em nível organizacional, que ajuda na detecção de AWS Config regras externas, para que a AWS Control Tower não precise obter acesso a contas não gerenciadas. O console do AWS Control Tower mostra quantas AWS Config regras criadas externamente você tem para uma determinada conta. Você pode ver detalhes sobre essas regras externas na guia External Config Rule Compliance da página de detalhes da conta.

Para criar o agregador, o AWS Control Tower adiciona uma função com as permissões necessárias para descrever uma organização e listar as contas abaixo dela. A AWSControlTowerConfigAggregatorRoleForOrganizations função requer a política AWSConfigRoleForOrganizations gerenciada e uma relação de confiança comconfig.amazonaws.com.

Aqui está 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": "*" } ] }

Aqui está a relação de AWSControlTowerConfigAggregatorRoleForOrganizations 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 à política gerenciadaAWSControlTowerServiceRolePolicy, que é usada pela AWSControlTowerAdmin função ao criar o AWS Config agregador:

{ "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: AWSControlTowerConfigAggregatorRoleForOrganizations e aws-controltower-ConfigAggregatorForOrganizations

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

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 a função de 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. Para fins de segurança, essas funções têm relações de confiança com 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 Tower StackSet-AWSControlTowerBP-BASELINE-ROLES cria essas funções multicontas somente programáticas na conta de auditoria:

  • aws-control tower- AdministratorExecutionRole

  • aws-control tower- AuditAdministratorRole

  • aws-control tower- ReadOnlyExecutionRole

  • aws-control tower- AuditReadOnlyRole

ReadOnlyExecutionRole:Observe que essa função permite que a conta de auditoria leia objetos nos buckets do Amazon S3 em toda a organização (em contraste com a SecurityAudit política, que permite somente o acesso aos metadados).

aws-control tower-: AdministratorExecutionRole
  • Tem permissões de administrador

  • Não pode ser assumido a partir do console

  • Só pode ser assumido por uma função na conta de auditoria — a aws-controltower-AuditAdministratorRole

O artefato a seguir mostra a relação de confiança deaws-controltower-AdministratorExecutionRole. O número do espaço reservado 012345678901 será substituído pelo Audit_acct_ID número da 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 tower-: AuditAdministratorRole
  • Pode ser assumido somente pelo AWS serviço Lambda

  • Tem permissão para realizar operações de leitura (Obter) e gravação (Colocar) em objetos do Amazon S3 com nomes que começam com o log de string

Políticas anexadas:

1. AWSLambdaExecute— política AWS gerenciada

2. AssumeRole-aws-controltower- AuditAdministratorRole — política em linha — criada pela AWS Control Tower, segue o artefato.

{ "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 tower-: ReadOnlyExecutionRole
  • Não pode ser assumido a partir do console

  • Só pode ser assumida por outra função na conta de auditoria — a AuditReadOnlyRole

O artefato a seguir mostra a relação de confiança deaws-controltower-ReadOnlyExecutionRole. O número do espaço reservado 012345678901 será substituído pelo Audit_acct_ID número da 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 tower-: AuditReadOnlyRole
  • Pode ser assumido somente pelo AWS serviço Lambda

  • Tem permissão para realizar operações de leitura (Obter) e gravação (Colocar) em objetos do Amazon S3 com nomes que começam com o log de string

Políticas anexadas:

1. AWSLambdaExecute— política AWS gerenciada

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

{ "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 uma forma mais automatizada, você pode criar funções Lambda na conta de gerenciamento da AWS Control Tower, que assume a AWSControlTowerExecutionfunção na conta do membro. Em seguida, usando a função, a conta de gerenciamento executa as etapas de configuração desejadas em cada conta membro.

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

{ "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": "*" } ] }

As permissõessso:GetPeregrineStatus,, sso:ProvisionApplicationInstanceForAWSAccountsso:ProvisionApplicationProfileForAWSAccountInstance, e sso:ProvisionSAMLProvide são exigidas pelo AWS Control Tower Account Factory para interagir com o AWS IAM Identity Center.