Comment AWS Control Tower utilise les rôles pour créer et gérer des comptes - AWS Control Tower

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comment AWS Control Tower utilise les rôles pour créer et gérer des comptes

En général, les rôles font partie de la gestion des identités et des accès (IAM) dans AWS. Pour des informations générales sur IAM et les rôles dans AWS, consultez la rubrique Rôles IAM dans le Guide de l'utilisateur AWS IAM.

Rôles et création de comptes

AWS Control Tower crée le compte d'un client en appelant l'CreateAccountAPI de AWS Organizations. Lors de la AWS Organizations création de ce compte, elle crée un rôle au sein de ce compte, qu'AWS Control Tower nomme en transmettant un paramètre à l'API. Le nom du rôle est AWSControlTowerExecution.

AWS Control Tower prend le relais AWSControlTowerExecution pour tous les comptes créés par Account Factory. À l'aide de ce rôle, AWS Control Tower définit le compte comme base de référence et applique des contrôles obligatoires (et tout autre contrôle activé), ce qui entraîne la création d'autres rôles. Ces rôles sont à leur tour utilisés par d'autres services, tels que AWS Config.

Note

Pour définir la base de référence d'un compte, il faut configurer ses ressources, notamment les modèles Account Factory, parfois appelés plans, et les contrôles. Le processus de référence définit également les rôles de journalisation et d'audit de sécurité centralisés sur le compte, dans le cadre du déploiement des modèles. Les lignes de base d'AWS Control Tower sont contenues dans les rôles que vous appliquez à chaque compte inscrit.

Pour plus d'informations sur les comptes et les ressources, consultezComptes AWS À propos d'AWS Control Tower.

Comment AWS Control Tower agrège les AWS Config règles dans les unités d'organisation et les comptes non gérés

Le compte de gestion AWS Control Tower crée un agrégateur au niveau de l'organisation, qui aide à détecter les AWS Config règles externes, de sorte qu'AWS Control Tower n'a pas besoin d'accéder à des comptes non gérés. La console AWS Control Tower vous indique le nombre de AWS Config règles créées en externe pour un compte donné. Vous pouvez consulter les détails de ces règles externes dans l'onglet External Config Rule Compliance de la page des détails du compte.

Pour créer l'agrégateur, AWS Control Tower ajoute un rôle doté des autorisations requises pour décrire une organisation et répertorier les comptes qui en dépendent. Le AWSControlTowerConfigAggregatorRoleForOrganizations rôle nécessite la politique AWSConfigRoleForOrganizations gérée et une relation de confiance avecconfig.amazonaws.com.

Voici la politique IAM (artefact JSON) attachée au rôle :

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

Voici la relation de AWSControlTowerConfigAggregatorRoleForOrganizations confiance :

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

Pour déployer cette fonctionnalité dans le compte de gestion, les autorisations suivantes sont ajoutées dans la politique géréeAWSControlTowerServiceRolePolicy, qui est utilisée par le AWSControlTowerAdmin rôle lors de la création de l' AWS Config agrégateur :

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

Nouvelles ressources créées : AWSControlTowerConfigAggregatorRoleForOrganizations et aws-controltower-ConfigAggregatorForOrganizations

Lorsque vous êtes prêt, vous pouvez inscrire des comptes individuellement ou les inscrire en tant que groupe en enregistrant une unité d'organisation. Lorsque vous avez créé un compte, si vous créez une règle dans AWS Config, AWS Control Tower détecte la nouvelle règle. L'agrégateur indique le nombre de règles externes et fournit un lien vers la AWS Config console où vous pouvez consulter les détails de chaque règle externe de votre compte. Utilisez les informations de la AWS Config console et de la console AWS Control Tower pour déterminer si les contrôles appropriés sont activés pour le compte.

Rôles programmatiques et relations de confiance pour le compte d'audit AWS Control Tower

Vous pouvez vous connecter au compte d'audit et assumer un rôle pour examiner les autres comptes par programmation. Le compte d'audit ne vous permet pas de vous connecter manuellement à d'autres comptes.

Le compte d'audit vous donne un accès programmatique à d'autres comptes, au moyen de certains rôles attribués uniquement aux fonctions AWS Lambda. Pour des raisons de sécurité, ces rôles entretiennent des relations de confiance avec d'autres rôles, ce qui signifie que les conditions dans lesquelles les rôles peuvent être utilisés sont strictement définies.

