

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
<a name="roles-how"></a>

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*](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html).

## Rôles et création de comptes
<a name="roles-and-account-creation"></a>

AWS Control Tower crée le compte d'un client en appelant l'`CreateAccount`API 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 en charge le `AWSControlTowerExecution` rôle de 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](https://docs.aws.amazon.com//controltower/latest/userguide/account-factory-considerations.html), 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, consultez[Comptes AWS À propos d'AWS Control Tower](accounts.md).

# Le AWSControl TowerExecution rôle, expliqué
<a name="awscontroltowerexecution"></a>

Le rôle `AWSControlTowerExecution` doit être présent dans tous les comptes inscrits. Il permet à AWS Control Tower de gérer vos comptes individuels et de communiquer les informations les concernant à vos comptes d'audit et d'archivage des journaux.

Le `AWSControlTowerExecution` rôle peut être ajouté à un compte de différentes manières, comme suit :
+ Pour les comptes de l'unité d'organisation de sécurité (parfois appelés *comptes principaux*), AWS Control Tower crée le rôle au moment de la configuration initiale d'AWS Control Tower.
+ Pour un compte Account Factory créé via la console AWS Control Tower, AWS Control Tower crée ce rôle au moment de la création du compte.
+ Pour l'inscription d'un compte unique, nous demandons aux clients de créer manuellement le rôle, puis d'inscrire le compte dans AWS Control Tower.
+ Lors de l'extension de la gouvernance à une unité d'organisation, AWS Control Tower utilise le **StackSet- AWSControl TowerExecutionRole** pour créer le rôle dans tous les comptes de cette unité d'organisation.

**Note**  
Lorsque vous désinscrivez un compte, AWS Control Tower supprime le `AWSControlTowerExecution` rôle, qu'il ait été créé manuellement ou par AWS Control Tower elle-même.

Objectif du `AWSControlTowerExecution` rôle :
+ `AWSControlTowerExecution`vous permet de créer et d'inscrire des comptes, automatiquement, à l'aide de scripts et de fonctions Lambda.
+ `AWSControlTowerExecution` permet de configurer la journalisation de votre organisation, de sorte que tous les journaux de chaque compte soient envoyés au compte de journalisation.
+ `AWSControlTowerExecution`vous permet d'enregistrer un compte individuel dans AWS Control Tower. Tout d'abord, vous devez ajouter le `AWSControlTowerExecution` rôle à ce compte. Pour savoir comment ajouter le rôle, consultez[Ajoutez manuellement le rôle IAM requis à un rôle existant Compte AWS et inscrivez-le](enroll-manually.md).

Fonctionnement du `AWSControlTowerExecution` rôle avec OUs :

Ce `AWSControlTowerExecution` rôle garantit que les contrôles AWS Control Tower que vous avez sélectionnés s'appliquent automatiquement à chaque compte individuel, dans chaque unité d'organisation, ainsi qu'à chaque nouveau compte que vous créez dans AWS Control Tower. Par conséquent :
+ Vous pouvez fournir des rapports de conformité et de sécurité plus facilement, en vous basant sur les fonctionnalités d'audit et de journalisation intégrées [aux contrôles](https://docs.aws.amazon.com//controltower/latest/userguide/guardrails.html) d'AWS Control Tower.
+ Vos équipes de sécurité et de conformité peuvent vérifier que toutes les exigences sont satisfaites et qu'aucune dérive organisationnelle ne s'est produite.

Pour plus d'informations sur la dérive, consultez [Détecter et résoudre la dérive dans AWS Control Tower](https://docs.aws.amazon.com//controltower/latest/userguide/drift.html).

En résumé, le rôle `AWSControlTowerExecution` et la stratégie qui lui est associée vous offrent un contrôle flexible de la sécurité et de la conformité dans l'ensemble de votre organisation. Par conséquent, les violations de sécurité ou de protocole sont moins susceptibles de se produire.

# Conditions facultatives pour vos relations de confiance
<a name="conditions-for-role-trust"></a>

Pour ajouter des niveaux de sécurité supplémentaires à votre environnement AWS Control Tower, vous pouvez imposer des conditions dans vos politiques de confiance en matière de rôles, afin de restreindre les comptes et les ressources qui interagissent avec certains rôles dans AWS Control Tower. Par exemple, vous pouvez restreindre davantage l'accès au `AWSControlTowerAdmin` rôle, car il autorise des autorisations d'accès étendues.

Pour empêcher un acteur malveillant d'accéder à vos ressources, modifiez manuellement votre politique de confiance d'AWS Control Tower pour en ajouter au moins une `aws:SourceArn` ou une `aws:SourceAccount` condition à la déclaration de politique. Comme meilleure pratique de sécurité supplémentaire, vous pouvez ajouter `aws:SourceArn` cette condition, car elle est plus spécifique que `aws:SourceAccount` la limitation de l'accès à un compte et à une ressource spécifiques.

Si vous ne connaissez pas l'ARN complet de la ressource, ou si vous spécifiez plusieurs ressources, vous pouvez utiliser la `aws:SourceArn` condition avec des caractères génériques (\$1) pour les parties inconnues de l'ARN. Par exemple, `arn:aws:controltower:*:123456789012:*` fonctionne si vous ne souhaitez pas spécifier de région.

L'exemple suivant illustre l'utilisation de la condition `aws:SourceArn` IAM avec vos politiques de confiance des rôles IAM. Ajoutez cette condition à votre relation de confiance pour le **AWSControlTowerAdmin**rôle, car le principal du service AWS Control Tower interagit avec celui-ci. 

Comme indiqué dans l'exemple, l'ARN source est au format suivant : `arn:aws:controltower:${HOME_REGION}:${CUSTOMER_AWSACCOUNT_id}:*`

Remplacez `${HOME_REGION}` les chaînes `${CUSTOMER_AWSACCOUNT_id}` par votre propre région d'origine et le numéro de compte du compte appelant.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "controltower.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "arn:aws:controltower:us-west-2:012345678901:*"
        }
      }
    }
  ]
}
```

------

Dans l'exemple, l'ARN source désigné comme `arn:aws:controltower:us-west-2:012345678901:*` est le seul ARN autorisé à effectuer l'`sts:AssumeRole`action. En d'autres termes, seuls les utilisateurs qui peuvent se connecter à l'identifiant du compte`012345678901`, dans la `us-west-2` région, sont autorisés à effectuer des actions nécessitant ce rôle spécifique et cette relation de confiance pour le service AWS Control Tower, désigné comme`controltower.amazonaws.com`.

L'exemple suivant montre les `aws:SourceArn` conditions `aws:SourceAccount` et appliquées à la politique de confiance dans les rôles.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "controltower.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "012345678901"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:controltower:us-west-2:012345678901:*"
        }
      }
    }
  ]
}
```

