Rôle CodeDeploy IAM Amazon ECS - Amazon Elastic Container Service

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.

Rôle CodeDeploy IAM Amazon ECS

Avant de pouvoir utiliser le type de déploiement CodeDeploy bleu/vert avec Amazon ECS, le CodeDeploy service a besoin d'autorisations pour mettre à jour votre service Amazon ECS en votre nom. Ces autorisations sont fournies par le rôle CodeDeploy IAM (ecsCodeDeployRole).

Note

Les utilisateurs ont également besoin d'autorisations pour les utiliser CodeDeploy ; ces autorisations sont décrites dansAutorisations IAM requises.

Deux politiques gérées sont fournies. Pour plus d'informations, consultez l'un des articles suivants dans le Guide de référence des politiques AWS gérées :

Création du CodeDeploy rôle

Vous pouvez utiliser les procédures suivantes pour créer un CodeDeploy rôle pour Amazon ECS

AWS Management Console
Pour créer le rôle de service pour CodeDeploy (console IAM)
  1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/l'adresse.

  2. Dans le volet de navigation de la console IAM, sélectionnez Roles (Rôles), puis Create role (Créer un rôle).

  3. Pour Trusted entity (Entité de confiance), choisissez Service AWS.

  4. Pour Service ou cas d'utilisation, choisissez CodeDeploy, puis choisissez le cas d'utilisation CodeDeploy - ECS.

  5. Choisissez Suivant.

  6. Dans la section Attacher une politique d'autorisations, assurez-vous que la stratégie AWSCodeDeployRoleForECS est sélectionnée.

  7. Choisissez Suivant.

  8. Dans Nom du rôle, entrez ecsCodeDeployRôle.

  9. Passez en revue les informations du rôle, puis choisissez Create role (Créer un rôle).

AWS CLI

Remplacez tout user input par vos propres informations.

  1. Créez un fichier nommé codedeploy-trust-policy.json contenant la politique de confiance à utiliser pour le rôle CodeDeploy IAM.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": ["codedeploy.amazonaws.com"] }, "Action": "sts:AssumeRole" } ] }
  2. Créez un rôle IAM nommé ecsCodedeployRole à l'aide de la stratégie d'approbation créée à l'étape précédente.

    aws iam create-role \ --role-name ecsCodedeployRole \ --assume-role-policy-document file://codedeploy-trust-policy.json
  3. Attachez la politique AWSCodeDeployRoleForECS ou la politique AWSCodeDeployRoleForECSLimited gérée au ecsTaskRole rôle.

    aws iam attach-role-policy \ --role-name ecsCodedeployRole \ --policy-arn arn:aws:iam::aws:policy/AWSCodeDeployRoleForECS
    aws iam attach-role-policy \ --role-name ecsCodedeployRole \ --policy-arn arn:aws:iam::aws:policy/AWSCodeDeployRoleForECSLimited

Lorsque les tâches de votre service nécessitent un rôle d'exécution de tâches, vous devez ajouter l'iam:PassRoleautorisation pour chaque rôle d'exécution de tâche ou chaque remplacement de rôle de tâche au CodeDeploy rôle en tant que politique.

Autorisations relatives aux rôles d'exécution des tâches

Lorsque les tâches de votre service nécessitent un rôle d'exécution de tâches, vous devez ajouter l'iam:PassRoleautorisation pour chaque rôle d'exécution de tâche ou chaque remplacement de rôle de tâche au CodeDeploy rôle en tant que politique. Pour plus d’informations, consultez Rôle IAM d'exécution de tâche Amazon ECS et Rôle IAM de la tâche Amazon ECS. Ensuite, vous associez cette politique au CodeDeploy rôle

Création de la stratégie

AWS Management Console
Pour utiliser l'éditeur de politique JSON afin de créer une politique
  1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/l'adresse.

  2. Dans le panneau de navigation de gauche, sélectionnez Policies (Politiques).

    Si vous sélectionnez Politiques pour la première fois, la page Bienvenue dans les politiques gérées s'affiche. Sélectionnez Mise en route.

  3. En haut de la page, sélectionnez Créer une politique.

  4. Dans la section Éditeur de politiques, choisissez l’option JSON.

  5. Entrez le document de politique JSON suivant :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsCodeDeployRole>"] } ] }
  6. Choisissez Suivant.

    Note

    Vous pouvez basculer à tout moment entre les options des éditeurs visuel et JSON. Toutefois, si vous apportez des modifications ou si vous choisissez Suivant dans l’éditeur visuel, IAM peut restructurer votre politique afin de l’optimiser pour l’éditeur visuel. Pour de plus amples informations, consultez la page Restructuration de politique dans le Guide de l’utilisateur IAM.

  7. Sur la page Vérifier et créer, saisissez un Nom de politique et une Description (facultative) pour la politique que vous créez. Vérifiez les Autorisations définies dans cette politique pour voir les autorisations accordées par votre politique.

  8. Choisissez Create policy (Créer une politique) pour enregistrer votre nouvelle politique.

Après avoir créé la stratégie, associez-la au CodeDeploy rôle. Pour plus d'informations sur la manière d'associer la politique au rôle, voir Mettre à jour les autorisations pour un rôle dans le Guide de AWS Identity and Access Management l'utilisateur.

AWS CLI

Remplacez tout user input par vos propres informations.

  1. Créez un fichier nommé blue-green-iam-passrole.json avec le contenu suivant.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsCodeDeployRole>"] } ] }
  2. Utilisez la commande suivante pour créer la stratégie IAM à l'aide du fichier de document de stratégie JSON.

    aws iam create-policy \ --policy-name cdTaskExecutionPolicy \ --policy-document file://blue-green-iam-passrole.json
  3. Récupérez l'ARN de la politique IAM que vous avez créée à l'aide de la commande suivante.

    aws iam list-policies --scope Local --query 'Policies[?PolicyName==`cdTaskExecutionPolicy`].Arn'
  4. Utilisez la commande suivante pour associer la politique au rôle CodeDeploy IAM.

    aws iam attach-role-policy \ --role-name ecsCodedeployRole \ --policy-arn arn:aws:iam:111122223333:aws:policy/cdTaskExecutionPolicy