

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 2 : créer un rôle de service pour CodeDeploy
<a name="getting-started-create-service-role"></a>

Dans AWS, les rôles de service sont utilisés pour accorder des autorisations à un AWS service afin qu'il puisse accéder aux AWS ressources. Les politiques que vous attachez au rôle de service déterminent les ressources auxquelles le service peut accéder et ce qu'il peut faire avec ces ressources. 

Le rôle de service pour lequel vous créez CodeDeploy doit disposer des autorisations requises pour votre plate-forme de calcul. Si vous déployez sur plusieurs plateformes informatiques, créez un rôle de service pour chacune d'entre elles. Pour ajouter des autorisations, joignez une ou plusieurs des politiques AWS fournies suivantes :

Pour les déploiements EC2/sur site, joignez la politique. **AWSCodeDeployRole** Elle fournit les autorisations requises pour que votre rôle de service puisse :
+ Lisez les balises de vos instances ou identifiez vos instances Amazon EC2 par les noms de groupes Amazon EC2 Auto Scaling.
+ Lisez, créez, mettez à jour et supprimez les groupes Amazon EC2 Auto Scaling, les hooks de cycle de vie et les politiques de dimensionnement.
+ Publiez des informations dans les rubriques Amazon SNS.
+ Récupérez des informations sur les CloudWatch alarmes.
+ Lisez et mettez à jour Elastic Load Balancing.
**Note**  
 Si vous créez votre groupe Auto Scaling avec un modèle de lancement, vous devez ajouter les autorisations suivantes :   
 `ec2:RunInstances` 
 `ec2:CreateTags` 
 `iam:PassRole` 
Pour plus d'informations[Étape 2 : créer un rôle de service](#getting-started-create-service-role), consultez les sections [Création d'un modèle de lancement pour un groupe Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) et [prise en charge des modèles de lancement](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-launch-template-permissions.html) dans le guide de l'*utilisateur Amazon EC2 Auto Scaling*. 

Pour les déploiements Amazon ECS, si vous souhaitez un accès complet aux services de support, joignez la **AWSCodeDeployRoleForECS** politique. Elle fournit les autorisations requises pour que votre rôle de service puisse :
+  Lisez, mettez à jour et supprimez des ensembles de tâches Amazon ECS. 
+  Mettez à jour les groupes cibles, les auditeurs et les règles d'Elastic Load Balancing. 
+  Invoquez AWS Lambda des fonctions. 
+  Accédez aux fichiers de révision dans les compartiments Amazon S3. 
+  Récupérez des informations sur les CloudWatch alarmes. 
+ Publiez des informations dans les rubriques Amazon SNS.

Pour les déploiements Amazon ECS, si vous souhaitez un accès limité aux services de support, joignez la **AWSCodeDeployRoleForECSLimited** politique. Elle fournit les autorisations requises pour que votre rôle de service puisse :
+  Lisez, mettez à jour et supprimez des ensembles de tâches Amazon ECS. 
+  Récupérez des informations sur les CloudWatch alarmes. 
+ Publiez des informations dans les rubriques Amazon SNS.

Pour les déploiements AWS Lambda, si vous souhaitez autoriser la publication sur Amazon SNS, joignez la politique. **AWSCodeDeployRoleForLambda** Elle fournit les autorisations requises pour que votre rôle de service puisse :
+  Lisez, mettez à jour et invoquez AWS Lambda des fonctions et des alias. 
+  Accédez aux fichiers de révision dans les compartiments Amazon S3. 
+  Récupérez des informations sur les CloudWatch alarmes. 
+  Publiez des informations dans les rubriques Amazon SNS. 

Pour les déploiements AWS Lambda, si vous souhaitez limiter l'accès à Amazon SNS, joignez la politique. **AWSCodeDeployRoleForLambdaLimited** Elle fournit les autorisations requises pour que votre rôle de service puisse :
+  Lisez, mettez à jour et invoquez AWS Lambda des fonctions et des alias. 
+  Accédez aux fichiers de révision dans les compartiments Amazon S3. 
+  Récupérez des informations sur les CloudWatch alarmes. 

Dans le cadre de la configuration du rôle de service, vous mettez à jour également sa relation d'approbation pour spécifier les points de terminaison auxquels vous souhaitez lui accorder l'accès.

Vous pouvez créer un rôle de service avec la console IAM AWS CLI, le ou l' APIsIAM.