Le stack set AWS Control Tower StackSet-AWSControlTowerBP-BASELINE-ROLES crée ces rôles inter-comptes uniquement programmatiques dans le compte d'audit :

  • aws-control tower- AdministratorExecutionRole

  • aws-control tower- AuditAdministratorRole

  • aws-control tower- ReadOnlyExecutionRole

  • aws-control tower- AuditReadOnlyRole

ReadOnlyExecutionRole:Notez que ce rôle permet au compte d'audit de lire des objets dans des compartiments Amazon S3 dans l'ensemble de l'organisation (contrairement à la SecurityAudit politique, qui autorise uniquement l'accès aux métadonnées).

aws-controltower- : AdministratorExecutionRole
  • Possède des autorisations d'administrateur

  • Ne peut pas être supposé depuis la console

  • Ne peut être assumé que par un rôle dans le compte d'audit, à savoir le aws-controltower-AuditAdministratorRole

L'artefact suivant montre la relation de confiance pouraws-controltower-AdministratorExecutionRole. Le numéro d'espace réservé 012345678901 sera remplacé par le Audit_acct_ID numéro de votre compte d'audit.

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "AWS": "arn:aws:iam::012345678901:role/aws-controltower-AuditAdministratorRole"       },       "Action": "sts:AssumeRole"     }   ] }
aws-controltower- : AuditAdministratorRole
  • Peut être utilisé uniquement par le AWS service Lambda

  • Est autorisé à effectuer des opérations de lecture (Get) et d'écriture (Put) sur des objets Amazon S3 dont le nom commence par la chaîne log

Politiques jointes :

1. AWSLambdaExecute— politique AWS gérée

2. AssumeRole-aws-controltower- AuditAdministratorRole — politique en ligne — Créé par AWS Control Tower, l'artefact suit.

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

L'artefact suivant montre la relation de confiance pour aws-controltower-AuditAdministratorRole :

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "Service": "lambda.amazonaws.com"       },       "Action": "sts:AssumeRole"     }   ] }
aws-controltower- : ReadOnlyExecutionRole
  • Ne peut pas être supposé depuis la console

  • Ne peut être assumé que par un autre rôle dans le compte d'audit, à savoir le AuditReadOnlyRole

L'artefact suivant montre la relation de confiance pouraws-controltower-ReadOnlyExecutionRole. Le numéro d'espace réservé 012345678901 sera remplacé par le Audit_acct_ID numéro de votre compte d'audit.

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "AWS": "arn:aws:iam::012345678901:role/aws-controltower-AuditReadOnlyRole "       },       "Action": "sts:AssumeRole"     }   ] }
aws-controltower- : AuditReadOnlyRole
  • Peut être utilisé uniquement par le AWS service Lambda

  • Est autorisé à effectuer des opérations de lecture (Get) et d'écriture (Put) sur des objets Amazon S3 dont le nom commence par la chaîne log

Politiques jointes :

1. AWSLambdaExecute— politique AWS gérée

2. AssumeRole-aws-controltower- AuditReadOnlyRole — politique en ligne — Créé par AWS Control Tower, l'artefact suit.

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

L'artefact suivant montre la relation de confiance pour aws-controltower-AuditAdministratorRole :

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

Provisioning automatisé des comptes avec des rôles IAM

Pour configurer les comptes Account Factory de manière plus automatisée, vous pouvez créer des fonctions Lambda dans le compte de gestion AWS Control Tower, qui assume le AWSControlTowerExecutionrôle dans le compte membre. Ensuite, à l'aide du rôle, le compte de gestion exécute les étapes de configuration souhaitées dans chaque compte membre.

Si vous approvisionnez des comptes à l'aide des fonctions Lambda, l'identité qui effectuera cette tâche doit respecter la politique d'autorisation IAM suivante, en plus 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": "*" } ] }

Les autorisationssso:GetPeregrineStatus, sso:ProvisionApplicationInstanceForAWSAccountsso:ProvisionApplicationProfileForAWSAccountInstance, et sso:ProvisionSAMLProvide sont requises par AWS Control Tower Account Factory pour interagir avec AWS IAM Identity Center.