

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.

# Sécurité dans Image Builder
<a name="image-builder-security"></a>

La sécurité du cloud AWS est la priorité absolue. En tant que AWS client, vous bénéficiez d'un centre de données et d'une architecture réseau conçus pour répondre aux exigences des entreprises les plus sensibles en matière de sécurité.

La sécurité est une responsabilité partagée entre vous AWS et vous. Le [modèle de responsabilité partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) décrit ceci comme la sécurité *du* cloud et la sécurité *dans* le cloud :
+ **Sécurité du cloud** : AWS est responsable de la protection de l'infrastructure qui fonctionne Services AWS dans le AWS cloud. AWS vous fournit également des services que vous pouvez utiliser en toute sécurité. Des auditeurs tiers testent et vérifient régulièrement l'efficacité de notre sécurité dans le cadre des programmes de [AWS conformité Programmes](https://aws.amazon.com/compliance/programs/) de de conformité. Pour en savoir plus sur les programmes de conformité qui s'appliquent à EC2 Image Builder, [Services AWS voir Scope by Compliance ](https://aws.amazon.com/compliance/services-in-scope/) Program.
+ **Sécurité dans le cloud** — Votre responsabilité est déterminée par le AWS service que vous utilisez. Vous êtes également responsable d’autres facteurs, y compris de la sensibilité de vos données, des exigences de votre entreprise, ainsi que de la législation et de la réglementation applicables. 

Cette documentation vous aide à comprendre comment appliquer le modèle de responsabilité partagée lors de l'utilisation d'Image Builder. Les rubriques suivantes expliquent comment configurer Image Builder pour répondre à vos objectifs de sécurité et de conformité. Vous apprendrez également à utiliser d'autres outils Services AWS qui vous aideront à surveiller et à sécuriser vos ressources Image Builder. 

**Topics**
+ [Protection des données et modèle de responsabilité AWS partagée dans Image Builder](data-protection.md)
+ [Intégration de la gestion des identités et des accès pour Image Builder](security-iam.md)
+ [Validation de conformité pour Image Builder](compliance.md)
+ [Redondance et résilience des données dans Image Builder](disaster-recovery-resiliency.md)
+ [Sécurité de l'infrastructure dans Image Builder](infrastructure-security.md)
+ [Gestion des correctifs pour les images Image Builder](security-patch-management.md)
+ [Bonnes pratiques de sécurité pour Image Builder](security-best-practices.md)

# Protection des données et modèle de responsabilité AWS partagée dans Image Builder
<a name="data-protection"></a>

Le [modèle de responsabilité AWS partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) s'applique à la protection des données dans EC2 Image Builder. Comme décrit dans ce modèle, AWS est chargé de protéger l'infrastructure mondiale qui gère tous les AWS Cloud. La gestion du contrôle de votre contenu hébergé sur cette infrastructure relève de votre responsabilité. Vous êtes également responsable des tâches de configuration et de gestion de la sécurité des Services AWS que vous utilisez. Pour plus d’informations sur la confidentialité des données, consultez [Questions fréquentes (FAQ) sur la confidentialité des données](https://aws.amazon.com/compliance/data-privacy-faq/). Pour en savoir plus sur la protection des données en Europe, consultez le billet de blog [Modèle de responsabilité partagée d’AWS et RGPD (Règlement général sur la protection des données)](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) sur le *Blog de sécuritéAWS *.

À des fins de protection des données, nous vous recommandons de protéger les Compte AWS informations d'identification et de configurer les utilisateurs individuels avec AWS IAM Identity Center ou Gestion des identités et des accès AWS (IAM). Ainsi, chaque utilisateur se voit attribuer uniquement les autorisations nécessaires pour exécuter ses tâches. Nous vous recommandons également de sécuriser vos données comme indiqué ci-dessous :
+ Utilisez l’authentification multifactorielle (MFA) avec chaque compte.
+  SSL/TLS À utiliser pour communiquer avec AWS les ressources. Nous exigeons TLS 1.2 et recommandons TLS 1.3.
+ Configurez l'API et la journalisation de l'activité des utilisateurs avec AWS CloudTrail. Pour plus d'informations sur l'utilisation des CloudTrail sentiers pour capturer AWS des activités, consultez la section [Utilisation des CloudTrail sentiers](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) dans le *guide de AWS CloudTrail l'utilisateur*.
+ Utilisez des solutions de AWS chiffrement, ainsi que tous les contrôles de sécurité par défaut qu'ils contiennent Services AWS.
+ Utilisez des services de sécurité gérés avancés tels qu’Amazon Macie, qui contribuent à la découverte et à la sécurisation des données sensibles stockées dans Amazon S3.
+ Si vous avez besoin de modules cryptographiques validés par la norme FIPS 140-3 pour accéder AWS via une interface de ligne de commande ou une API, utilisez un point de terminaison FIPS. Pour plus d’informations sur les points de terminaison FIPS disponibles, consultez [Norme FIPS (Federal Information Processing Standard) 140-3](https://aws.amazon.com/compliance/fips/).

Nous vous recommandons fortement de ne jamais placer d’informations confidentielles ou sensibles, telles que les adresses e-mail de vos clients, dans des balises ou des champs de texte libre tels que le champ **Nom**. Cela inclut lorsque vous travaillez avec Image Builder ou autre Services AWS à l'aide de la console, de l'API ou AWS SDKs. AWS CLI Toutes les données que vous entrez dans des balises ou des champs de texte de forme libre utilisés pour les noms peuvent être utilisées à des fins de facturation ou dans les journaux de diagnostic. Si vous fournissez une adresse URL à un serveur externe, nous vous recommandons fortement de ne pas inclure d’informations d’identification dans l’adresse URL permettant de valider votre demande adressée à ce serveur.

## Chiffrement et gestion des clés dans Image Builder
<a name="ib-encryption"></a>

Image Builder chiffre les données en transit et au repos par défaut à l'aide d'une clé KMS appartenant au service, sauf dans les cas suivants :
+ **Composants personnalisés** : Image Builder chiffre les composants personnalisés à l'aide de votre clé KMS par défaut ou d'une clé KMS appartenant au service.
+ **Flux de travail d'**images — Image Builder peut chiffrer vos flux de travail d'images à l'aide d'une clé gérée par le client si vous spécifiez la clé lors de la création du flux de travail. Image Builder gère le chiffrement et le déchiffrement à l'aide de votre clé afin d'exécuter les flux de travail que vous avez configurés pour vos images.

Vous pouvez gérer vos propres clés via AWS KMS. Toutefois, vous n'êtes pas autorisé à gérer la clé KMS Image Builder détenue par Image Builder. Pour plus d'informations sur la gestion de vos clés KMS avec AWS Key Management Service, consultez [Getting Started](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html) dans le guide du AWS Key Management Service développeur.

**Contexte de chiffrement**  
Pour fournir un contrôle supplémentaire de l'intégrité et de l'authenticité de vos données chiffrées, vous avez la possibilité d'inclure un [contexte de chiffrement](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) lorsque vous chiffrez les données. Lorsqu'une ressource est chiffrée avec un contexte de chiffrement, lie AWS KMS cryptographiquement le contexte au texte chiffré. La ressource ne peut être déchiffrée que si le demandeur fournit une correspondance exacte, distinguant majuscules et minuscules, pour le contexte.

Les exemples de politique présentés dans cette section utilisent un contexte de chiffrement similaire à l'Amazon Resource Name (ARN) d'une ressource de flux de travail Image Builder.

### Chiffrez les flux de production d'images à l'aide d'une clé gérée par le client
<a name="ib-workflow-encrypt-cmk"></a>

Pour ajouter une couche de protection, vous pouvez chiffrer les ressources de votre flux de travail Image Builder avec votre propre clé gérée par le client. Si vous utilisez votre clé gérée par le client pour chiffrer les flux de travail Image Builder que vous créez, vous devez autoriser l'accès dans la politique des clés pour qu'Image Builder utilise votre clé lorsqu'il chiffre et déchiffre les ressources du flux de travail. Vous pouvez supprimer cet accès à tout moment. Cependant, Image Builder n'aura accès à aucun flux de travail déjà chiffré si vous révoquez l'accès à la clé.

Le processus pour autoriser Image Builder à utiliser votre clé gérée par le client comporte deux étapes, comme suit :

**Étape 1 : ajouter des autorisations politiques clés pour les flux de travail Image Builder**  
Pour permettre à Image Builder de chiffrer et de déchiffrer les ressources de flux de travail lorsqu'il crée ou utilise ces flux de travail, vous devez spécifier des autorisations dans la politique de clé KMS.

Cet exemple de politique clé accorde l'accès aux pipelines Image Builder afin de chiffrer les ressources du flux de travail pendant le processus de création et de déchiffrer les ressources du flux de travail pour les utiliser. La politique accorde également l'accès aux principaux administrateurs. Le contexte de chiffrement et la spécification des ressources utilisent un caractère générique pour couvrir toutes les régions dans lesquelles vous disposez de ressources de flux de travail.

Comme condition préalable à l'utilisation de flux de travail par image, vous avez créé un rôle d'exécution de flux de travail IAM qui autorise Image Builder à exécuter des actions de flux de travail. Le principal de la première instruction présenté dans l'exemple de politique clé présenté ici doit spécifier votre rôle d'exécution du flux de travail IAM.

Pour plus d'informations sur les clés gérées par le client, consultez [la section Gestion de l'accès aux clés gérées par le client](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) dans le *Guide du AWS Key Management Service développeur*.

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "Allow access to build images with encrypted workflow",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::111122223333:role/YourImageBuilderExecutionRole"
			},
			"Action": [
				"kms:Decrypt",
				"kms:GenerateDataKey"
			],
			"Resource": "*",
			"Condition": {
				"StringLike": {
					"kms:EncryptionContext:aws:imagebuilder:arn": "arn:aws:imagebuilder:*:111122223333:workflow/*"
				}
			}
		},
		{
			"Sid": "Allow access for key administrators",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::111122223333:root"
			},
			"Action": [
				"kms:*"
			],
			"Resource": "arn:aws:kms:*:111122223333:key/*"
		}
	]
}
```

------

**Étape 2 : Accorder un accès clé à votre rôle d'exécution du flux de travail**  
Le rôle IAM assumé par Image Builder pour exécuter vos flux de travail nécessite l'autorisation d'utiliser votre clé gérée par le client. Sans accès à votre clé, Image Builder ne sera pas en mesure de chiffrer ou de déchiffrer les ressources de votre flux de travail avec celle-ci.

Modifiez la politique de votre rôle d'exécution du flux de travail pour ajouter la déclaration de politique suivante.

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "AllowAccessToWorkflowKey",
			"Effect": "Allow",
			"Action": [
				"kms:Decrypt",
				"kms:GenerateDataKey"
			],
			"Resource": "arn:aws:kms:us-west-2:111122223333:key/key_ID",
			"Condition": {
				"StringLike": {
					"kms:EncryptionContext:aws:imagebuilder:arn": "arn:aws:imagebuilder:*:111122223333:workflow/*"
				}
			}
		}
	]
}
```

------

### AWS CloudTrail événements pour les flux de production d'images
<a name="ib-workflow-cloudtrail-examples"></a>

Les exemples suivants présentent des AWS CloudTrail entrées typiques pour le chiffrement et le déchiffrement des flux de travail d'images stockés avec une clé gérée par le client.

**Exemple : GenerateDataKey**  
Cet exemple montre à quoi peut ressembler un CloudTrail événement lorsqu'Image Builder appelle l'action d' AWS KMS **GenerateDataKey**API à partir de l'action d'**CreateWorkflow**API Image Builder. Image Builder doit chiffrer un nouveau flux de travail avant de créer la ressource de flux de travail.

```
{
	"eventVersion": "1.08",
	"userIdentity": {
		"type": "AssumedRole",
		"principalId": "PRINCIPALID1234567890:workflow-role-name",
		"arn": "arn:aws:sts::111122223333:assumed-role/Admin/workflow-role-name",
		"accountId": "111122223333",
		"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
		"sessionContext": {
			"sessionIssuer": {
				"type": "Role",
				"principalId": "PRINCIPALID1234567890",
				"arn": "arn:aws:iam::111122223333:role/Admin",
				"accountId": "111122223333",
				"userName": "Admin"
			},
			"webIdFederationData": {},
			"attributes": {
				"creationDate": "2023-11-21T20:29:31Z",
				"mfaAuthenticated": "false"
			}
		},
		"invokedBy": "imagebuilder.amazonaws.com"
	},
	"eventTime": "2023-11-21T20:31:03Z",
	"eventSource": "kms.amazonaws.com",
	"eventName": "GenerateDataKey",
	"awsRegion": "us-west-2",
	"sourceIPAddress": "imagebuilder.amazonaws.com",
	"userAgent": "imagebuilder.amazonaws.com",
	"requestParameters": {
		"encryptionContext": {
			"aws:imagebuilder:arn": "arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/sample-encrypted-workflow/1.0.0/*",
			"aws-crypto-public-key": "key value"
		},
		"keyId": "arn:aws:kms:us-west-2:111122223333:alias/ExampleKMSKey",
		"numberOfBytes": 32
	},
	"responseElements": null,
	"requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa",
	"eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
	"readOnly": true,
	"resources": [
		{
			"accountId": "111122223333",
			"type": "AWS::KMS::Key",
			"ARN": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEzzzzz"
		}
	],
	"eventType": "AwsApiCall",
	"managementEvent": true,
	"recipientAccountId": "111122223333",
	"eventCategory": "Management"
}
```

