Cómo trabaja AWS Control Tower con los roles para crear y administrar cuentas - AWS Control Tower

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo trabaja AWS Control Tower con los roles para crear y administrar cuentas

En general, los roles forman parte de la gestión de identidades y accesos (IAM) en AWS. Para obtener información general sobre la IAM y las funciones en ella AWS, consulte el tema de las funciones de IAM en la Guía del usuario de AWS IAM.

Creación de roles y cuentas

AWS Control Tower crea la cuenta de un cliente llamando a la CreateAccount API de AWS Organizations. Cuando AWS Organizations crea esta cuenta, crea un rol dentro de esa cuenta, al que AWS Control Tower nombra pasando un parámetro a la API. El nombre del rol es AWSControlTowerExecution.

AWS Control Tower asume la AWSControlTowerExecution función de todas las cuentas creadas por Account Factory. Con esta función, AWS Control Tower establece una base de referencia para la cuenta y aplica los controles obligatorios (y cualquier otro control habilitado), lo que da lugar a la creación de otras funciones. Estos roles, a su vez, los utilizan otros servicios, como. AWS Config

nota

La base de referencia de una cuenta es configurar sus recursos, que incluyen plantillas de Account Factory, a veces denominadas planos, y controles. El proceso de referencia también establece las funciones centralizadas de registro y auditoría de seguridad de la cuenta, como parte de la implementación de las plantillas. Las bases de referencia de AWS Control Tower se incluyen en las funciones que aplica a cada cuenta inscrita.

Para obtener más información sobre las cuentas y los recursos, consulte. Acerca de Cuentas de AWS in AWS Control Tower

Cómo AWS Control Tower agrega AWS Config reglas en unidades organizativas y cuentas no administradas

La cuenta de administración de AWS Control Tower crea un agregador a nivel de organización que ayuda a detectar AWS Config reglas externas, de modo que AWS Control Tower no necesite acceder a cuentas no administradas. La consola de AWS Control Tower le muestra cuántas AWS Config reglas creadas externamente tiene para una cuenta determinada. Puedes ver los detalles sobre esas reglas externas en la pestaña External Config Rule Compliance de la página de detalles de la cuenta.

Para crear el agregador, AWS Control Tower añade un rol con los permisos necesarios para describir una organización y enumerar las cuentas que contiene. El AWSControlTowerConfigAggregatorRoleForOrganizations rol requiere una política AWSConfigRoleForOrganizations gestionada y una relación de confianza conconfig.amazonaws.com.

Esta es la política de IAM (artefacto JSON) asociada a la función:

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

Esta es la relación de AWSControlTowerConfigAggregatorRoleForOrganizations confianza:

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

Para implementar esta funcionalidad en la cuenta de administración, se agregan los siguientes permisos a la política administradaAWSControlTowerServiceRolePolicy, que el AWSControlTowerAdmin rol utiliza cuando crea el 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": "*" } ] }

Se han creado nuevos recursos: AWSControlTowerConfigAggregatorRoleForOrganizations y aws-controltower-ConfigAggregatorForOrganizations

Cuando esté listo, puede inscribir las cuentas de forma individual o inscribirlas en grupo mediante el registro de una OU. Cuando haya inscrito una cuenta, si crea una regla en ella AWS Config, AWS Control Tower detectará la nueva regla. El agregador muestra el número de reglas externas y proporciona un enlace a la AWS Config consola donde puede ver los detalles de cada regla externa de su cuenta. Utilice la información de la AWS Config consola y de la consola de la Torre de Control Tower de AWS para determinar si tiene habilitados los controles adecuados para la cuenta.

Funciones programáticas y relaciones de confianza para la cuenta de auditoría de la Torre de Control de AWS

Puede iniciar sesión en la cuenta de auditoría y asumir la función de revisar otras cuentas mediante programación. La cuenta de auditoría no le permite iniciar sesión en otras cuentas manualmente.

La cuenta de auditoría le proporciona acceso programático a otras cuentas, mediante algunas funciones que se otorgan únicamente a las funciones de AWS Lambda. Por motivos de seguridad, estas funciones tienen relaciones de confianza con otras funciones, lo que significa que las condiciones en las que se pueden utilizar las funciones están estrictamente definidas.

El conjunto de componentes de AWS Control Tower StackSet-AWSControlTowerBP-BASELINE-ROLES crea estas funciones multicuenta únicamente mediante programación en la cuenta de auditoría:

  • aws-controltower- AdministratorExecutionRole

  • aws-torre de control- AuditAdministratorRole

  • aws-torre de control- ReadOnlyExecutionRole

  • aws-torre de control- AuditReadOnlyRole

ReadOnlyExecutionRole:Tenga en cuenta que esta función permite a la cuenta de auditoría leer los objetos de los buckets de Amazon S3 en toda la organización (a diferencia de la SecurityAudit política, que solo permite el acceso a los metadatos).

aws-controltower-: AdministratorExecutionRole
  • Tiene permisos de administrador

  • No se puede asumir desde la consola

  • Solo puede asumirlo un rol en la cuenta de auditoría: el aws-controltower-AuditAdministratorRole

El siguiente artefacto muestra la relación de confianza deaws-controltower-AdministratorExecutionRole. El número de marcador de posición se 012345678901 sustituirá por el Audit_acct_ID número de su cuenta de auditoría.

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

  • Tiene permiso para realizar operaciones de lectura (Get) y escritura (Put) en objetos de Amazon S3 con nombres que comiencen por la cadena log

Políticas adjuntas:

1. AWSLambdaExecute— política AWS gestionada

2. AssumeRole-aws-controltower- AuditAdministratorRole — política en línea — Creada por AWS Control Tower, el artefacto sigue a continuación.

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

El siguiente artefacto muestra la relación de confianza de: aws-controltower-AuditAdministratorRole

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "Service": "lambda.amazonaws.com"       },       "Action": "sts:AssumeRole"     }   ] }
aws-controltower-: ReadOnlyExecutionRole
  • No se puede suponer desde la consola

  • Solo puede asumirlo otro rol de la cuenta de auditoría: el AuditReadOnlyRole

El siguiente artefacto muestra la relación de confianza deaws-controltower-ReadOnlyExecutionRole. El número de marcador de posición se 012345678901 sustituirá por el Audit_acct_ID número de su cuenta de auditoría.

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

  • Tiene permiso para realizar operaciones de lectura (Get) y escritura (Put) en objetos de Amazon S3 con nombres que comiencen por la cadena log

Políticas adjuntas:

1. AWSLambdaExecute— política AWS gestionada

2. AssumeRole-aws-controltower- AuditReadOnlyRole — política en línea — Creada por AWS Control Tower, el artefacto sigue a continuación.

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

El siguiente artefacto muestra la relación de confianza de: aws-controltower-AuditAdministratorRole

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

Aprovisionamiento automatizado de cuentas con roles de IAM

Para configurar las cuentas de Account Factory de forma más automatizada, puede crear funciones de Lambda en la cuenta de administración de AWS Control Tower, que asume la AWSControlTowerExecutionfunción en la cuenta del miembro. A continuación, utilizando el rol, la cuenta de administración realiza los pasos de configuración deseados en cada cuenta de miembro.

Si aprovisiona cuentas mediante funciones Lambda, la identidad que realizará este trabajo debe tener la siguiente política de permisos de IAM, además 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": "*" } ] }

AWS Control Tower Account Factory requiere sso:ProvisionSAMLProvide los permisos sso:GetPeregrineStatussso:ProvisionApplicationProfileForAWSAccountInstance, y para interactuar con el AWS IAM Identity Center. sso:ProvisionApplicationInstanceForAWSAccount