------

L'exemple illustre l'instruction de `aws:SourceArn` condition, avec une déclaration de `aws:SourceAccount` condition ajoutée. Pour de plus amples informations, veuillez consulter [Empêchez l'usurpation d'identité entre services](prevent-confused-deputy.md).

 Pour obtenir des informations générales sur les politiques d'autorisation dans AWS Control Tower, consultez[Gérez l'accès aux ressources](access-control-manage-access-intro.md).

**Recommandations :**

Nous vous recommandons d'ajouter des conditions aux rôles créés par AWS Control Tower, car ces rôles sont directement assumés par d'autres services AWS. Pour plus d'informations, consultez l'exemple de **AWSControlTowerAdmin**, présenté précédemment dans cette section. Pour le rôle d' AWS Config enregistreur, nous recommandons d'ajouter la `aws:SourceArn` condition, en spécifiant l'ARN de l'enregistreur Config comme ARN source autorisé.

Pour les rôles tels que **AWSControlTowerExecution**les [rôles programmatiques pouvant être assumés](https://docs.aws.amazon.com/controltower/latest/userguide/roles-how.html) par le compte AWS Control Tower Audit dans tous les comptes gérés, nous vous recommandons d'ajouter la `aws:PrincipalOrgID` condition à la politique de confiance relative à ces rôles, qui confirme que le principal accédant à la ressource appartient à un compte de la bonne AWS organisation. N'ajoutez pas l'énoncé de `aws:SourceArn` condition, car il ne fonctionnera pas comme prévu.

**Note**  
En cas de dérive, il est possible qu'un rôle d'AWS Control Tower soit réinitialisé dans certaines circonstances. Il est recommandé de revérifier régulièrement les rôles, si vous les avez personnalisés.

## Comment AWS Control Tower agrège les AWS Config règles dans les comptes non gérés OUs
<a name="config-role-for-organizations"></a>
+  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 avec`config.amazonaws.com`. 

**Note**  
 *Les clients utilisant la version 4.0 de landing zone n'auront pas besoin de ce rôle car AWS Control Tower a migré de l'agrégateur de configuration existant au niveau de l'organisation vers l'agrégateur de configuration lié au service* 

**Note**  
 Lorsque vous activez l'accès sécurisé à l'organisation qui contient votre zone de landing zone, AWS Control Tower peut créer des rôles, gérer les ressources et lire les données de tous les comptes de l'organisation. Grâce à un accès sécurisé, tous les comptes ou unités d'organisation de l'organisation sont accessibles à AWS Control Tower, qu'ils soient enregistrés et inscrits, ou *non* enregistrés ou *non* inscrits. 

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

------
#### [ JSON ]

****  

```
{
    "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ée`AWSControlTowerServiceRolePolicy`, qui est utilisée par le `AWSControlTowerAdmin` rôle lors de la création de l' AWS Config agrégateur :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "config:PutConfigurationAggregator",
          "config:DeleteConfigurationAggregator",
          "iam:PassRole"
          ],
        "Resource": [
          "arn:aws:iam::123456789012:role/service-role/AWSControlTowerConfigAggregatorRoleForOrganizations",
          "arn:aws:config:us-east-1:123456789012: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 UO. 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
<a name="stacksets-and-roles"></a>

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.

La pile AWS Control Tower `StackSet-AWSControlTowerBP-BASELINE-ROLES` crée ces rôles IAM entre comptes uniquement programmatiques dans le compte d'audit :
+ **aws-control tower- AdministratorExecutionRole**
+ **aws-control tower- ReadOnlyExecutionRole**

La pile AWS Control Tower `StackSet-AWSControlTowerSecurityResources` crée ces rôles IAM entre comptes uniquement programmatiques dans le compte d'audit : 
+ **aws-control tower- AuditAdministratorRole**
+ **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 `aws-controltower-AuditAdministratorRole` 

L'artefact suivant montre la relation de confiance pour`aws-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. **AWSLambdaExécuter** — politique AWS gérée

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

------
#### [ JSON ]

****  

```
{
  "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 pour`aws-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. **AWSLambdaExécuter** — politique AWS gérée

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

------
#### [ JSON ]

****  

```
{
  "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
<a name="automated-provisioning"></a>

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 **AWSControlTowerExecution**rôle](https://aws.amazon.com/premiumsupport/knowledge-center/lambda-function-assume-iam-role/) 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`

------
#### [ JSON ]

****  

```
{
    "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: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 autorisations`sso:GetPeregrineStatus`, `sso:ProvisionApplicationInstanceForAWSAccount``sso:ProvisionApplicationProfileForAWSAccountInstance`, et `sso:ProvisionSAMLProvide` sont requises par AWS Control Tower Account Factory pour interagir avec AWS IAM Identity Center.