**Exemple : Déchiffrer**  
Cet exemple montre à quoi peut ressembler un CloudTrail événement lorsqu'Image Builder appelle l'action d' AWS KMS **Decrypt**API à partir de l'action d'**GetWorkflow**API Image Builder. Les pipelines Image Builder doivent déchiffrer une ressource de flux de travail avant de pouvoir l'utiliser.

```
{
	"eventVersion": "1.08",
	"userIdentity": {
		"type": "AssumedRole",
		"principalId": "PRINCIPALID1234567890:workflow-role-name",
		"arn": "arn:aws:sts::111122223333:assumed-role/Admin/workflow-role-name",
		"accountId": "111122223333",
		"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
		"sessionContext": {
			"sessionIssuer": {
				"type": "Role",
				"principalId": "PRINCIPALID1234567890",
				"arn": "arn:aws:iam::111122223333:role/Admin",
				"accountId": "111122223333",
				"userName": "Admin"
			},
			"webIdFederationData": {},
			"attributes": {
				"creationDate": "2023-11-21T20:29:31Z",
				"mfaAuthenticated": "false"
			}
		},
		"invokedBy": "imagebuilder.amazonaws.com"
	},
	"eventTime": "2023-11-21T20:34:25Z",
	"eventSource": "kms.amazonaws.com",
	"eventName": "Decrypt",
	"awsRegion": "us-west-2",
	"sourceIPAddress": "imagebuilder.amazonaws.com",
	"userAgent": "imagebuilder.amazonaws.com",
	"requestParameters": {
		"keyId": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEzzzzz",
		"encryptionAlgorithm": "SYMMETRIC_DEFAULT",
		"encryptionContext": {
			"aws:imagebuilder:arn": "arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/sample-encrypted-workflow/1.0.0/*",
			"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1=="
		}
	},
	"responseElements": null,
	"requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb",
	"eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
	"readOnly": true,
	"resources": [
		{
			"accountId": "111122223333",
			"type": "AWS::KMS::Key",
			"ARN": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEzzzzz"
		}
	],
	"eventType": "AwsApiCall",
	"managementEvent": true,
	"recipientAccountId": "111122223333",
	"eventCategory": "Management"
}
```

## Stockage des données dans Image Builder
<a name="ib-data-storage"></a>

Image Builder ne stocke aucun de vos journaux dans le service. Tous les journaux sont enregistrés sur votre instance Amazon EC2 utilisée pour créer l'image, ou dans vos journaux d'automatisation de Systems Manager.

## Confidentialité du trafic interréseau dans Image Builder
<a name="image-builder-internetwork"></a>

Les connexions sont sécurisées entre Image Builder et les sites locaux, entre les régions AZs au sein d'une même AWS région et entre les AWS régions via HTTPS. Il n'existe aucun lien direct entre les comptes.

# Intégration de la gestion des identités et des accès pour Image Builder
<a name="security-iam"></a>

