

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.

# Étape 4 : Création d'un profil d'instance IAM pour vos instances Amazon EC2
<a name="getting-started-create-iam-instance-profile"></a>

**Note**  
 Si vous utilisez la plateforme de calcul Amazon ECS ou AWS Lambda, ignorez cette étape.

Vos instances Amazon EC2 ont besoin d'une autorisation pour accéder aux compartiments ou aux GitHub référentiels Amazon S3 dans lesquels les applications sont stockées. *Pour lancer des instances Amazon EC2 compatibles avec CodeDeploy, vous devez créer un rôle IAM supplémentaire, un profil d'instance.* Ces instructions vous montrent comment créer un profil d'instance IAM à associer à vos instances Amazon EC2. Ce rôle donne à l' CodeDeploy agent l'autorisation d'accéder aux compartiments ou aux GitHub référentiels Amazon S3 où sont stockées vos applications.

Vous pouvez créer un profil d'instance IAM à l'aide de la AWS CLI console IAM ou de l'IAM. APIs

**Note**  
Vous pouvez attacher un profil d'instance IAM à une instance Amazon EC2 lorsque vous la lancez ou à une instance préalablement lancée. Pour plus d'informations, consultez la section [Profils d'instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-instanceprofile.html).

**Topics**
+ [Créez un profil d'instance IAM pour vos instances Amazon EC2 (CLI)](#getting-started-create-iam-instance-profile-cli)
+ [Création d'un profil d'instance IAM pour vos instances Amazon EC2 (console)](#getting-started-create-iam-instance-profile-console)

## Créez un profil d'instance IAM pour vos instances Amazon EC2 (CLI)
<a name="getting-started-create-iam-instance-profile-cli"></a>

Dans ces étapes, nous supposons que vous avez déjà suivi les instructions fournies dans les trois premières étapes de [Commencer avec CodeDeploy](getting-started-codedeploy.md).

1. Sur votre machine de développement, créez un fichier texte nommé `CodeDeployDemo-EC2-Trust.json`. Collez le contenu suivant, qui permet à Amazon EC2 de travailler en votre nom :

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

****  

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

------

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "ec2.cn-north-1.amazonaws.com",
                       "ec2.cn-northwest-1.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Dans le même répertoire, créez un fichier texte nommé `CodeDeployDemo-EC2-Permissions.json`. Collez le contenu suivant :

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```
**Note**  
Nous vous recommandons de limiter cette politique aux seuls compartiments Amazon S3 auxquels vos instances Amazon EC2 doivent accéder. Assurez-vous de donner accès aux compartiments Amazon S3 qui contiennent l' CodeDeploy agent. Dans le cas contraire, une erreur peut se produire lors de l'installation ou de la mise à jour de l' CodeDeploy agent sur les instances. Pour accorder au profil d'instance IAM l'accès à certains compartiments du kit de CodeDeploy ressources uniquement dans Amazon S3, appliquez la politique suivante, mais supprimez les lignes relatives aux compartiments auxquels vous souhaitez empêcher l'accès :  

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::aws-codedeploy-us-east-2/*",
           "arn:aws:s3:::aws-codedeploy-us-east-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-2/*",
           "arn:aws:s3:::aws-codedeploy-ca-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-3/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-north-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-2/*",
           "arn:aws:s3:::aws-codedeploy-il-central-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-east-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",        
           "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-2/*",
           "arn:aws:s3:::aws-codedeploy-me-central-1/*",
           "arn:aws:s3:::aws-codedeploy-me-south-1/*",
           "arn:aws:s3:::aws-codedeploy-sa-east-1/*"
         ]
       }
     ]
   }
   ```
**Note**  
Si vous souhaitez utiliser l'[autorisation IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-authorization) ou les points de terminaison Amazon Virtual Private Cloud (VPC) avec CodeDeploy, vous devez ajouter des autorisations supplémentaires. Consultez [Utiliser CodeDeploy avec Amazon Virtual Private Cloud](https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints) pour plus d'informations.

1. À partir du même répertoire, appelez la **create-role** commande pour créer un rôle IAM nommé**CodeDeployDemo-EC2-Instance-Profile**, en fonction des informations contenues dans le premier fichier :
**Important**  
N'oubliez pas d'inclure `file://` devant le nom du fichier. Il est nécessaire dans cette commande.

   ```
   aws iam create-role --role-name CodeDeployDemo-EC2-Instance-Profile --assume-role-policy-document file://CodeDeployDemo-EC2-Trust.json
   ```

1. À partir du même répertoire, appelez la commande **put-role-policy** pour donner au rôle nommé **CodeDeployDemo-EC2-Instance-Profile** les permissions basées sur les informations figurant dans le second fichier :
**Important**  
N'oubliez pas d'inclure `file://` devant le nom du fichier. Il est nécessaire dans cette commande.

   ```
   aws iam put-role-policy --role-name CodeDeployDemo-EC2-Instance-Profile --policy-name CodeDeployDemo-EC2-Permissions --policy-document file://CodeDeployDemo-EC2-Permissions.json
   ```

1. Appelez le **attach-role-policy** pour accorder au rôle Amazon EC2 Systems Manager des autorisations afin que SSM puisse installer CodeDeploy l'agent. Cette politique n'est pas nécessaire si vous prévoyez d'installer l'agent depuis le compartiment public Amazon S3 à l'aide de la ligne de commande. En savoir plus sur [ l'installation de l'agent CodeDeploy ](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html). 

   ```
   aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore --role-name CodeDeployDemo-EC2-Instance-Profile
   ```

1. Appelez la **create-instance-profile** commande suivie de la **add-role-to-instance-profile** commande pour créer un profil d'instance IAM nommé**CodeDeployDemo-EC2-Instance-Profile**. Le profil d'instance permet à Amazon EC2 de transmettre le rôle IAM nommé **CodeDeployDemo-EC2-Instance-Profile** à une instance Amazon EC2 lorsque celle-ci est lancée pour la première fois :

   ```
   aws iam create-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile
   aws iam add-role-to-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile --role-name CodeDeployDemo-EC2-Instance-Profile
   ```

   *Si vous avez besoin du nom du profil d'instance IAM, consultez [list-instance-profiles-for-role](https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profiles-for-role.html) dans la section IAM de la référence.AWS CLI *

Vous avez maintenant créé un profil d'instance IAM à associer à vos instances Amazon EC2. Pour de plus amples informations sur les rôles IAM, consultez [Rôles IAM pour Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) dans le *Guide de l’utilisateur Amazon EC2*.

## Création d'un profil d'instance IAM pour vos instances Amazon EC2 (console)
<a name="getting-started-create-iam-instance-profile-console"></a>

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le volet de navigation de la console IAM, sélectionnez **Policies**, puis **Create policy**.

1. Sur la page **Spécifier les autorisations**, choisissez **JSON**.

1. Supprimez l'exemple `JSON` de code.

1. Collez le code suivant :

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```
**Note**  
Nous vous recommandons de limiter cette politique aux seuls compartiments Amazon S3 auxquels vos instances Amazon EC2 doivent accéder. Assurez-vous de donner accès aux compartiments Amazon S3 qui contiennent l' CodeDeploy agent. Dans le cas contraire, une erreur peut se produire lors de l'installation ou de la mise à jour de l' CodeDeploy agent sur les instances. Pour accorder au profil d'instance IAM l'accès à certains compartiments du kit de CodeDeploy ressources uniquement dans Amazon S3, appliquez la politique suivante, mais supprimez les lignes relatives aux compartiments auxquels vous souhaitez empêcher l'accès :  

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::aws-codedeploy-us-east-2/*",
           "arn:aws:s3:::aws-codedeploy-us-east-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-2/*",
           "arn:aws:s3:::aws-codedeploy-ca-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-3/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-north-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-2/*",
           "arn:aws:s3:::aws-codedeploy-il-central-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-east-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",        
           "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-2/*",
           "arn:aws:s3:::aws-codedeploy-me-central-1/*",
           "arn:aws:s3:::aws-codedeploy-me-south-1/*",
           "arn:aws:s3:::aws-codedeploy-sa-east-1/*"
         ]
       }
     ]
   }
   ```
**Note**  
Si vous souhaitez utiliser l'[autorisation IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-authorization) ou les points de terminaison Amazon Virtual Private Cloud (VPC) avec CodeDeploy, vous devez ajouter des autorisations supplémentaires. Consultez [Utiliser CodeDeploy avec Amazon Virtual Private Cloud](https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints) pour plus d'informations.

1.  Choisissez **Suivant**. 

1. Sur la page **Réviser et créer**, dans la zone **Nom de la politique**, tapez**CodeDeployDemo-EC2-Permissions**.

1.  (Facultatif) Dans le champ **description**, saisissez une description de la politique. 

1. Sélectionnez **Créer une politique**.

1. Dans le volet de navigation, sélectionnez **Rôles**, puis **Créer un rôle**.

1. Sous **Cas d'utilisation, choisissez le cas** d'utilisation **EC2**.

1. Choisissez **Suivant**.

1.  Dans la liste des politiques, cochez la case à côté de la politique que vous venez de créer (**CodeDeployDemo-EC2-Permissions**). Si nécessaire, utilisez la zone de recherche pour trouver la politique. 

1.  Pour utiliser Systems Manager afin d'installer ou de configurer l' CodeDeploy agent, cochez la case à côté d'**Amazon SSMManaged InstanceCore**. Cette politique AWS gérée permet à une instance d'utiliser les fonctionnalités principales du service Systems Manager. Si nécessaire, utilisez la zone de recherche pour trouver la politique. Cette politique n'est pas nécessaire si vous prévoyez d'installer l'agent depuis le compartiment public Amazon S3 à l'aide de la ligne de commande. En savoir plus sur [ l'installation de l'agent CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html). 

1.  Choisissez **Suivant**. 

1. Sur la page **Nom, révision et création**, dans **Nom du rôle**, entrez le nom du rôle de service (par exemple,**CodeDeployDemo-EC2-Instance-Profile**), puis choisissez **Créer un rôle**.

   Vous pouvez également saisir une description de ce rôle de service dans **Description du rôle**.

Vous avez maintenant créé un profil d'instance IAM à associer à vos instances Amazon EC2. Pour de plus amples informations sur les rôles IAM, consultez [Rôles IAM pour Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) dans le *Guide de l’utilisateur Amazon EC2*.