**Topics**
+ [Création d'un rôle de service (console)](#getting-started-create-service-role-console)
+ [Création d'un rôle de service (CLI)](#getting-started-create-service-role-cli)
+ [Obtenir l'ARN du rôle de service (console)](#getting-started-get-service-role-console)
+ [Obtenez l'ARN du rôle de service (CLI)](#getting-started-get-service-role-cli)

## Création d'un rôle de service (console)
<a name="getting-started-create-service-role-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, sélectionnez **Rôles**, puis **Créer un rôle**.

1. Choisissez le **AWS service**, puis sous **Cas d'utilisation**, dans la liste déroulante, sélectionnez **CodeDeploy**.

1. Choisissez votre cas d'utilisation :
   +  Pour les déploiements EC2/sur site, choisissez. **CodeDeploy** 
   +  **Pour les déploiements AWS Lambda, choisissez Lambda. CodeDeploy ** 
   +  Pour les déploiements Amazon ECS, choisissez **CodeDeploy - ECS.** 

1. Choisissez **Suivant**.

1. Sur la page **Ajouter des autorisations**, la politique d'autorisation adaptée au cas d'utilisation est affichée. 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,**CodeDeployServiceRole**), puis choisissez **Créer un rôle**.

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

1. Si vous souhaitez que ce rôle de service ait l'autorisation d'accéder à tous les points de terminaison actuellement pris en charge, vous avez terminé cette procédure.

   Pour empêcher ce rôle de service d'accéder à certains points de terminaison, poursuivez les étapes restantes de cette procédure.

1. Dans la liste des rôles, recherchez et choisissez le rôle que vous venez de créer (`CodeDeployServiceRole`).

1. Choisissez l’onglet **Relations de confiance**.

1. Choisissez **Modifier la politique d’approbation**.

   Vous devriez voir la stratégie suivante, qui fournit au rôle de service l'autorisation d'accéder à tous les points de terminaison pris en charge :

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

   Pour accorder au rôle de service l'accès à certains points de terminaison pris en charge uniquement, remplacez le contenu de la zone de texte de la politique de confiance par la politique suivante. Supprimez les lignes correspondant aux points de terminaison auxquels vous souhaitez empêcher l'accès, puis choisissez **Mettre à jour la politique**.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       
                       "codedeploy.us-east-1.amazonaws.com",
                       "codedeploy.us-east-2.amazonaws.com",
                       "codedeploy.us-west-1.amazonaws.com",
                       "codedeploy.us-west-2.amazonaws.com",
                       "codedeploy.ca-central-1.amazonaws.com",
                       "codedeploy.ap-east-1.amazonaws.com",                  
                       "codedeploy.ap-northeast-1.amazonaws.com",
                       "codedeploy.ap-northeast-2.amazonaws.com",
                       "codedeploy.ap-northeast-3.amazonaws.com",
                       "codedeploy.ap-southeast-1.amazonaws.com",
                       "codedeploy.ap-southeast-2.amazonaws.com",
                       "codedeploy.ap-southeast-3.amazonaws.com",
                       "codedeploy.ap-southeast-4.amazonaws.com",
                       "codedeploy.ap-south-1.amazonaws.com",
                       "codedeploy.ap-south-2.amazonaws.com",
                       "codedeploy.ca-central-1.amazonaws.com",
                       "codedeploy.eu-west-1.amazonaws.com",
                       "codedeploy.eu-west-2.amazonaws.com",
                       "codedeploy.eu-west-3.amazonaws.com",
                       "codedeploy.eu-central-1.amazonaws.com",
                       "codedeploy.eu-central-2.amazonaws.com",
                       "codedeploy.eu-north-1.amazonaws.com",
                       "codedeploy.eu-south-1.amazonaws.com",
                       "codedeploy.eu-south-2.amazonaws.com",
                       "codedeploy.il-central-1.amazonaws.com",
                       "codedeploy.me-central-1.amazonaws.com",
                       "codedeploy.me-south-1.amazonaws.com",
                       "codedeploy.sa-east-1.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

Pour plus d'informations sur la création de rôles de service, consultez la section [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-creatingrole-service.html) dans le *Guide de l'utilisateur IAM*.

## Création d'un rôle de service (CLI)
<a name="getting-started-create-service-role-cli"></a>

1. Sur votre machine de développement, créez un fichier texte nommé, par exemple, `CodeDeployDemo-Trust.json`. Ce fichier est utilisé pour permettre à CodeDeploy de travailler en votre nom.

   Effectuez l’une des actions suivantes : 
   + Pour accorder l'accès à toutes les AWS régions prises en charge, enregistrez le contenu suivant dans le fichier :

     ```
     {
         "Version": "2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "",
                 "Effect": "Allow",
                 "Principal": {
                     "Service": [
                         "codedeploy.amazonaws.com"
                     ]
                 },
                 "Action": "sts:AssumeRole"
             }
         ]
     }
     ```
   + Pour accorder l'accès à certaines régions prises en charge seulement, tapez le contenu suivant dans le fichier et supprimez les lignes pour les régions auxquelles vous souhaitez exclure l'accès :

     ```
     {
         "Version": "2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "",
                 "Effect": "Allow",
                 "Principal": {
                     "Service": [
                         
                         "codedeploy.us-east-1.amazonaws.com",
                         "codedeploy.us-east-2.amazonaws.com",
                         "codedeploy.us-west-1.amazonaws.com",
                         "codedeploy.us-west-2.amazonaws.com",
                         "codedeploy.ca-central-1.amazonaws.com",
                         "codedeploy.ap-east-1.amazonaws.com",                  
                         "codedeploy.ap-northeast-1.amazonaws.com",
                         "codedeploy.ap-northeast-2.amazonaws.com",
                         "codedeploy.ap-northeast-3.amazonaws.com",
                         "codedeploy.ap-southeast-1.amazonaws.com",
                         "codedeploy.ap-southeast-2.amazonaws.com",
                         "codedeploy.ap-southeast-3.amazonaws.com",
                         "codedeploy.ap-southeast-4.amazonaws.com",
                         "codedeploy.ap-south-1.amazonaws.com",
                         "codedeploy.ap-south-2.amazonaws.com",
                         "codedeploy.ca-central-1.amazonaws.com",
                         "codedeploy.eu-west-1.amazonaws.com",
                         "codedeploy.eu-west-2.amazonaws.com",
                         "codedeploy.eu-west-3.amazonaws.com",
                         "codedeploy.eu-central-1.amazonaws.com",
                         "codedeploy.eu-central-2.amazonaws.com",
                         "codedeploy.eu-north-1.amazonaws.com",
                         "codedeploy.eu-south-1.amazonaws.com",
                         "codedeploy.eu-south-2.amazonaws.com",
                         "codedeploy.il-central-1.amazonaws.com",
                         "codedeploy.me-central-1.amazonaws.com",
                         "codedeploy.me-south-1.amazonaws.com",
                         "codedeploy.sa-east-1.amazonaws.com"
                     ]
                 },
                 "Action": "sts:AssumeRole"
             }
         ]
     }
     ```
**Note**  
N'utilisez pas de virgule après le dernier point de terminaison de la liste.

1. Dans le même répertoire, appelez la commande **create-role** pour créer un rôle de service nommé **CodeDeployServiceRole** sur la base des informations figurant dans le fichier texte que vous venez de créer :

   ```
   aws iam create-role --role-name CodeDeployServiceRole --assume-role-policy-document file://CodeDeployDemo-Trust.json
   ```
**Important**  
N'oubliez pas d'inclure `file://` devant le nom du fichier. Il est nécessaire dans cette commande.

   Dans la sortie de la commande, notez la valeur de l'entrée `Arn` sous l'objet `Role`. Vous en aurez besoin plus tard pour créer des groupes de déploiement. Si vous oubliez cette valeur, suivez les instructions fournies dans la section [Obtenez l'ARN du rôle de service (CLI)](#getting-started-get-service-role-cli). 

1. La politique gérée que vous utilisez dépend de la plateforme de calcul.
   + Si votre déploiement concerne une plate-forme informatique EC2/sur site :

     Appelez la **attach-role-policy** commande pour donner au rôle de service nommé **CodeDeployServiceRole** les autorisations en fonction de la politique gérée IAM nommée**AWSCodeDeployRole**. Par exemple :

     ```
     aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSCodeDeployRole
     ```
   + Si votre déploiement concerne une plate-forme de calcul AWS Lambda :

     Appelez la **attach-role-policy** commande pour donner au rôle de service nommé **CodeDeployServiceRole** les autorisations en fonction de la politique gérée par IAM nommée **AWSCodeDeployRoleForLambda** ou**AWSCodeDeployRoleForLambdaLimited**. Par exemple :

     ```
     aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSCodeDeployRoleForLambda
     ```
   + Si votre déploiement concerne une plateforme de calcul Amazon ECS :

     Appelez la **attach-role-policy** commande pour donner au rôle de service nommé **CodeDeployServiceRole** les autorisations en fonction de la politique gérée par IAM nommée **AWSCodeDeployRoleForECS** ou**AWSCodeDeployRoleForECSLimited**. Par exemple :

     ```
     aws iam attach-role-policy --role-name CodeDeployServiceRole --policy-arn arn:aws:iam::aws:policy/AWSCodeDeployRoleForECS
     ```

Pour plus d'informations sur la création de rôles de service, consultez la section [Création d'un rôle pour un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-xacct.html) dans le *Guide de l'utilisateur IAM*.

## Obtenir l'ARN du rôle de service (console)
<a name="getting-started-get-service-role-console"></a>

Pour utiliser la console IAM afin d'obtenir l'ARN du rôle de service :

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 panneau de navigation, choisissez **Rôles**.

1. Dans la zone de texte **Filtre**, entrez **CodeDeployServiceRole**, puis appuyez sur Entrée.

1. Sélectionnez **CodeDeployServiceRole**.

1. Notez la valeur du champ **Role ARN**.

## Obtenez l'ARN du rôle de service (CLI)
<a name="getting-started-get-service-role-cli"></a>

Pour utiliser le AWS CLI pour obtenir l'ARN du rôle de service, appelez la **get-role** commande en fonction du rôle de service nommé **CodeDeployServiceRole** :

```
aws iam get-role --role-name CodeDeployServiceRole --query "Role.Arn" --output text
```

La valeur retournée correspond au nom ARN du rôle de service.