**Topics**
+ [Public ciblé](#security-iam-audience)
+ [Authentification par des identités](#security-iam-authentication)
+ [Comment Image Builder fonctionne avec les politiques et les rôles IAM](security_iam_service-with-iam.md)
+ [Gérez les périmètres de données pour l'accès au téléchargement du bucket S3 dans Image Builder](security-iam-data-perimeter.md)
+ [Politiques basées sur l'identité d'Image Builder](security-iam-identity-based-policies.md)
+ [Autorisations IAM pour les flux de travail personnalisés](#security-iam-custom-workflows)
+ [Politiques basées sur les ressources d'Image Builder](#security-iam-resource-based-policies)
+ [Utiliser des politiques AWS gérées pour EC2 Image Builder](security-iam-awsmanpol.md)
+ [Utiliser des rôles liés à un service IAM pour Image Builder](image-builder-service-linked-role.md)
+ [Résoudre les problèmes d'IAM dans Image Builder](security_iam_troubleshoot.md)

## Public ciblé
<a name="security-iam-audience"></a>

La façon dont vous utilisez Gestion des identités et des accès AWS (IAM) varie en fonction de votre rôle :
+ **Utilisateur du service** : demandez des autorisations à votre administrateur si vous ne pouvez pas accéder aux fonctionnalités (voir [Résoudre les problèmes d'IAM dans Image Builder](security_iam_troubleshoot.md))
+ **Administrateur du service** : déterminez l’accès des utilisateurs et soumettez les demandes d’autorisation (voir [Comment Image Builder fonctionne avec les politiques et les rôles IAM](security_iam_service-with-iam.md))
+ **Administrateur IAM** : rédigez des politiques pour gérer l’accès (voir [Politiques basées sur l'identité d'Image Builder](security_iam_service-with-iam.md#security_iam_id-based-policy-examples))

## Authentification par des identités
<a name="security-iam-authentication"></a>

Pour obtenir des informations détaillées sur la manière de fournir une authentification aux personnes et aux processus de votre entreprise Compte AWS, consultez la section [Identités](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) dans le *guide de l'utilisateur IAM*. 

# Comment Image Builder fonctionne avec les politiques et les rôles IAM
<a name="security_iam_service-with-iam"></a>

Avant d'utiliser IAM pour gérer l'accès à Image Builder, découvrez quelles fonctionnalités IAM peuvent être utilisées avec Image Builder.

Pour obtenir une vue d'ensemble de la façon dont Image Builder et les autres AWS services fonctionnent avec la plupart des fonctionnalités IAM, consultez les [AWS services compatibles avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dans le guide de l'utilisateur *IAM*.

## Politiques basées sur l'identité pour Image Builder
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Prend en charge les politiques basées sur l’identité :** oui

Les politiques basées sur l’identité sont des documents de politique d’autorisations JSON que vous pouvez attacher à une identité telle qu’un utilisateur, un groupe d’utilisateurs ou un rôle IAM. Ces politiques contrôlent quel type d’actions des utilisateurs et des rôles peuvent exécuter, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, consultez [Définition d’autorisations IAM personnalisées avec des politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le *Guide de l’utilisateur IAM*.

Avec les politiques IAM basées sur l’identité, vous pouvez spécifier des actions et ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. Pour découvrir tous les éléments que vous utilisez dans une politique JSON, consultez [Références des éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le *Guide de l’utilisateur IAM*.

### Exemples de politiques basées sur l'identité pour Image Builder
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Pour consulter des exemples de politiques basées sur l'identité d'Image Builder, consultez. [Politiques basées sur l'identité d'Image Builder](#security_iam_id-based-policy-examples)

## Politiques basées sur les ressources dans Image Builder
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Prend en charge les politiques basées sur les ressources** : oui

Les politiques basées sur les ressources sont des documents de politique JSON que vous attachez à une ressource. Par exemple, les *politiques de confiance de rôle* IAM et les *politiques de compartiment* Amazon S3 sont des politiques basées sur les ressources. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Pour la ressource dans laquelle se trouve la politique, cette dernière définit quel type d’actions un principal spécifié peut effectuer sur cette ressource et dans quelles conditions. Vous devez [spécifier un principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dans une politique basée sur les ressources. Les principaux peuvent inclure des comptes, des utilisateurs, des rôles, des utilisateurs fédérés ou. Services AWS

Pour permettre un accès intercompte, vous pouvez spécifier un compte entier ou des entités IAM dans un autre compte en tant que principal dans une politique basée sur les ressources. Pour plus d’informations, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

## Actions politiques pour Image Builder
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Prend en charge les actions de politique :** oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Action` d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Intégration d’actions dans une politique afin d’accorder l’autorisation d’exécuter les opérations associées.



Pour consulter la liste des actions d'Image Builder, consultez la section [Actions définies par EC2 Image](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-actions-as-permissions) Builder dans *le Service Authorization Reference*.

Les actions de stratégie dans Image Builder utilisent le préfixe suivant avant l'action :

```
imagebuilder
```

Pour indiquer plusieurs actions dans une seule déclaration, séparez-les par des virgules.

```
"Action": [
	"imagebuilder:action1",
	"imagebuilder:action2"
	]
```





Pour consulter des exemples de politiques basées sur l'identité d'Image Builder, consultez. [Politiques basées sur l'identité d'Image Builder](#security_iam_id-based-policy-examples)

## Ressources relatives aux politiques pour Image Builder
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Prend en charge les ressources de politique :** oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément de politique JSON `Resource` indique le ou les objets auxquels l’action s’applique. Il est recommandé de définir une ressource à l’aide de son [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, utilisez un caractère générique (\$1) afin d’indiquer que l’instruction s’applique à toutes les ressources.

```
"Resource": "*"
```

Pour consulter la liste des types de ressources Image Builder et leurs caractéristiques ARNs, consultez la section [Ressources définies par EC2 Image](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-resources-for-iam-policies) Builder dans *le Service Authorization Reference*. Pour savoir avec quelles actions vous pouvez spécifier l'ARN de chaque ressource, voir [Actions définies par EC2 Image Builder](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-actions-as-permissions).

Pour consulter des exemples de politiques basées sur l'identité d'Image Builder, consultez. [Politiques basées sur l'identité d'Image Builder](#security_iam_id-based-policy-examples)

## Clés de conditions de politique pour Image Builder
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Prend en charge les clés de condition de politique spécifiques au service :** oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Condition` indique à quel moment les instructions s’exécutent en fonction de critères définis. Vous pouvez créer des expressions conditionnelles qui utilisent des [opérateurs de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande. Pour voir toutes les clés de condition AWS globales, voir les clés de [contexte de condition AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dans le *guide de l'utilisateur IAM*.

Pour consulter la liste des clés de condition d'Image Builder, consultez la section [Clés de condition pour EC2 Image](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-policy-keys) Builder dans *le Service Authorization Reference*. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, voir [Actions définies par EC2 Image Builder](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-actions-as-permissions).

Pour consulter des exemples de politiques basées sur l'identité d'Image Builder, consultez. [Politiques basées sur l'identité d'Image Builder](#security_iam_id-based-policy-examples)

## ACLs dans Image Builder
<a name="security_iam_service-with-iam-acls"></a>

**Supports ACLs :** Non 

Les listes de contrôle d'accès (ACLs) contrôlent les principaux (membres du compte, utilisateurs ou rôles) autorisés à accéder à une ressource. ACLs sont similaires aux politiques basées sur les ressources, bien qu'elles n'utilisent pas le format de document de politique JSON.

## ABAC avec Image Builder
<a name="security_iam_service-with-iam-tags"></a>

**Prend en charge ABAC (identifications dans les politiques) :** partiellement

Le contrôle d’accès par attributs (ABAC) est une stratégie d’autorisation qui définit les autorisations en fonction des attributs nommés balise. Vous pouvez associer des balises aux entités et aux AWS ressources IAM, puis concevoir des politiques ABAC pour autoriser les opérations lorsque la balise du principal correspond à la balise de la ressource.

Pour contrôler l’accès basé sur des étiquettes, vous devez fournir les informations d’étiquette dans l’[élément de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) d’une politique utilisant les clés de condition `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` ou `aws:TagKeys`.

Si un service prend en charge les trois clés de condition pour tous les types de ressources, alors la valeur pour ce service est **Oui**. Si un service prend en charge les trois clés de condition pour certains types de ressources uniquement, la valeur est **Partielle**.

Pour plus d’informations sur ABAC, consultez [Définition d’autorisations avec l’autorisation ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) dans le *Guide de l’utilisateur IAM*. Pour accéder à un didacticiel décrivant les étapes de configuration de l’ABAC, consultez [Utilisation du contrôle d’accès par attributs (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) dans le *Guide de l’utilisateur IAM*.

## Utilisation d'informations d'identification temporaires avec Image Builder
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Prend en charge les informations d’identification temporaires :** oui

Les informations d'identification temporaires fournissent un accès à court terme aux AWS ressources et sont automatiquement créées lorsque vous utilisez la fédération ou que vous changez de rôle. AWS recommande de générer dynamiquement des informations d'identification temporaires au lieu d'utiliser des clés d'accès à long terme. Pour plus d’informations, consultez [Informations d’identification de sécurité temporaires dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) et [Services AWS compatibles avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dans le *Guide de l’utilisateur IAM*.

## Autorisations principales interservices pour Image Builder
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Prend en charge les sessions d’accès direct (FAS) :** oui

 Les sessions d'accès direct (FAS) utilisent les autorisations du principal appelant et Service AWS, combinées Service AWS à la demande d'envoi de demandes aux services en aval. Pour plus de détails sur la politique relative à la transmission de demandes FAS, consultez la section [Sessions de transmission d’accès](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Rôles de service pour Image Builder
<a name="security_iam_service-with-iam-roles-service"></a>

**Prend en charge les rôles de service :** oui

 Un rôle de service est un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) qu’un service endosse pour accomplir des actions en votre nom. Un administrateur IAM peut créer, modifier et supprimer un rôle de service à partir d’IAM. Pour plus d’informations, consultez [Création d’un rôle pour la délégation d’autorisations à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le *Guide de l’utilisateur IAM*. 

**Avertissement**  
La modification des autorisations associées à un rôle de service peut perturber les fonctionnalités d'Image Builder. Modifiez les rôles de service uniquement lorsque Image Builder fournit des instructions à cet effet.

## Rôles liés à un service pour Image Builder
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Prend en charge les rôles liés à un service :** oui

 Un rôle lié à un service est un type de rôle de service lié à un. Service AWS Le service peut endosser le rôle afin d’effectuer une action en votre nom. Les rôles liés à un service apparaissent dans votre Compte AWS répertoire et appartiennent au service. Un administrateur IAM peut consulter, mais ne peut pas modifier, les autorisations concernant les rôles liés à un service. 

Pour plus de détails sur le rôle lié au service Image Builder, consultez. [Utiliser des rôles liés à un service IAM pour Image Builder](image-builder-service-linked-role.md)

## Politiques basées sur l'identité d'Image Builder
<a name="security_iam_id-based-policy-examples"></a>

Avec les politiques basées sur l’identité IAM, vous pouvez spécifier des actions et des ressources autorisées ou refusées ainsi que les conditions selon lesquelles les actions sont autorisées ou refusées. Image Builder prend en charge des actions, des ressources et des clés de condition spécifiques. Pour plus d'informations sur tous les éléments que vous utilisez dans une politique JSON, consultez la section [Actions, ressources et clés de condition pour Amazon EC2 Image Builder](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2imagebuilder.html) dans le guide de l'utilisateur *IAM*.

### Actions
<a name="sec-iam-ib-id-based-policies-actions"></a>

Les actions de politique dans Image Builder utilisent le préfixe suivant avant l'action : `imagebuilder:` Les déclarations de politique doivent inclure un élément `Action` ou `NotAction`. Image Builder définit son propre ensemble d'actions décrivant les tâches que vous pouvez effectuer avec ce service.

Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules comme suit :

```
"Action": [
	"imagebuilder:action1",
	"imagebuilder:action2"
]
```

Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques (\$1). Par exemple, pour spécifier toutes les actions qui commencent par le mot `List`, incluez l’action suivante :

```
"Action": "imagebuilder:List*"
```

Pour consulter la liste des actions d'Image Builder, reportez-vous à la section [Actions, ressources et clés de condition Services AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) dans le *guide de l'utilisateur d'IAM*.

### Gestion de l’accès à l’aide de politiques
<a name="security-iam-manage-access"></a>

Pour obtenir des informations détaillées sur la façon de gérer l'accès en AWS créant des politiques et en les associant aux identités ou aux AWS ressources IAM, consultez la section [Politiques et autorisations](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) du guide de l'*utilisateur IAM*. 

Le rôle IAM que vous associez à votre profil d'instance doit être autorisé à exécuter les composants de génération et de test inclus dans votre image. Les politiques de rôle IAM suivantes doivent être associées au rôle IAM associé au profil d'instance :
+ EC2InstanceProfileForImageBuilder
+ EC2InstanceProfileForImageBuilderECRContainerBuilds
+ AmazonSSMManagedInstanceCore

### Ressources
<a name="sec-iam-ib-id-based-policies-resources"></a>

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément de politique JSON `Resource` indique le ou les objets auxquels l’action s’applique. Il est recommandé de définir une ressource à l’aide de son [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, utilisez un caractère générique (\$1) afin d’indiquer que l’instruction s’applique à toutes les ressources.

```
"Resource": "*"
```

L'ARN est composé de plusieurs nœuds qui permettent d'identifier la ressource et de garantir que le nom est unique. Les derniers nœuds du nom incluent plusieurs variantes de mise en forme pour le type, le nom et l'ID de la ressource. Lorsque Image Builder crée une ressource, il utilise le format suivant :

`arn:aws:imagebuilder:region:owner:resource-type/resource-name/version/build-version`

**Note**  
La version de compilation n'est pas toujours incluse dans l'ARN de la ressource. Cependant, certaines opérations d'API, telles que [GetComponent](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_GetComponent.html), nécessitent la version de compilation pour identifier de manière unique une ressource à récupérer.

Pour les ressources utilisées par Image Builder dans ses recettes, telles que l'image de base ou les composants, le nœud propriétaire peut être l'un des suivants :
+ Le numéro de compte du propriétaire de la ressource
+ Pour les ressources gérées par Amazon : `aws`
+ Pour les AWS Marketplace ressources : `aws-marketplace`

L'exemple suivant montre l'ARN d'un composant géré pour installer l' CloudWatch agent Amazon sous Linux :

```
arn:aws:imagebuilder:us-east-1:aws:component/amazon-cloudwatch-agent-linux/1.0.1/1
```

Cet exemple montre l'ARN d'un composant géré fictif provenant du : AWS Marketplace

```
arn:aws:imagebuilder:us-east-1:aws-marketplace:component/example-linux-software-component/1.0.1
```

Pour plus d'informations sur l'obtention d'une liste de composants, notamment sur l'utilisation d'un filtre de propriété, consultez[Lister les composants d'Image Builder](component-details.md#list-components).

**Exemple ARNs**  
Voici quelques exemples de ressources ARNs que vous pouvez spécifier dans une politique IAM :
+ ARN de l'instance

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:instance/i-1234567890abcdef0"
  ```
+ Exemple de code générique (\$1) pour spécifier toutes les instances d'un compte donné

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:instance/*"
  ```
+ Exemple de caractère générique (\$1) pour spécifier toutes les versions d'un flux de travail d'images géré

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:aws:workflow/build/build-image/*"
  ```
+ ARN de l'image gérée

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:aws:image/amazon-linux-2-arm64/2024.12.17/1"
  ```
+ Exemple de caractère générique (\$1) pour spécifier toutes les versions d'une image gérée

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:aws:image/amazon-linux-2-arm64/x.x.x"
  ```

De nombreuses actions de l'API EC2 Image Builder impliquent plusieurs ressources. Pour spécifier plusieurs ressources dans une seule instruction, séparez-les ARNs par des virgules. 

```
"Resource": [
	  "resource1",
	  "resource2"
]
```

### Clés de condition
<a name="sec-iam-ib-id-based-policies-conditionkeys"></a>

Image Builder fournit des clés de condition spécifiques au service et prend en charge l'utilisation de certaines clés de condition globales. Pour voir toutes les clés de condition AWS globales, consultez la section [Clés contextuelles de condition AWS globale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dans le *guide de l'utilisateur IAM*. Les clés de condition spécifiques au service suivantes sont fournies.

#### générateur d'images : CreatedResourceTagKeys
<a name="image-builder-security-createdresourcetagkeys"></a>

Fonctionne avec des [opérateurs de chaîne](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Utilisez cette clé pour filtrer l'accès en fonction de la présence de clés de balise dans la demande. Cela vous permet de gérer les ressources créées par Image Builder.

**Disponibilité** — Cette clé n'est disponible que pour le `CreateInfrastrucutreConfiguration` et `UpdateInfrastructureConfiguration` APIs.

#### générateur d'images :/CreatedResourceTag<key>
<a name="image-builder-security-createdresourcetag"></a>

Fonctionne avec des [opérateurs de chaîne](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Utilisez cette clé pour filtrer l'accès en fonction des paires clé-valeur de balise associées à la ressource créée par Image Builder. Cela vous permet de gérer les ressources d'Image Builder via des balises définies.

**Disponibilité** — Cette clé n'est disponible que pour le `CreateInfrastrucutreConfiguration` et `UpdateInfrastructureConfiguration` APIs.

#### générateur d'images : LifecyclePolicyResourceType
<a name="image-builder-security-lifecyclepolicyresourcetype"></a>

Fonctionne avec des [opérateurs de chaîne](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Utilisez cette clé pour filtrer l'accès en fonction du type de ressource Lifecycle spécifié dans la demande.

La valeur de cette clé peut être `AMI_IMAGE` soit`CONTAINER_IMAGE`.

**Disponibilité** — Cette clé n'est disponible que pour le `CreateLifecyclePolicy` et `UpdateLifecyclePolicy`APIs.

#### Générateur d'images : EC2 MetadataHttpTokens
<a name="image-builder-security-ec2metadatatokens"></a>

Fonctionne avec des [opérateurs de chaîne](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Utilisez cette clé pour filtrer l'accès en fonction de l'exigence de jeton HTTP de métadonnées d'instance EC2 spécifiée dans la demande.

La valeur de cette clé peut être l'une `optional` ou l'autre`required`.

**Disponibilité** — Cette clé n'est disponible que pour le `CreateInfrastrucutreConfiguration` et `UpdateInfrastructureConfiguration` APIs.

#### générateur d'images : StatusTopicArn
<a name="image-builder-security-statustopicarn"></a>

Fonctionne avec des [opérateurs de chaîne](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Utilisez cette touche pour filtrer l'accès par l'ARN de la rubrique SNS dans la demande à laquelle les notifications d'état du terminal seront publiées.

**Disponibilité** — Cette clé n'est disponible que pour le `CreateInfrastrucutreConfiguration` et `UpdateInfrastructureConfiguration` APIs.

### Exemples
<a name="sec-iam-ib-id-based-policies-examples"></a>



Pour consulter des exemples de politiques basées sur l'identité d'Image Builder, consultez. [Politiques basées sur l'identité d'Image Builder](security-iam-identity-based-policies.md)

## Politiques basées sur les ressources d'Image Builder
<a name="security-iam-service-with-ib-resource-based-policies"></a>

Les politiques basées sur les ressources spécifient les actions qu'un principal spécifié peut effectuer sur la ressource Image Builder et dans quelles conditions. Image Builder prend en charge les politiques d'autorisation basées sur les ressources pour les composants, les images et les recettes d'images. Les politiques basées sur les ressources permettent d'accorder une autorisation à d'autres comptes en fonction des ressources. Vous pouvez également utiliser une politique basée sur les ressources pour autoriser un AWS service à accéder à vos composants, images et recettes d'images.

Pour plus d'informations sur la façon d'associer une politique basée sur les ressources à un composant, à une image ou à une recette d'image, consultez. [Partagez les ressources d'Image Builder avec AWS RAM](manage-shared-resources.md)

**Note**  
Lorsque vous mettez à jour une politique de ressources à l'aide d'Image Builder, la mise à jour apparaît dans la console RAM.

## Autorisation basée sur les balises Image Builder
<a name="security-iam-service-with-ib-tags"></a>

Vous pouvez associer des balises aux ressources d'Image Builder ou transmettre des balises dans une demande à Image Builder. Pour contrôler l’accès basé sur des étiquettes, vous devez fournir les informations d’étiquette dans l’[élément de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) d’une politique utilisant les clés de condition `imagebuilder:ResourceTag/key-name`, `aws:RequestTag/key-name` ou `aws:TagKeys`. Pour plus d'informations sur le balisage des ressources Image Builder, consultez[Marquez une ressource depuis AWS CLI](tag-resources.md#cli-tag-resource).

## Rôles IAM dans Image Builder
<a name="security-iam-service-with-ib-roles"></a>

Un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) est une entité au sein de vous Compte AWS qui possède des autorisations spécifiques.

### Utilisation d'informations d'identification temporaires avec Image Builder
<a name="security-iam-service-with-ib-roles-tempcreds"></a>

Vous pouvez utiliser des informations d’identification temporaires pour vous connecter à l’aide de la fédération, endosser un rôle IAM ou encore pour endosser un rôle intercompte. Vous obtenez des informations d'identification de sécurité temporaires en appelant des opérations d' AWS STS API telles que [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)ou [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

### Rôles liés à un service
<a name="sec-iam-ib-service-linked-roles"></a>

Les [rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) permettent Services AWS d'accéder aux ressources d'autres services pour effectuer une action en votre nom. Les rôles liés à un service s’affichent dans votre compte IAM et sont la propriété du service. Un utilisateur disposant d'un accès administratif peut consulter mais pas modifier les autorisations pour les rôles liés à un service.

Image Builder prend en charge les rôles liés à un service. Pour plus d'informations sur la création ou la gestion des rôles liés au service Image Builder, consultez. [Utiliser des rôles liés à un service IAM pour Image Builder](image-builder-service-linked-role.md)

### Rôles du service
<a name="sec-iam-ib-service-roles"></a>

Cette fonction permet à un service d’endosser une [fonction du service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) en votre nom. Ce rôle autorise le service à accéder à des ressources d’autres services pour effectuer une action en votre nom. Les rôles de service s’affichent dans votre compte IAM et sont la propriété du compte. Cela signifie qu'un utilisateur disposant d'un accès administratif peut modifier les autorisations associées à ce rôle. Toutefois, une telle action peut perturber le bon fonctionnement du service.

# Gérez les périmètres de données pour l'accès au téléchargement du bucket S3 dans Image Builder
<a name="security-iam-data-perimeter"></a>

EC2 Image Builder gère deux catégories AWS de compartiments S3 appartenant au service qui contiennent les ressources téléchargeables nécessaires pour exécuter les charges de travail Image Builder sur votre compte. Si vous utilisez des périmètres de données pour contrôler l'accès à Amazon S3 dans votre environnement, vous devrez peut-être autoriser explicitement l'accès à ces compartiments. Vous pouvez utiliser l'ARN ou l'URL du compartiment pour autoriser la mise en liste de ces compartiments, en fonction de la manière dont vous contrôlez l'accès à Amazon S3.

**Scripts d'amorçage pour la gestion des composants (obligatoire)**  
Ce compartiment S3 contient des scripts d'amorçage permettant de configurer l' AWSTOE application sur les instances EC2 utilisées pour créer des images. Image Builder a besoin d'un accès pour télécharger les scripts nécessaires à la création et au test de nouvelles images.  
+ **ARN du compartiment S3 :** `arn:<AWS partition>:s3:::ec2imagebuilder-managed-resources-<AWS Region>-prod`
+ **URL du compartiment S3 :** `https://ec2imagebuilder-managed-resources-<AWS Region>.s3.<AWS Region>.<AWS partition-specific domain name>`

**Composants gérés**  
Ce compartiment S3 contient les charges utiles des packages pour les composants gérés par Amazon. Image Builder a besoin d'un accès pour télécharger tous les composants gérés configurés dans vos recettes.  
+ **ARN du compartiment S3 :** `arn:<AWS partition>:s3:::ec2imagebuilder-toe-<AWS Region>-prod`
+ **URL du compartiment S3 :** `https://ec2imagebuilder-toe-<AWS Region>.s3.<AWS Region>.<AWS partition-specific domain name>`

# Politiques basées sur l'identité d'Image Builder
<a name="security-iam-identity-based-policies"></a>

**Topics**
+ [Bonnes pratiques en matière de politiques basées sur l'identité](#security-iam-service-policy-best-practices)
+ [Utilisation de la console Image Builder](#sec-iam-id-based-policies-using-console)

## Bonnes pratiques en matière de politiques basées sur l'identité
<a name="security-iam-service-policy-best-practices"></a>

Les politiques basées sur l'identité déterminent si quelqu'un peut créer, accéder ou supprimer des ressources Image Builder dans votre compte. Ces actions peuvent entraîner des frais pour votre Compte AWS. Lorsque vous créez ou modifiez des politiques basées sur l’identité, suivez ces instructions et recommandations :
+ **Commencez AWS par les politiques gérées et passez aux autorisations du moindre privilège : pour commencer à accorder des autorisations** à vos utilisateurs et à vos charges de travail, utilisez les *politiques AWS gérées* qui accordent des autorisations pour de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Nous vous recommandons de réduire davantage les autorisations en définissant des politiques gérées par les AWS clients spécifiques à vos cas d'utilisation. Pour plus d’informations, consultez [politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [politiques gérées par AWS pour les activités professionnelles](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dans le *Guide de l’utilisateur IAM*.
+ **Accordez les autorisations de moindre privilège** : lorsque vous définissez des autorisations avec des politiques IAM, accordez uniquement les autorisations nécessaires à l’exécution d’une seule tâche. Pour ce faire, vous définissez les actions qui peuvent être entreprises sur des ressources spécifiques dans des conditions spécifiques, également appelées *autorisations de moindre privilège*. Pour plus d’informations sur l’utilisation d’IAM pour appliquer des autorisations, consultez [politiques et autorisations dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez des conditions dans les politiques IAM pour restreindre davantage l’accès** : vous pouvez ajouter une condition à vos politiques afin de limiter l’accès aux actions et aux ressources. Par exemple, vous pouvez écrire une condition de politique pour spécifier que toutes les demandes doivent être envoyées via SSL. Vous pouvez également utiliser des conditions pour accorder l'accès aux actions de service si elles sont utilisées par le biais d'un service spécifique Service AWS, tel que CloudFormation. Pour plus d’informations, consultez [Conditions pour éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez l’Analyseur d’accès IAM pour valider vos politiques IAM afin de garantir des autorisations sécurisées et fonctionnelles** : l’Analyseur d’accès IAM valide les politiques nouvelles et existantes de manière à ce que les politiques IAM respectent le langage de politique IAM (JSON) et les bonnes pratiques IAM. IAM Access Analyzer fournit plus de 100 vérifications de politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d’informations, consultez [Validation de politiques avec IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dans le *Guide de l’utilisateur IAM*.
+ **Exiger l'authentification multifactorielle (MFA**) : si vous avez un scénario qui nécessite des utilisateurs IAM ou un utilisateur root, activez l'authentification MFA pour une sécurité accrue. Compte AWS Pour exiger la MFA lorsque des opérations d’API sont appelées, ajoutez des conditions MFA à vos politiques. Pour plus d’informations, consultez [Sécurisation de l’accès aux API avec MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dans le *Guide de l’utilisateur IAM*.

Pour plus d’informations sur les bonnes pratiques dans IAM, consultez [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*.

## Utilisation de la console Image Builder
<a name="sec-iam-id-based-policies-using-console"></a>

Pour accéder à la console EC2 Image Builder, vous devez disposer d'un ensemble minimal d'autorisations. Ces autorisations vous permettent de répertorier et d'afficher des informations détaillées sur les ressources Image Builder de votre Compte AWS. Si vous créez une politique basée sur l'identité qui est plus restrictive que les autorisations minimales requises, la console ne fonctionnera pas comme prévu pour les entités (utilisateurs et rôles IAM) tributaires de cette politique.

Pour garantir que vos entités IAM peuvent utiliser la console Image Builder, vous devez leur associer l'une des politiques AWS gérées suivantes :
+ [Stratégie AWSImageBuilderReadOnlyAccess](security-iam-awsmanpol.md#sec-iam-manpol-AWSImageBuilderReadOnlyAccess)
+ [Stratégie AWSImageBuilderFullAccess](security-iam-awsmanpol.md#sec-iam-manpol-AWSImageBuilderFullAccess)

Pour plus d'informations sur les politiques gérées par Image Builder, consultez[Utiliser des politiques AWS gérées pour EC2 Image Builder](security-iam-awsmanpol.md).

**Important**  
La **AWSImageBuilderFullAccess**politique est requise pour créer le rôle lié au service Image Builder. Lorsque vous associez cette politique à une entité IAM, vous devez également associer la stratégie personnalisée suivante et inclure les ressources que vous souhaitez utiliser et qui ne figurent pas `imagebuilder` dans le nom de la ressource :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": "arn:aws:sns:*:*:*imagebuilder*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetInstanceProfile"
            ],
            "Resource": "arn:aws:iam::*:instance-profile/*imagebuilder*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::*:instance-profile/*imagebuilder*",
                "arn:aws:iam::*:role/*imagebuilder*"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ec2.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3::*:*imagebuilder*"
        }
    ]
}
```

------

Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement l'API AWS CLI ou l' AWS API. Autorisez plutôt l’accès à uniquement aux actions qui correspondent à l’opération d’API que vous tentez d’effectuer.

## Autorisations IAM pour les flux de travail personnalisés
<a name="security-iam-custom-workflows"></a>

Lorsque vous utilisez des flux de travail personnalisés comportant des étapes spécifiques[RegisterImage](wfdoc-step-actions.md#wfdoc-step-action-register-image), par exemple, des autorisations IAM supplémentaires peuvent être requises au-delà des politiques gérées par Image Builder standard. Cette section décrit les autorisations supplémentaires nécessaires pour les actions d'étapes de flux de travail personnalisées.

### RegisterImage autorisations relatives aux actions par étapes
<a name="security-iam-registerimage-permissions"></a>

L'action de l'`RegisterImage`étape nécessite des autorisations Amazon EC2 spécifiques pour enregistrer AMIs et éventuellement récupérer les balises de capture instantanée. Lorsque vous utilisez le `includeSnapshotTags` paramètre, des autorisations supplémentaires sont nécessaires pour décrire les instantanés.

**Autorisations requises pour effectuer une action par RegisterImage étapes :**

Pour toutes les ressources, autorisez les actions suivantes :
+ `ec2:RegisterImage`
+ `ec2:DescribeSnapshots`

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:RegisterImage",
                "ec2:DescribeSnapshots"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:*::image/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "RegisterImage"
                }
            }
        }
    ]
}
```

**Détails de l'autorisation :**
+ `ec2:RegisterImage`- Nécessaire pour enregistrer de nouvelles données AMIs à partir de snapshots
+ `ec2:DescribeSnapshots`- Nécessaire lors de l'utilisation `includeSnapshotTags: true` pour récupérer des balises de capture en vue de les fusionner avec des balises AMI
+ `ec2:CreateTags`- Nécessaire pour appliquer des balises à l'AMI enregistrée, y compris les balises par défaut d'Image Builder et les balises de capture d'écran fusionnées

**Note**  
L'`ec2:DescribeSnapshots`autorisation n'est utilisée que lorsque le `includeSnapshotTags` paramètre est défini sur`true`. Si vous n'utilisez pas cette fonctionnalité, vous pouvez omettre cette autorisation.

**Comportement de fusion de balises :**

Lorsque cette option `includeSnapshotTags` est activée, l'action de l' RegisterImage étape permet de :
+ Récupérez les balises à partir du premier instantané spécifié dans le mappage des périphériques en mode bloc
+ Exclure toutes les balises AWS réservées (celles dont les clés commencent par « aws : »)
+ Fusionnez les balises de capture d'écran avec les balises d'enregistrement AMI par défaut d'Image Builder
+ Donnez la priorité aux balises Image Builder en cas de conflit entre les clés de balise

## Politiques basées sur les ressources d'Image Builder
<a name="security-iam-resource-based-policies"></a>

Pour plus d'informations sur la création d'un composant, consultez[Utilisez des composants pour personnaliser votre image Image Builder](manage-components.md).

### Restreindre l'accès aux composants Image Builder à des adresses IP spécifiques
<a name="sec-iam-resourcepol-restrict-component-by-ip"></a>

L'exemple suivant autorise tout utilisateur à effectuer des opérations Image Builder sur des composants. Toutefois, la demande doit provenir de la plage d'adresses IP indiquée dans la condition.

La condition contenue dans cette déclaration identifie la plage 54.240.143.\$1 d'adresses IP autorisées du protocole Internet version 4 (IPv4), à une exception près : 54.240.143.188.

Le `Condition` bloc utilise les `NotIpAddress` conditions `IpAddress` et et la clé de `aws:SourceIp` condition, qui est une clé AWS de condition étendue. Pour plus d'informations sur ces clés de condition, consultez la section [Spécification de conditions dans une politique](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html). Les `aws:sourceIp` IPv4 valeurs utilisent la notation CIDR standard. Pour plus d’informations, consultez [Opérateurs de condition d’adresse IP](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress) dans le *Guide de l’utilisateur IAM*.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "IBPolicyId1",
  "Statement": [
    {
      "Sid": "IPAllow",
      "Effect": "Allow",
      "Action": "imagebuilder:GetComponent",
      "Resource": "arn:aws:imagebuilder:*::examplecomponent/*",
      "Condition": {
         "IpAddress": {"aws:SourceIp": "54.240.143.0/24"},
         "NotIpAddress": {"aws:SourceIp": "54.240.143.188/32"} 
      } 
    } 
  ]
}
```

------

# Utiliser des politiques AWS gérées pour EC2 Image Builder
<a name="security-iam-awsmanpol"></a>

Une politique AWS gérée est une politique autonome créée et administrée par AWS. AWS les politiques gérées sont conçues pour fournir des autorisations pour de nombreux cas d'utilisation courants afin que vous puissiez commencer à attribuer des autorisations aux utilisateurs, aux groupes et aux rôles.

N'oubliez pas que les politiques AWS gérées peuvent ne pas accorder d'autorisations de moindre privilège pour vos cas d'utilisation spécifiques, car elles sont accessibles à tous les AWS clients. Nous vous recommandons de réduire encore les autorisations en définissant des [politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) qui sont propres à vos cas d’utilisation.

Vous ne pouvez pas modifier les autorisations définies dans les politiques AWS gérées. Si les autorisations définies dans une politique AWS gérée sont AWS mises à jour, la mise à jour affecte toutes les identités principales (utilisateurs, groupes et rôles) auxquelles la politique est attachée. AWS est le plus susceptible de mettre à jour une politique AWS gérée lorsqu'une nouvelle politique Service AWS est lancée ou lorsque de nouvelles opérations d'API sont disponibles pour les services existants.

Pour plus d’informations, consultez [Politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *Guide de l’utilisateur IAM*.

## Stratégie AWSImageBuilderFullAccess
<a name="sec-iam-manpol-AWSImageBuilderFullAccess"></a>

La **AWSImageBuilderFullAccess**politique accorde un accès complet aux ressources d'Image Builder pour le rôle auquel il est rattaché, ce qui permet au rôle de répertorier, de décrire, de créer, de mettre à jour et de supprimer les ressources d'Image Builder. La politique accorde également des autorisations ciblées aux personnes associées Services AWS qui sont nécessaires, par exemple, pour vérifier les ressources ou pour afficher les ressources actuelles du compte dans le AWS Management Console.

### Détails de l’autorisation
<a name="sec-iam-manpol-AWSImageBuilderFullAccess-details"></a>

Cette politique inclut les autorisations suivantes :
+ **Image Builder** : l'accès administratif est accordé afin que le rôle puisse répertorier, décrire, créer, mettre à jour et supprimer des ressources Image Builder.
+ **Amazon EC2** — L'accès est accordé pour les actions Amazon EC2 Descrivez nécessaires pour vérifier l'existence des ressources ou obtenir des listes de ressources appartenant au compte.
+ **IAM** — L'accès est accordé pour obtenir et utiliser des profils d'instance dont le nom contient « imagebuilder », pour vérifier l'existence du rôle lié au service Image Builder via l'action `iam:GetRole` API et pour créer le rôle lié au service Image Builder.
+ **License Manager** — L'accès est accordé pour répertorier les configurations de licence ou les licences pour une ressource.
+ **Amazon S3** — L'accès est accordé pour répertorier les buckets appartenant au compte, ainsi que les buckets Image Builder dont le nom contient « imagebuilder ». 
+ **Amazon SNS — Des** autorisations d'écriture sont accordées à Amazon SNS pour vérifier la propriété des rubriques contenant « imagebuilder ».

Pour voir les autorisations de cette stratégie, consultez [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderFullAccess.html) dans le *AWS Guide de référence des stratégies gérées par*.

## Stratégie AWSImageBuilderReadOnlyAccess
<a name="sec-iam-manpol-AWSImageBuilderReadOnlyAccess"></a>

La **AWSImageBuilderReadOnlyAccess**politique fournit un accès en lecture seule à toutes les ressources d'Image Builder. Des autorisations sont accordées pour vérifier que le rôle lié au service Image Builder existe via l'action d'`iam:GetRole`API.

### Détails de l’autorisation
<a name="sec-iam-manpol-AWSImageBuilderReadOnlyAccess-details"></a>

Cette politique inclut les autorisations suivantes :
+ **Image Builder** : l'accès est accordé pour un accès en lecture seule aux ressources Image Builder.
+ **IAM** — L'accès est accordé pour vérifier l'existence du rôle lié au service Image Builder via l'`iam:GetRole`action API.

Pour voir les autorisations de cette stratégie, consultez [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderReadOnlyAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderReadOnlyAccess.html) dans le *AWS Guide de référence des stratégies gérées par*.

## Stratégie AWSServiceRoleForImageBuilder
<a name="sec-iam-manpol-AWSServiceRoleForImageBuilder"></a>

La **AWSServiceRoleForImageBuilder**politique autorise Image Builder à appeler Services AWS en votre nom.

### Détails de l’autorisation
<a name="sec-iam-manpol-AWSServiceRoleForImageBuilder-details"></a>

Cette politique est attachée au rôle lié au service Image Builder lorsque le rôle est créé via Systems Manager. Pour plus d'informations sur le rôle lié au service Image Builder, consultez. [Utiliser des rôles liés à un service IAM pour Image Builder](image-builder-service-linked-role.md)

La stratégie inclut les autorisations suivantes :
+ **CloudWatch Journaux** — L'accès est accordé pour créer et télécharger CloudWatch des journaux dans tout groupe de journaux dont le nom commence par`/aws/imagebuilder/`.
+ **Amazon EC2** — L'accès est accordé à Image Builder pour créer, prendre des instantanés et enregistrer des images (AMI) qu'il crée et lancer des instances EC2 sur votre compte. Image Builder utilise les instantanés, les volumes, les interfaces réseau, les sous-réseaux, les groupes de sécurité, la configuration de licence et les paires de clés associés selon les besoins, à condition que l'image, l'instance et les volumes créés ou utilisés soient balisés avec `CreatedBy: EC2 Image Builder` ou. `CreatedBy: EC2 Fast Launch`

  Image Builder peut obtenir des informations sur les images Amazon EC2, les attributs des instances, le statut des instances, les types d'instances disponibles pour votre compte, les modèles de lancement, les sous-réseaux, les hôtes et les balises de vos ressources Amazon EC2.

  Image Builder peut mettre à jour les paramètres de l'image afin d'activer ou de désactiver le lancement plus rapide des instances Windows dans votre compte, où l'image est étiquetée avec`CreatedBy: EC2 Image Builder`.

  En outre, Image Builder peut démarrer, arrêter et mettre fin à des instances qui s'exécutent sur votre compte, partager des instantanés Amazon EBS, créer et mettre à jour des images et des modèles de lancement, annuler l'enregistrement d'images existantes, ajouter des balises et répliquer des images sur des comptes auxquels vous avez accordé des autorisations via la politique. **Ec2ImageBuilderCrossAccountDistributionAccess** Le balisage Image Builder est obligatoire pour toutes ces actions, comme décrit précédemment.
+ **Amazon ECR** — L'accès est accordé à Image Builder pour créer un référentiel si nécessaire pour les analyses de vulnérabilité des images de conteneurs, et pour étiqueter les ressources qu'il crée afin de limiter la portée de ses opérations. Image Builder est également autorisé à supprimer les images de conteneur qu'il a créées pour les scans après avoir pris des instantanés des vulnérabilités.
+ **EventBridge**— L'accès est accordé à Image Builder pour créer et gérer EventBridge des règles.
+ **IAM** — L'accès est accordé à Image Builder pour transmettre n'importe quel rôle de votre compte à Amazon EC2 et à VM Import/Export.
+ **Amazon Inspector — L'**accès est accordé à Image Builder pour déterminer quand Amazon Inspector termine les scans des instances de build et pour recueillir les résultats des images configurées pour l'autoriser.
+ **AWS KMS**— L'accès est accordé à Amazon EBS pour chiffrer, déchiffrer ou rechiffrer les volumes Amazon EBS. Cela est essentiel pour garantir que les volumes chiffrés fonctionnent lorsque Image Builder crée une image.
+ **License Manager** — L'accès est accordé à Image Builder pour mettre à jour les spécifications du License Manager via`license-manager:UpdateLicenseSpecificationsForResource`.
+ **Amazon SNS — Les** autorisations d'écriture sont accordées pour toutes les rubriques Amazon SNS de votre compte.
+ **Systems Manager** — L'accès est accordé à Image Builder pour répertorier les commandes de Systems Manager et leurs invocations, les entrées d'inventaire, décrire les informations sur les instances et les états d'exécution de l'automatisation, décrire les hôtes pour l'assistance au placement des instances et obtenir des informations détaillées sur l'invocation des commandes. Image Builder peut également envoyer des signaux d'automatisation et arrêter les exécutions automatisées pour toutes les ressources de votre compte.

  Image Builder est capable d'envoyer des appels de commande d'exécution à n'importe quelle instance étiquetée `"CreatedBy": "EC2 Image Builder"` pour les fichiers de script suivants : `AWS-RunPowerShellScript``AWS-RunShellScript`, ou. `AWSEC2-RunSysprep` Image Builder est capable de lancer une exécution automatisée de Systems Manager dans votre compte pour les documents d'automatisation dont le nom commence par`ImageBuilder`.

  Image Builder est également capable de créer ou de supprimer des associations State Manager pour n'importe quelle instance de votre compte, à condition que le document d'association le soit`AWS-GatherSoftwareInventory`, et de créer le rôle lié au service Systems Manager dans votre compte.

  Image Builder est capable de lire les paramètres publics du magasin de paramètres, ainsi que de lire et de mettre à jour les paramètres privés préfixés par un préfixe `/imagebuilder/` afin de pouvoir mettre à jour la valeur du paramètre avec l'AMI IDs de sortie créée par Image Builder à partir d'une nouvelle version.
+ **AWS STS**— L'accès est accordé à Image Builder pour assumer les rôles nommés **EC2ImageBuilderDistributionCrossAccountRole**depuis votre compte sur n'importe quel compte lorsque la politique de confiance relative au rôle l'autorise. Ceci est utilisé pour la distribution d'images entre comptes.

Pour voir les autorisations de cette stratégie, consultez [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSServiceRoleForImageBuilder.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSServiceRoleForImageBuilder.html) dans le *AWS Guide de référence des stratégies gérées par*.

## Stratégie Ec2ImageBuilderCrossAccountDistributionAccess
<a name="sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess"></a>

La **Ec2ImageBuilderCrossAccountDistributionAccess**politique autorise Image Builder à distribuer des images entre les comptes des régions cibles. Image Builder peut également décrire, copier et appliquer des balises à n'importe quelle image Amazon EC2 du compte. La politique donne également la possibilité de modifier les autorisations de l'AMI via l'action de l'`ec2:ModifyImageAttribute`API.

### Détails de l’autorisation
<a name="sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess-details"></a>

Cette politique inclut les autorisations suivantes :
+ **Amazon EC2** — L'accès est accordé à Amazon EC2 pour décrire, copier et modifier les attributs d'une image, et pour créer des balises pour toutes les images Amazon EC2 présentes dans le compte.

Pour voir les autorisations de cette stratégie, consultez [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2ImageBuilderCrossAccountDistributionAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2ImageBuilderCrossAccountDistributionAccess.html) dans le *AWS Guide de référence des stratégies gérées par*.

## Stratégie EC2ImageBuilderLifecycleExecutionPolicy
<a name="sec-iam-manpol-EC2ImageBuilderLifecycleExecutionPolicy"></a>

La **EC2ImageBuilderLifecycleExecutionPolicy**politique autorise Image Builder à effectuer des actions telles que la dépréciation, la désactivation ou la suppression des ressources d'image Image Builder et de leurs ressources sous-jacentes (AMIsinstantanés) afin de prendre en charge les règles automatisées pour les tâches de gestion du cycle de vie des images.

### Détails de l’autorisation
<a name="sec-iam-manpol-EC2ImageBuilderLifecycleExecutionPolicy-details"></a>

Cette politique inclut les autorisations suivantes :
+ **Amazon EC2** — L'accès est accordé à Amazon EC2 pour effectuer les actions suivantes pour Amazon Machine Images AMIs () dans le compte associé au tag. `CreatedBy: EC2 Image Builder`
  + Activez et désactivez une AMI.
  + Activez et désactivez la dépréciation des images.
  + Décrivez et annulez l'enregistrement d'une AMI.
  + Décrivez et modifiez les attributs d'image de l'AMI.
  + Supprimez les instantanés de volume associés à l'AMI.
  + Récupérez les balises d'une ressource.
  + Ajoutez ou supprimez des balises dans une AMI par souci de dépréciation.
+ **Amazon ECR** — L'accès est accordé à Amazon ECR pour effectuer les actions par lots suivantes sur les référentiels ECR dotés de la balise. `LifecycleExecutionAccess: EC2 Image Builder` Les actions par lots prennent en charge les règles de cycle de vie automatisées des images des conteneurs.
  + `ecr:BatchGetImage`
  + `ecr:BatchDeleteImage`

  L'accès est accordé au niveau du référentiel pour les référentiels ECR étiquetés avec. `LifecycleExecutionAccess: EC2 Image Builder`
+ **AWS Groupes de ressources** — L'accès est accordé à Image Builder pour obtenir des ressources en fonction de balises.
+ **EC2 Image** Builder — L'accès est accordé à Image Builder pour supprimer les ressources d'image Image Builder.

Pour voir les autorisations de cette stratégie, consultez [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2ImageBuilderLifecycleExecutionPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2ImageBuilderLifecycleExecutionPolicy.html) dans le *AWS Guide de référence des stratégies gérées par*.

## Stratégie EC2InstanceProfileForImageBuilder
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilder"></a>

La **EC2InstanceProfileForImageBuilder**politique accorde les autorisations minimales requises pour qu'une instance EC2 fonctionne avec Image Builder. Cela n'inclut pas les autorisations requises pour utiliser l'agent Systems Manager.

### Détails de l’autorisation
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilder-details"></a>

Cette politique inclut les autorisations suivantes :
+ **CloudWatch Journaux** — L'accès est accordé pour créer et télécharger CloudWatch des journaux dans tout groupe de journaux dont le nom commence par`/aws/imagebuilder/`.
+ **Amazon EC2** — L'accès est accordé pour décrire les volumes et les instantanés, pour créer des instantanés des ressources de volume ou de capture d'écran créées par Image Builder et pour créer des balises pour les ressources Image Builder.
+ **Image Builder** — L'accès est accordé pour obtenir n'importe quel générateur ou AWS Marketplace composant d'Image Builder.
+ **AWS KMS**— L'accès est accordé pour déchiffrer un composant Image Builder, s'il a été chiffré via AWS KMS.
+ **Amazon S3** — L'accès est accordé pour obtenir des objets stockés dans un compartiment Amazon S3 dont le nom commence par`ec2imagebuilder-`, ou des ressources ayant une extension de fichier ISO.

Pour voir les autorisations de cette stratégie, consultez [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilder.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilder.html) dans le *AWS Guide de référence des stratégies gérées par*.

## Stratégie EC2InstanceProfileForImageBuilderECRContainerBuilds
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilderECRContainerBuilds"></a>

La **EC2InstanceProfileForImageBuilderECRContainerBuilds**politique accorde les autorisations minimales requises pour une instance EC2 lorsque vous travaillez avec Image Builder pour créer des images Docker, puis enregistrer et stocker les images dans un référentiel de conteneurs Amazon ECR. Cela n'inclut pas les autorisations requises pour utiliser l'agent Systems Manager.

### Détails de l’autorisation
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilderECRContainerBuilds-details"></a>

Cette politique inclut les autorisations suivantes :
+ **CloudWatch Journaux** — L'accès est accordé pour créer et télécharger CloudWatch des journaux dans tout groupe de journaux dont le nom commence par`/aws/imagebuilder/`.
+ **Amazon ECR** — L'accès est accordé à Amazon ECR pour obtenir, enregistrer et stocker une image de conteneur, ainsi que pour obtenir un jeton d'autorisation.
+ **Image Builder** — L'accès est accordé pour obtenir un composant Image Builder ou une recette de conteneur.
+ **AWS KMS**— L'accès est accordé pour déchiffrer un composant ou une recette de conteneur Image Builder, s'il a été chiffré via AWS KMS.
+ **Amazon S3** — L'accès est accordé pour obtenir des objets stockés dans un compartiment Amazon S3 dont le nom commence par`ec2imagebuilder-`.

Pour voir les autorisations de cette stratégie, consultez [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilderECRContainerBuilds.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilderECRContainerBuilds.html) dans le *AWS Guide de référence des stratégies gérées par*.

## Image Builder met à jour les politiques AWS gérées
<a name="security-iam-awsmanpol-updates"></a>

Cette section fournit des informations sur les mises à jour apportées aux politiques AWS gérées pour Image Builder depuis que ce service a commencé à suivre ces modifications. Pour recevoir des alertes automatiques concernant les modifications apportées à cette page, abonnez-vous au flux RSS sur la page d'[historique du document](doc-history.md) Image Builder.




| Modifier | Description | Date | 
| --- | --- | --- | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – Mise à jour d’une stratégie existante  |  Image Builder a apporté les modifications suivantes au rôle de service : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 26 février 2026 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes au rôle de service afin de prendre en charge l'utilisation des paramètres de magasin de paramètres AWS Systems Manager (SSM) dans les recettes et lors de la distribution d'images. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 23 juillet 2025 | 
|  [EC2InstanceProfileForImageBuilder](#sec-iam-manpol-EC2InstanceProfileForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes à la politique de profil d'instance afin de prendre en charge davantage d'extensions de fichiers pour les téléchargements de fichiers ISO. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 19 mai 2025 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes au rôle de service afin de prendre en charge l'importation de fichiers ISO du système d'exploitation client Microsoft en tant qu'image de base. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 30 décembre 2024 | 
|  [EC2InstanceProfileForImageBuilder](#sec-iam-manpol-EC2InstanceProfileForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes à la politique de profil d'instance afin de prendre en charge la création d'images à partir de fichiers image disque. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 30 décembre 2024 | 
|  [EC2InstanceProfileForImageBuilder](#sec-iam-manpol-EC2InstanceProfileForImageBuilder)— Politique mise à jour  |  Image Builder a mis à jour la `EC2InstanceProfileForImageBuilder` politique pour permettre à Image Builder d'obtenir AWS Marketplace des composants.  | 2 décembre 2024 | 
|  [EC2ImageBuilderLifecycleExecutionPolicy](#sec-iam-manpol-EC2ImageBuilderLifecycleExecutionPolicy) : nouvelle politique  |  Image Builder a ajouté la nouvelle `EC2ImageBuilderLifecycleExecutionPolicy` politique qui contient des autorisations pour la gestion du cycle de vie des images.  | 17 novembre 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes au rôle de service afin de fournir une assistance au placement d'instances. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 19 octobre 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes au rôle de service afin de fournir une assistance au placement d'instances. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 28 septembre 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes au rôle de service afin de permettre aux flux de travail Image Builder de collecter des informations sur les vulnérabilités pour les builds d'images de conteneur AMI et ECR. Les nouvelles autorisations prennent en charge la fonctionnalité de détection et de signalement des CVE. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 30 mars 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes au rôle de service : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 22 mars 2022 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes au rôle de service : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 21 février 2022 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes au rôle de service : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 20 novembre 2021 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) : mise à jour d’une politique existante  |  Image Builder a ajouté de nouvelles autorisations pour résoudre les problèmes liés au blocage de la création de l'image par plusieurs associations d'inventaire.  | 11 août 2021 | 
|  [AWSImageBuilderFullAccess](#sec-iam-manpol-AWSImageBuilderFullAccess) : mise à jour d’une politique existante  |  Image Builder a apporté les modifications suivantes au rôle d'accès complet : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 13 avril 2021 | 
|  Image Builder a commencé à suivre les modifications  |  Image Builder a commencé à suivre les modifications apportées AWS à ses politiques gérées.  | 2 avril 2021 | 

# Utiliser des rôles liés à un service IAM pour Image Builder
<a name="image-builder-service-linked-role"></a>

EC2 Image Builder Gestion des identités et des accès AWS utilise des rôles liés à un service (IAM[).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Un rôle lié à un service est un type unique de rôle IAM directement lié à Image Builder. Les rôles liés au service sont prédéfinis par Image Builder et incluent toutes les autorisations dont le service a besoin pour appeler d'autres personnes en votre Services AWS nom. 

Un rôle lié à un service rend la configuration d'Image Builder plus efficace, car il n'est pas nécessaire d'ajouter les autorisations nécessaires manuellement. Image Builder définit les autorisations associées à ses rôles liés aux services et, sauf indication contraire, seul Image Builder peut assumer ses rôles. Les autorisations définies comprennent la stratégie d'approbation et la stratégie d'autorisations. La stratégie d'autorisations ne peut pas être attachée à une autre entité IAM. 

Pour plus d'informations sur les autres services qui prennent en charge les rôles liés à un service, consultez [Services AWS That Work with IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) et recherchez les services dont la valeur est **Oui** dans la colonne Rôle lié au **service**. Choisissez un **Oui** ayant un lien permettant de consulter les détails du rôle pour ce service.

## Autorisations de rôle liées à un service pour Image Builder
<a name="image-builder-slr-permissions"></a>

Image Builder utilise le rôle **AWSServiceRoleForImageBuilder**lié au service pour permettre à EC2 Image Builder d'accéder aux AWS ressources en votre nom. Le rôle lié au service fait confiance au service *imagebuilder.amazonaws.com* pour assumer le rôle.

Vous n'avez pas besoin de créer manuellement ce rôle lié à un service. Lorsque vous créez votre première image Image Builder dans la console AWS de gestion AWS CLI, ou dans l' AWS API, Image Builder crée pour vous le rôle lié au service.

Les actions suivantes créent une nouvelle image :
+ Exécutez l'assistant de pipeline dans la console Image Builder pour créer une image personnalisée.
+ Utilisez l'une des actions d'API suivantes ou la AWS CLI commande correspondante :
  + L'action de l'**[CreateImage](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateImage.html)**API (**[create-image](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-image.html)**dans le AWS CLI).
  + L'action de l'**[ImportVmImage](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_ImportVmImage.html)**API (**[import-vm-image](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/import-vm-image.html)**dans le AWS CLI).
  + L'action de l'**[StartImagePipelineExecution](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_StartImagePipelineExecution.html)**API (**[start-image-pipeline-execution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/start-image-pipeline-execution.html)**dans le AWS CLI).

**Important**  
Si le rôle lié au service est supprimé de votre compte, vous pouvez suivre le même processus pour le créer à nouveau. Lorsque vous créez votre première ressource EC2 Image Builder, Image Builder crée à nouveau le rôle lié au service pour vous.

Pour voir les autorisations pour le **AWSServiceRoleForImageBuilder**, consultez la [Stratégie AWSServiceRoleForImageBuilder](security-iam-awsmanpol.md#sec-iam-manpol-AWSServiceRoleForImageBuilder) page. *Pour en savoir plus sur la configuration des autorisations pour un rôle lié à un service, consultez la section Autorisations [relatives aux rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dans le guide de l'utilisateur IAM.*

## Supprimer un rôle lié au service Image Builder de votre compte
<a name="image-builder-slr-deleting"></a>

Vous pouvez utiliser la console IAM, le AWS CLI, ou l' AWS API pour supprimer manuellement le rôle lié à un service pour Image Builder de votre compte. Toutefois, avant de procéder, vous devez vous assurer qu'aucune ressource Image Builder n'y fait référence.

**Note**  
Si le service Image Builder utilise le rôle lorsque vous essayez de supprimer les ressources, la suppression risque d'échouer. Si cela se produit, patientez quelques minutes et réessayez.

**Nettoyez les ressources Image Builder utilisées par le `AWSServiceRoleForImageBuilder` rôle**

1. Vérifiez qu'aucune version de pipeline n'est en cours d'exécution avant de commencer. Pour annuler une compilation en cours, utilisez la `cancel-image-creation` commande du AWS CLI.

   ```
   aws imagebuilder cancel-image-creation --image-build-version-arn arn:aws:imagebuilder:us-east-1:123456789012:image-pipeline/sample-pipeline
   ```

1. Modifiez tous les plannings de pipeline pour utiliser un processus de génération manuel, ou supprimez-les si vous ne les réutilisez pas. Pour plus d'informations sur la suppression de ressources, consultez[Supprimer les ressources d'Image Builder obsolètes ou inutilisées](delete-resources.md).

**Supprimer le rôle lié à un service à l'aide d'IAM**  
Vous pouvez utiliser la console IAM, le AWS CLI, ou l' AWS API pour supprimer le `AWSServiceRoleForImageBuilder` rôle de votre compte. Pour plus d’informations, consultez [Suppression d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dans le *Guide de l’utilisateur IAM*.

## Régions prises en charge pour les rôles liés au service Image Builder
<a name="image-builder-slr-regions"></a>

Image Builder prend en charge l'utilisation de rôles liés à un service dans toutes les AWS régions où le service est disponible. Pour consulter la liste des AWS régions prises en charge, consultez[AWS Régions et points de terminaison](what-is-image-builder.md#image-builder-regions).

# Résoudre les problèmes d'IAM dans Image Builder
<a name="security_iam_troubleshoot"></a>

**Topics**
+ [Je ne suis pas autorisé à effectuer une action dans Image Builder](#security_iam_troubleshoot-no-permissions)
+ [Je ne suis pas autorisé à effectuer iam : PassRole](#security_iam_troubleshoot-passrole)
+ [Je souhaite autoriser des personnes extérieures à moi Compte AWS à accéder à mes ressources Image Builder](#security_iam_troubleshoot-cross-account-access)

## Je ne suis pas autorisé à effectuer une action dans Image Builder
<a name="security_iam_troubleshoot-no-permissions"></a>

Si vous recevez une erreur qui indique que vous n’êtes pas autorisé à effectuer une action, vos politiques doivent être mises à jour afin de vous permettre d’effectuer l’action.

L’exemple d’erreur suivant se produit quand l’utilisateur IAM `mateojackson` tente d’utiliser la console pour afficher des informations détaillées sur une ressource `my-example-widget` fictive, mais ne dispose pas des autorisations `imagebuilder:GetWidget` fictives.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: imagebuilder:GetWidget on resource: my-example-widget
```

Dans ce cas, la politique qui s’applique à l’utilisateur `mateojackson` doit être mise à jour pour autoriser l’accès à la ressource `my-example-widget` à l’aide de l’action `imagebuilder:GetWidget`.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

## Je ne suis pas autorisé à effectuer iam : PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si vous recevez un message d'erreur indiquant que vous n'êtes pas autorisé à effectuer l'`iam:PassRole`action, vos politiques doivent être mises à jour pour vous permettre de transmettre un rôle à Image Builder.

Certains vous Services AWS permettent de transmettre un rôle existant à ce service au lieu de créer un nouveau rôle de service ou un rôle lié à un service. Pour ce faire, vous devez disposer des autorisations nécessaires pour transmettre le rôle au service.

L'exemple d'erreur suivant se produit lorsqu'un utilisateur IAM nommé `marymajor` essaie d'utiliser la console pour effectuer une action dans Image Builder. Toutefois, l’action nécessite que le service ait des autorisations accordées par un rôle de service. Mary n'est pas autorisée à transmettre le rôle au service.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dans ce cas, les politiques de Mary doivent être mises à jour pour lui permettre d’exécuter l’action `iam:PassRole`.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

## Je souhaite autoriser des personnes extérieures à moi Compte AWS à accéder à mes ressources Image Builder
<a name="security_iam_troubleshoot-cross-account-access"></a>

Vous pouvez créer un rôle que les utilisateurs provenant d’autres comptes ou les personnes extérieures à votre organisation pourront utiliser pour accéder à vos ressources. Vous pouvez spécifier qui est autorisé à assumer le rôle. Pour les services qui prennent en charge les politiques basées sur les ressources ou les listes de contrôle d'accès (ACLs), vous pouvez utiliser ces politiques pour autoriser les utilisateurs à accéder à vos ressources.

Pour plus d’informations, consultez les éléments suivants :
+ Pour savoir si Image Builder prend en charge ces fonctionnalités, consultez[Comment Image Builder fonctionne avec les politiques et les rôles IAM](security_iam_service-with-iam.md).
+ Pour savoir comment fournir l'accès à vos ressources sur celles Comptes AWS que vous possédez, consultez la section [Fournir l'accès à un utilisateur IAM dans un autre utilisateur Compte AWS que vous possédez](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) dans le Guide de l'*utilisateur IAM*.
+ Pour savoir comment fournir l'accès à vos ressources à des tiers Comptes AWS, consultez la section [Fournir un accès à des ressources Comptes AWS détenues par des tiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dans le *guide de l'utilisateur IAM*.
+ Pour savoir comment fournir un accès par le biais de la fédération d’identité, consultez [Fournir un accès à des utilisateurs authentifiés en externe (fédération d’identité)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dans le *Guide de l’utilisateur IAM*.
+ Pour en savoir plus sur la différence entre l’utilisation des rôles et des politiques basées sur les ressources pour l’accès intercompte, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

# Validation de conformité pour Image Builder
<a name="compliance"></a>

EC2 Image Builder n'est concerné par AWS aucun programme de conformité.

Pour savoir si un [programme Services AWS de conformité Service AWS s'inscrit dans le champ d'application de programmes de conformité](https://aws.amazon.com/compliance/services-in-scope/) spécifiques, consultez Services AWS la section de conformité et sélectionnez le programme de conformité qui vous intéresse. Pour des informations générales, voir Programmes de [AWS conformité Programmes AWS](https://aws.amazon.com/compliance/programs/) de .

Vous pouvez télécharger des rapports d'audit tiers à l'aide de AWS Artifact. Pour plus d'informations, voir [Téléchargement de rapports dans AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Votre responsabilité en matière de conformité lors de l'utilisation Services AWS est déterminée par la sensibilité de vos données, les objectifs de conformité de votre entreprise et les lois et réglementations applicables. Pour plus d'informations sur votre responsabilité en matière de conformité lors de l'utilisation Services AWS, consultez [AWS la documentation de sécurité](https://docs.aws.amazon.com/security/).

Vous pouvez intégrer des produits conformes AWS Marketplace ou des composants de AWS Task Orchestrator and Executor (AWSTOE) dans vos images Image Builder pour garantir la conformité de vos images. Pour de plus amples informations, veuillez consulter [Produits de conformité pour vos images Image Builder](integ-compliance-products.md).

# Redondance et résilience des données dans Image Builder
<a name="disaster-recovery-resiliency"></a>

L'infrastructure AWS mondiale est construite autour des AWS régions et des zones de disponibilité. AWS Les régions fournissent plusieurs zones de disponibilité physiquement séparées et isolées, connectées par un réseau à faible latence, à haut débit et hautement redondant. Avec les zones de disponibilité, vous pouvez concevoir et exploiter des applications et des bases de données qui basculent automatiquement d’une zone à l’autre sans interruption. Les zones de disponibilité sont davantage disponibles, tolérantes aux pannes et ont une plus grande capacité de mise à l’échelle que les infrastructures traditionnelles à un ou plusieurs centres de données. 

Le service EC2 Image Builder vous permet de distribuer des images créées dans une région avec d'autres régions, ce qui leur confère une résilience multirégionale pour. AMIs Il n'existe aucun mécanisme permettant de « sauvegarder » les pipelines d'images, les recettes ou les composants. Vous pouvez stocker les documents relatifs à la recette et aux composants en dehors du service Image Builder, par exemple dans un compartiment Amazon S3. 

L'EC2 Image Builder ne peut pas être configuré pour la haute disponibilité (HA). Vous pouvez distribuer des images dans plusieurs régions afin de les rendre plus disponibles. 

Pour plus d'informations sur AWS les régions et les zones de disponibilité, consultez la section [Infrastructure AWS mondiale](https://aws.amazon.com/about-aws/global-infrastructure/).

# Sécurité de l'infrastructure dans Image Builder
<a name="infrastructure-security"></a>

Le réseau AWS mondial fournit des fonctionnalités de sécurité et contrôle l'accès au réseau pour des services tels que EC2 Image Builder. Pour plus d'informations sur la sécurité de l'infrastructure qui AWS assure ses services, consultez la section [Sécurité de l'infrastructure](https://docs.aws.amazon.com/whitepapers/latest/introduction-aws-security/infrastructure-security.html) dans le livre blanc *Introduction à la AWS sécurité*.

Pour envoyer des demandes via le réseau AWS mondial pour les actions de l'API Image Builder, votre logiciel client doit respecter les consignes de sécurité suivantes :
+ Pour envoyer des demandes d'actions d'API Image Builder, le logiciel client doit utiliser une version compatible de Transport Layer Security (TLS).
**Note**  
AWS supprime progressivement le support pour les versions 1.0 et 1.1 du protocole TLS. Nous vous recommandons vivement de mettre à jour votre logiciel client pour utiliser la version TLS 1.2 ou ultérieure afin de pouvoir toujours vous connecter. Pour plus d'informations, consultez ce billet [AWS de blog sur la sécurité](https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/).
+ Les logiciels clients doivent prendre en charge les suites de chiffrement dotées d'un secret de transmission parfait (PFS), telles que Ephemeral Diffie-Hellman (DHE) ou Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). La plupart des systèmes actuels, tels que Java 7 et versions ultérieures, prennent en charge ces modes.
+ Vous devez signer vos demandes d'API avec un identifiant de clé d'accès et une clé d'accès secrète associés à un principal Gestion des identités et des accès AWS (IAM). Vous pouvez également utiliser le [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html)(AWS STS) pour générer des informations de sécurité temporaires pour vos demandes.

En outre, les instances EC2 qu'Image Builder utilise pour créer et tester des images doivent y avoir accès AWS Systems Manager.

# Gestion des correctifs pour les images Image Builder
<a name="security-patch-management"></a>

AWS fournit des mises à jour gérées AMIs chaque mois qui contiennent les dernières mises à jour et correctifs de sécurité appliqués aux systèmes d'exploitation suivants. Vous pouvez les utiliser AMIs comme image de base pour vos personnalisations. Pour de plus amples informations, veuillez consulter [Systèmes d’exploitation pris en charge](what-is-image-builder.md#image-builder-os).
+ Distributions Linux, notamment Amazon Linux 2 AL2023, Red Hat Enterprise Linux (RHEL), CentOS, Ubuntu, SUSE Linux Enterprise Server
+ Windows Server 2016 et versions ultérieures
+ macOS 10.14.x et versions ultérieures

Après avoir créé une image personnalisée, vous êtes responsable de l'application des correctifs au système Amazon EC2, conformément au modèle de responsabilité [partagée](https://aws.amazon.com/compliance/shared-responsibility-model/). Si les instances EC2 de la charge de travail de votre application peuvent être facilement remplacées, il peut être plus efficace de mettre à jour l'AMI de base et de redéployer tous les nœuds de calcul en fonction de cette image.

**Note**  
Pour appliquer des correctifs à macOS, nous vous recommandons de créer une nouvelle version de votre recette qui utilise la dernière AMI gérée pour l'image de base, puis de créer une image personnalisée mise à jour à partir de la recette et de vos autres ressources de création d'image. Si vos instances Mac ne sont pas faciles à remplacer, consultez la page [Mettre à jour le système d'exploitation et le logiciel sur les instances Mac](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mac-instance-updates.html) dans le *guide de l'utilisateur Amazon EC2* pour plus d'informations.

Vous trouverez ci-dessous deux méthodes pour maintenir votre Image Builder AMIs à jour.
+ **AWS-composants de correction fournis —** EC2 Image Builder fournit les composants de build suivants qui installent toutes les mises à jour du système d'exploitation en attente :
  + `update-linux`
  + `update-windows`

  Ces composants utilisent le module `UpdateOS` d'action. Pour de plus amples informations, veuillez consulter [Mettre à jour le système d'exploitation](toe-action-modules.md#action-modules-updateos). Les composants peuvent être ajoutés à vos pipelines de création d'images en les sélectionnant dans la liste des composants AWS fournis.
+ **Composants de génération personnalisés avec opérations de correction** : pour installer ou mettre à jour des correctifs de manière sélective sur les systèmes d'exploitation pris en charge AMIs, vous pouvez créer un composant Image Builder pour installer les correctifs requis. Un composant personnalisé peut installer des correctifs à l'aide de scripts shell (Bash ou PowerShell), ou il peut utiliser le module `UpdateOS` d'action pour spécifier les correctifs à installer ou à exclure. Pour de plus amples informations, veuillez consulter [Modules d'action pris en charge par le gestionnaire de AWSTOE composants](toe-action-modules.md).

  Composant qui utilise le module `UpdateOS` d'action (Linux et Windows uniquement). Le module `UpdateOS` d'action n'est pas compatible avec macOS.)

  ```
  schemaVersion: 1.0
  phases:
    - name: build
  	steps:
  	  - name: UpdateOS
  		action: UpdateOS
  ```

  Composant qui utilise Bash pour installer les mises à jour yum

  ```
  schemaVersion: 1.0
  phases:
    - name: build
  	steps:
  	  - name: InstallYumUpdates
  		action: ExecuteBash
  		inputs:
  		  commands:
  			- sudo yum update -y
  ```

# Bonnes pratiques de sécurité pour Image Builder
<a name="security-best-practices"></a>

EC2 Image Builder fournit un certain nombre de fonctionnalités de sécurité à prendre en compte lors de l'élaboration et de la mise en œuvre de vos propres politiques de sécurité. Les bonnes pratiques suivantes doivent être considérées comme des instructions générales et ne représentent pas une solution de sécurité complète. Étant donné que ces bonnes pratiques peuvent ne pas être appropriées ou suffisantes pour votre environnement, considérez-les comme des remarques utiles plutôt que comme des recommandations.
+ N'utilisez pas de groupes de sécurité trop permissifs dans les recettes d'Image Builder.
+ Ne partagez pas d'images avec des comptes auxquels vous ne faites pas confiance.
+ Ne publiez pas d'images contenant des données privées ou sensibles.
+ Appliquez tous les correctifs de sécurité Windows ou Linux disponibles lors de la création d'images.
+ Appliquez régulièrement des mises à jour d'AMI gérées à vos recettes macOS et créez de nouvelles images pour lancer des instances dotées des derniers correctifs de sécurité.

Nous vous recommandons vivement de tester vos images pour valider le niveau de sécurité et les niveaux de conformité en matière de sécurité applicables.  Des solutions telles qu'[Amazon Inspector](https://aws.amazon.com/inspector/) peuvent aider à valider le niveau de sécurité et de conformité des images.

**IMDSv2 pour les pipelines Image Builder**  
Lorsque votre pipeline Image Builder s'exécute, il envoie des requêtes HTTP pour lancer des instances EC2 qu'Image Builder utilise pour créer et tester votre image. Pour configurer la version d'IMDS que votre pipeline utilise pour les demandes de lancement, définissez le `httpTokens` paramètre dans les paramètres de métadonnées de votre instance de configuration d'infrastructure Image Builder.

**Note**  
Nous vous recommandons de configurer toutes les instances EC2 qu'Image Builder lance à partir d'une version de pipeline IMDSv2 afin que les demandes de récupération des métadonnées des instances nécessitent un en-tête de jeton signé.

Pour plus d'informations sur la configuration de l'infrastructure Image Builder, consultez[Gérer la configuration de l'infrastructure Image Builder](manage-infra-config.md). Pour plus d'informations sur les options de métadonnées d'instance EC2 pour les images Linux, consultez [Configurer les options de métadonnées d'instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) dans le guide de l'utilisateur Amazon EC2. Pour les images Windows, consultez la section [Configurer les options de métadonnées de l'instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) dans le guide de l'utilisateur Amazon EC2.

## Nettoyage requis après la construction
<a name="post-build-cleanup"></a>

Une fois qu'Image Builder a terminé toutes les étapes de création de votre image personnalisée, Image Builder prépare l'instance de génération à des fins de test et de création d'image. Avant d'arrêter l'instance de génération pour créer l'instantané, Image Builder effectue le nettoyage suivant pour garantir la sécurité de votre image :

------
#### [ Linux ]

Le pipeline Image Builder exécute un script de nettoyage pour garantir que l'image finale respecte les meilleures pratiques de sécurité et pour supprimer tous les artefacts ou paramètres de construction qui ne devraient pas être répercutés sur votre instantané. Cependant, vous pouvez ignorer certaines sections du script ou remplacer complètement les données utilisateur. Par conséquent, les images produites par les pipelines Image Builder ne sont pas nécessairement conformes à des critères réglementaires spécifiques.

Lorsque le pipeline a terminé ses étapes de création et de test, Image Builder exécute automatiquement le script de nettoyage suivant juste avant de créer l'image de sortie.

**Important**  
Si vous remplacez les **données utilisateur** dans votre recette, le script ne s'exécute pas. Dans ce cas, assurez-vous d'inclure une commande dans vos données utilisateur qui crée un fichier vide nommé`perform_cleanup`. Image Builder détecte ce fichier et exécute le script de nettoyage avant de créer la nouvelle image.

```
#!/bin/bash
if [[ ! -f {{workingDirectory}}/perform_cleanup ]]; then
    echo "Skipping cleanup"
    exit 0
else
    sudo rm -f {{workingDirectory}}/perform_cleanup
fi

function cleanup() {
    FILES=("$@")
    for FILE in "${FILES[@]}"; do
        if [[ -f "$FILE" ]]; then
            echo "Deleting $FILE";
            sudo shred -zuf $FILE;
        fi;
        if [[ -f $FILE ]]; then
            echo "Failed to delete '$FILE'. Failing."
            exit 1
        fi;
    done
};


# Clean up for cloud-init files
CLOUD_INIT_FILES=(
    "/etc/sudoers.d/90-cloud-init-users"
    "/etc/locale.conf"
    "/var/log/cloud-init.log"
    "/var/log/cloud-init-output.log"
)
if [[ -f {{workingDirectory}}/skip_cleanup_cloudinit_files ]]; then
    echo "Skipping cleanup of cloud init files"
else
    echo "Cleaning up cloud init files"
    cleanup "${CLOUD_INIT_FILES[@]}"
    if [[ $( sudo find /var/lib/cloud -type f | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting files within /var/lib/cloud/*"
        sudo find /var/lib/cloud -type f -exec shred -zuf {} \;
    fi;

    if [[ $( sudo ls /var/lib/cloud | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/lib/cloud/*"
        sudo rm -rf /var/lib/cloud/* || true
    fi;
fi;


# Clean up for temporary instance files
INSTANCE_FILES=(
    "/etc/.updated"
    "/etc/aliases.db"
    "/etc/hostname"
    "/var/lib/misc/postfix.aliasesdb-stamp"
    "/var/lib/postfix/master.lock"
    "/var/spool/postfix/pid/master.pid"
    "/var/.updated"
    "/var/cache/yum/x86_64/2/.gpgkeyschecked.yum"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_files ]]; then
    echo "Skipping cleanup of instance files"
else
    echo "Cleaning up instance files"
    cleanup "${INSTANCE_FILES[@]}"
fi;


# Clean up for ssh files
SSH_FILES=(
    "/etc/ssh/ssh_host_rsa_key"
    "/etc/ssh/ssh_host_rsa_key.pub"
    "/etc/ssh/ssh_host_ecdsa_key"
    "/etc/ssh/ssh_host_ecdsa_key.pub"
    "/etc/ssh/ssh_host_ed25519_key"
    "/etc/ssh/ssh_host_ed25519_key.pub"
    "/root/.ssh/authorized_keys"
)
if [[ -f {{workingDirectory}}/skip_cleanup_ssh_files ]]; then
    echo "Skipping cleanup of ssh files"
else
    echo "Cleaning up ssh files"
    cleanup "${SSH_FILES[@]}"
    USERS=$(ls /home/)
    for user in $USERS; do
        echo Deleting /home/"$user"/.ssh/authorized_keys;
        sudo find /home/"$user"/.ssh/authorized_keys -type f -exec shred -zuf {} \;
    done
    for user in $USERS; do
        if [[ -f /home/"$user"/.ssh/authorized_keys ]]; then
            echo Failed to delete /home/"$user"/.ssh/authorized_keys;
            exit 1
        fi;
    done;
fi;


# Clean up for instance log files
INSTANCE_LOG_FILES=(
    "/var/log/audit/audit.log"
    "/var/log/boot.log"
    "/var/log/dmesg"
    "/var/log/cron"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_log_files ]]; then
    echo "Skipping cleanup of instance log files"
else
    echo "Cleaning up instance log files"
    cleanup "${INSTANCE_LOG_FILES[@]}"
fi;

# Clean up for TOE files
if [[ -f {{workingDirectory}}/skip_cleanup_toe_files ]]; then
    echo "Skipping cleanup of TOE files"
else
    echo "Cleaning TOE files"
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
        echo "Deleting files within {{workingDirectory}}/TOE_*"
        sudo find {{workingDirectory}}/TOE_* -type f -exec shred -zuf {} \;
    fi
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete {{workingDirectory}}/TOE_*"
        exit 1
    fi
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
        echo "Deleting {{workingDirectory}}/TOE_*"
        sudo rm -rf {{workingDirectory}}/TOE_*
    fi
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete {{workingDirectory}}/TOE_*"
        exit 1
    fi
fi

# Clean up for ssm log files
if [[ -f {{workingDirectory}}/skip_cleanup_ssm_log_files ]]; then
    echo "Skipping cleanup of ssm log files"
else
    echo "Cleaning up ssm log files"
    if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
        echo "Deleting files within /var/log/amazon/ssm/*"
        sudo find /var/log/amazon/ssm -type f -exec shred -zuf {} \;
    fi
    if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete /var/log/amazon/ssm"
        exit 1
    fi
    if [[ -d "/var/log/amazon/ssm" ]]; then
        echo "Deleting /var/log/amazon/ssm/*"
        sudo rm -rf /var/log/amazon/ssm
    fi
    if [[ -d "/var/log/amazon/ssm" ]]; then
        echo "Failed to delete /var/log/amazon/ssm"
        exit 1
    fi
fi


if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
    echo "Deleting /var/log/sa/sa*"
    sudo shred -zuf /var/log/sa/sa*
fi
if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
    echo "Failed to delete /var/log/sa/sa*"
    exit 1
fi

if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/lib/dhclient/dhclient*.lease"
        sudo shred -zuf /var/lib/dhclient/dhclient*.lease
fi
if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
        echo "Failed to delete /var/lib/dhclient/dhclient*.lease"
        exit 1
fi

if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
        echo "Deleting files within /var/tmp/*"
        sudo find /var/tmp -type f -exec shred -zuf {} \;
fi
if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete /var/tmp"
        exit 1
fi
if [[ $( sudo ls /var/tmp | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/tmp/*"
        sudo rm -rf /var/tmp/*
fi

# Shredding is not guaranteed to work well on rolling logs

if [[ -f "/var/lib/rsyslog/imjournal.state" ]]; then
        echo "Deleting /var/lib/rsyslog/imjournal.state"
        sudo shred -zuf /var/lib/rsyslog/imjournal.state
        sudo rm -f /var/lib/rsyslog/imjournal.state
fi

if [[ $( sudo ls /var/log/journal/ | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/log/journal/*"
        sudo find /var/log/journal/ -type f -exec shred -zuf {} \;
        sudo rm -rf /var/log/journal/*
fi

sudo touch /etc/machine-id
```

------
#### [ Windows ]

Une fois que le pipeline Image Builder a personnalisé les images Windows, il exécute l'utilitaire Microsoft [Sysprep](https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation?view=windows-11). Ces actions suivent les [AWS meilleures pratiques en matière de renforcement et de nettoyage de l'image](https://aws.amazon.com/articles/public-ami-publishing-hardening-and-clean-up-requirements/).

------
#### [ macOS ]

Le pipeline Image Builder exécute un script de nettoyage pour garantir que l'image finale respecte les meilleures pratiques de sécurité et pour supprimer tous les artefacts ou paramètres de construction qui ne devraient pas être répercutés sur votre instantané. Cependant, vous pouvez ignorer certaines sections du script ou remplacer complètement les données utilisateur. Par conséquent, les images produites par les pipelines Image Builder ne sont pas nécessairement conformes à des critères réglementaires spécifiques.

Lorsque le pipeline a terminé ses étapes de création et de test, Image Builder exécute automatiquement le script de nettoyage suivant juste avant de créer l'image de sortie.

**Important**  
Si vous remplacez les **données utilisateur** dans votre recette, le script ne s'exécute pas. Dans ce cas, assurez-vous d'inclure une commande dans vos données utilisateur qui crée un fichier vide nommé`perform_cleanup`. Image Builder détecte ce fichier et exécute le script de nettoyage avant de créer la nouvelle image.

```
#!/bin/bash
if [[ ! -f {{workingDirectory}}/perform_cleanup ]]; then
  echo "Skipping cleanup"
  exit 0
else
  sudo rm -f {{workingDirectory}}/perform_cleanup
fi

function cleanup() {
  FILES=("$@")
  for FILE in "${FILES[@]}"; do
      if [[ -f "$FILE" ]]; then
          echo "Deleting $FILE";
          sudo rm -f $FILE;
      fi;
      if [[ -f $FILE ]]; then
          echo "Failed to delete '$FILE'. Failing."
          exit 1
      fi;
  done
};

# Clean up for cloud-init files
CLOUD_INIT_FILES=(
  "/etc/sudoers.d/90-cloud-init-users"
  "/etc/locale.conf"
  "/var/log/cloud-init.log"
  "/var/log/cloud-init-output.log"
)
if [[ -f {{workingDirectory}}/skip_cleanup_cloudinit_files ]]; then
  echo "Skipping cleanup of cloud init files"
else
  echo "Cleaning up cloud init files"
  cleanup "${CLOUD_INIT_FILES[@]}"
  if [[ $( sudo find /var/lib/cloud -type f | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting files within /var/lib/cloud/*"
      sudo find /var/lib/cloud -type f -exec rm -f {} \;
  fi;

  if [[ $( sudo ls /var/lib/cloud | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/lib/cloud/*"
      sudo rm -rf /var/lib/cloud/* || true
  fi;
fi;


# Clean up for temporary instance files
INSTANCE_FILES=(
  "/etc/.updated"
  "/etc/aliases.db"
  "/etc/hostname"
  "/var/lib/misc/postfix.aliasesdb-stamp"
  "/var/lib/postfix/master.lock"
  "/var/spool/postfix/pid/master.pid"
  "/var/.updated"
  "/var/cache/yum/x86_64/2/.gpgkeyschecked.yum"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_files ]]; then
  echo "Skipping cleanup of instance files"
else
  echo "Cleaning up instance files"
  cleanup "${INSTANCE_FILES[@]}"
fi;


# Clean up for ssh files
SSH_FILES=(
  "/etc/ssh/ssh_host_rsa_key"
  "/etc/ssh/ssh_host_rsa_key.pub"
  "/etc/ssh/ssh_host_ecdsa_key"
  "/etc/ssh/ssh_host_ecdsa_key.pub"
  "/etc/ssh/ssh_host_ed25519_key"
  "/etc/ssh/ssh_host_ed25519_key.pub"
  "/root/.ssh/authorized_keys"
)
if [[ -f {{workingDirectory}}/skip_cleanup_ssh_files ]]; then
  echo "Skipping cleanup of ssh files"
else
  echo "Cleaning up ssh files"
  cleanup "${SSH_FILES[@]}"
  USERS=$(ls /home/)
  for user in $USERS; do
      echo Deleting /home/"$user"/.ssh/authorized_keys;
      sudo find /home/"$user"/.ssh/authorized_keys -type f -exec rm -f {} \;
  done
  for user in $USERS; do
      if [[ -f /home/"$user"/.ssh/authorized_keys ]]; then
          echo Failed to delete /home/"$user"/.ssh/authorized_keys;
          exit 1
      fi;
  done;
fi;


# Clean up for instance log files
INSTANCE_LOG_FILES=(
  "/var/log/audit/audit.log"
  "/var/log/boot.log"
  "/var/log/dmesg"
  "/var/log/cron"
  "/var/log/amazon/ec2/ec2-macos-init.log"
  "/var/log/amazon/ec2/ena-ethernet.log"
  "/var/log/amazon/ec2/system-monitoring.log"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_log_files ]]; then
  echo "Skipping cleanup of instance log files"
else
  echo "Cleaning up instance log files"
  cleanup "${INSTANCE_LOG_FILES[@]}"
fi;

# Clean up for TOE files
if [[ -f {{workingDirectory}}/skip_cleanup_toe_files ]]; then
  echo "Skipping cleanup of TOE files"
else
  echo "Cleaning TOE files"
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
      echo "Deleting files within {{workingDirectory}}/TOE_*"
      sudo find {{workingDirectory}}/TOE_* -type f -exec rm -f {} \;
  fi
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete {{workingDirectory}}/TOE_*"
      exit 1
  fi
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
      echo "Deleting {{workingDirectory}}/TOE_*"
      sudo rm -rf {{workingDirectory}}/TOE_*
  fi
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete {{workingDirectory}}/TOE_*"
      exit 1
  fi
fi

# Clean up for ssm log files
if [[ -f {{workingDirectory}}/skip_cleanup_ssm_log_files ]]; then
  echo "Skipping cleanup of ssm log files"
else
  echo "Cleaning up ssm log files"
  if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
      echo "Deleting files within /var/log/amazon/ssm/*"
      sudo find /var/log/amazon/ssm -type f -exec rm -f {} \;
  fi
  if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete /var/log/amazon/ssm"
      exit 1
  fi
  if [[ -d "/var/log/amazon/ssm" ]]; then
      echo "Deleting /var/log/amazon/ssm/*"
      sudo rm -rf /var/log/amazon/ssm
  fi
  if [[ -d "/var/log/amazon/ssm" ]]; then
      echo "Failed to delete /var/log/amazon/ssm"
      exit 1
  fi
fi


if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
  echo "Deleting /var/log/sa/sa*"
  sudo rm -f /var/log/sa/sa*
fi
if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
  echo "Failed to delete /var/log/sa/sa*"
  exit 1
fi

if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/lib/dhclient/dhclient*.lease"
      sudo rm -f /var/lib/dhclient/dhclient*.lease
fi
if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
      echo "Failed to delete /var/lib/dhclient/dhclient*.lease"
      exit 1
fi

if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
      echo "Deleting files within /var/tmp/*"
      sudo find /var/tmp -type f -exec rm -f {} \;
fi
if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete /var/tmp"
      exit 1
fi
if [[ $( sudo ls /var/tmp | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/tmp/*"
      sudo rm -rf /var/tmp/*
fi

# Shredding is not guaranteed to work well on rolling logs

if [[ -f "/var/lib/rsyslog/imjournal.state" ]]; then
      echo "Deleting /var/lib/rsyslog/imjournal.state"
      sudo rm -f /var/lib/rsyslog/imjournal.state
      sudo rm -f /var/lib/rsyslog/imjournal.state
fi

if [[ $( sudo ls /var/log/journal/ | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/log/journal/*"
      sudo find /var/log/journal/ -type f -exec rm -f {} \;
      sudo rm -rf /var/log/journal/*
fi

sudo touch /etc/machine-id
```

------

## Remplacer le script de nettoyage Linux
<a name="override-linux-cleanup-script"></a>

Image Builder crée des images sécurisées par défaut et suit nos meilleures pratiques en matière de sécurité. Toutefois, certains cas d'utilisation plus avancés peuvent vous obliger à ignorer une ou plusieurs sections du script de nettoyage intégré. Si vous devez ignorer une partie du nettoyage, nous vous recommandons vivement de tester votre AMI de sortie pour garantir la sécurité de votre image.

**Important**  
Le fait de sauter des sections dans le script de nettoyage peut entraîner l'inclusion d'informations sensibles, telles que les détails du compte du propriétaire ou les clés SSH dans l'image finale, et dans toute instance lancée à partir de cette image. Vous pouvez également rencontrer des problèmes lors du lancement dans différentes zones de disponibilité, régions ou comptes.

Le tableau suivant décrit les sections du script de nettoyage, les fichiers supprimés dans cette section et les noms de fichiers que vous pouvez utiliser pour signaler une section qu'Image Builder doit ignorer. Pour ignorer une section spécifique du script de nettoyage, vous pouvez utiliser le module d'action du [CreateFile](toe-action-modules.md#action-modules-createfile) composant ou une commande dans vos données utilisateur (en cas de remplacement) pour créer un fichier vide portant le nom indiqué dans la colonne **Nom de fichier de la section Ignorer**.

**Note**  
Les fichiers que vous créez pour ignorer une section du script de nettoyage ne doivent pas comporter d'extension de fichier. Par exemple, si vous souhaitez ignorer la `CLOUD_INIT_FILES` section du script, mais que vous créez un fichier nommé`skip_cleanup_cloudinit_files.txt`, Image Builder ne reconnaîtra pas le fichier ignoré.


**Input**  

| Section de nettoyage | Fichiers supprimés | Ignorer le nom du fichier de section | 
| --- | --- | --- | 
| `CLOUD_INIT_FILES` | `/etc/sudoers.d/90-cloud-init-users` `/etc/locale.conf` `/var/log/cloud-init.log` `/var/log/cloud-init-output.log`  | `skip_cleanup_cloudinit_files` | 
| `INSTANCE_FILES` | `/etc/.updated` `/etc/aliases.db` `/etc/hostname` `/var/lib/misc/postfix.aliasesdb-stamp` `/var/lib/postfix/master.lock` `/var/spool/postfix/pid/master.pid` `/var/.updated` `/var/cache/yum/x86_64/2/.gpgkeyschecked.yum`  | `skip_cleanup_instance_files` | 
| `SSH_FILES` | `/etc/ssh/ssh_host_rsa_key` `/etc/ssh/ssh_host_rsa_key.pub` `/etc/ssh/ssh_host_ecdsa_key` `/etc/ssh/ssh_host_ecdsa_key.pub` `/etc/ssh/ssh_host_ed25519_key` `/etc/ssh/ssh_host_ed25519_key.pub` `/root/.ssh/authorized_keys` `/home/<all users>/.ssh/authorized_keys;`  | `skip_cleanup_ssh_files` | 
| `INSTANCE_LOG_FILES` | `/var/log/audit/audit.log` `/var/log/boot.log` `/var/log/dmesg` `/var/log/cron`  | `skip_cleanup_instance_log_files` | 
| `TOE_FILES` | `{{workingDirectory}}/TOE_*` | `skip_cleanup_toe_files` | 
| `SSM_LOG_FILES` | `/var/log/amazon/ssm/*` | `skip_cleanup_ssm_log_files` | 