ECS CodeDeploy IAMRôle Amazon - 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.

ECS CodeDeploy IAMRôle Amazon

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

Note

Les utilisateurs ont également besoin d'autorisations pour les utiliser CodeDeploy ; ces autorisations sont décrites dansIAMAutorisations 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 (IAMconsole)
  1. Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

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

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

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

  5. Choisissez Suivant.

  6. Dans la section Joindre une politique d'autorisations, assurez-vous que la AWSCodeDeployRoleForECSstratégie 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

Tout remplacer user input avec vos propres informations.

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

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": ["codedeploy.amazonaws.com"] }, "Action": "sts:AssumeRole" } ] }
  2. Créez un IAM rôle nommé ecsCodedeployRole à l'aide de la politique de confiance 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 IAMRôle d'exécution des ECS tâches Amazon et IAMRôle de ECS tâche Amazon. Ensuite, vous associez cette politique au CodeDeploy rôle

Création de la stratégie

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

  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'JSONoption.

  5. Entrez le document JSON de politique 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 entre les options Visual et celles de JSONl'éditeur à tout moment. Toutefois, si vous apportez des modifications ou si vous choisissez Suivant dans l'éditeur visuel, vous IAM pouvez restructurer votre politique afin de l'optimiser pour l'éditeur visuel. Pour plus d'informations, consultez la section Restructuration des politiques dans le guide de IAM l'utilisateur.

  7. Sur la page Vérifier et créer, tapez 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, consultez la section Modification d'une politique d'autorisations de rôle (console) dans le Guide de AWS Identity and Access Management l'utilisateur.

AWS CLI

Tout remplacer user input avec 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 IAM politique à l'aide du fichier du document de JSON stratégie.

    aws iam create-policy \ --policy-name cdTaskExecutionPolicy \ --policy-document file://blue-green-iam-passrole.json
  3. Récupérez ARN la IAM politique 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 CodeDeploy IAM rôle.

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