Le flux de travail moderne du plan d'application Web à trois niveaux OnPullRequestéchoue en raison d'une erreur d'autorisation pour Amazon CodeGuru - Amazon CodeCatalyst

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.

Le flux de travail moderne du plan d'application Web à trois niveaux OnPullRequestéchoue en raison d'une erreur d'autorisation pour Amazon CodeGuru

Problème : Lorsque j'essaie d'exécuter un flux de travail pour mon projet, le flux de travail ne s'exécute pas et le message suivant s'affiche :

Failed at codeguru_codereview: The action failed during runtime. View the action's logs for more details.

Solution : L'une des causes possibles de cet échec d'action peut être due à des autorisations manquantes dans la politique de rôle IAM, lorsque votre version du rôle de service utilisée par CodeCatalyst in the connected ne dispose pas des autorisations requises pour que l'action codeguru_codereview s'exécute correctement. Compte AWS Pour résoudre ce problème, soit le rôle de service doit être mis à jour avec les autorisations requises, soit vous devez remplacer le rôle de service utilisé pour le flux de travail par un rôle disposant des autorisations requises pour Amazon CodeGuru et Amazon CodeGuru Reviewer. En suivant les étapes suivantes, recherchez votre rôle et mettez à jour les autorisations de la politique de rôle afin de permettre au flux de travail de s'exécuter correctement.

Note

Ces étapes s'appliquent aux flux de travail suivants dans CodeCatalyst :

  • Le OnPullRequestflux de travail prévu pour les projets créés avec le plan d'application Web moderne à trois niveaux dans. CodeCatalyst

  • Des flux de travail ont été ajoutés aux projets CodeCatalyst avec des actions qui accèdent à Amazon CodeGuru ou Amazon CodeGuru Reviewer.

Chaque projet contient des flux de travail avec des actions qui utilisent un rôle et un environnement fournis par la Compte AWS personne connectée à votre projet dans CodeCatalyst. Le flux de travail avec les actions et leur politique désignée est stocké dans votre référentiel source dans le répertoire /.codecatalyst/workflows. Il n'est pas nécessaire de modifier le code YAML du flux de travail, sauf si vous ajoutez un nouvel ID de rôle au flux de travail existant. Pour plus d'informations sur les éléments du modèle YAML et le formatage, consultezYAMLDéfinition du flux de travail.

Voici les étapes de haut niveau à suivre pour modifier votre politique de rôle et vérifier le flux de travail YAML.

Pour référencer le nom de votre rôle dans le flux de travail YAML et mettre à jour la politique
  1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

  2. Accédez à votre CodeCatalyst espace. Accédez à votre projet.

  3. Choisissez CI/CD, puis Workflows.

  4. Choisissez le flux de travail intitulé OnPullRequest. Choisissez l'onglet Définition.

  5. Dans le flux de travail YAML, dans le Role: champ situé sous l'action codeguru_codereview, notez le nom du rôle. Il s'agit du rôle associé à la politique que vous allez modifier dans IAM. L'exemple suivant montre le nom du rôle.

    Afficher le nom du rôle IAM dans le flux de travail YAML
  6. Effectuez l'une des actions suivantes :

    • (Recommandé) Mettez à jour le rôle de service associé à votre projet avec les autorisations requises pour Amazon CodeGuru et Amazon CodeGuru Reviewer. Le rôle portera un nom CodeCatalystWorkflowDevelopmentRole-spaceName avec un identifiant unique ajouté. Pour plus d'informations sur le rôle et la politique de rôle, consultezComprendre le rôle CodeCatalystWorkflowDevelopmentRole-spaceNamedu service. Passez aux étapes suivantes pour mettre à jour la politique dans IAM.

      Note

      Vous devez disposer d'un accès AWS administrateur Compte AWS au rôle et à la politique.

    • Modifiez le rôle de service utilisé pour le flux de travail en un rôle disposant des autorisations requises pour Amazon CodeGuru et Amazon CodeGuru Reviewer ou créez un nouveau rôle avec les autorisations requises.

  7. Connectez-vous à l'outil AWS Management Console, puis ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

    Dans la console IAM, recherchez le rôle indiqué à l'étape 5, par exempleCodeCatalystPreviewDevelopmentRole.

  8. Dans le rôle indiqué à l'étape 5, modifiez la politique d'autorisation pour inclure les codeguru:* autorisations codeguru-reviewer:* et. Une fois ces autorisations ajoutées, la politique d'autorisation doit ressembler à la suivante :

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudformation:*", "lambda:*", "apigateway:*", "ecr:*", "ecs:*", "ssm:*", "codedeploy:*", "s3:*", "iam:DeleteRole", "iam:UpdateRole", "iam:Get*", "iam:TagRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePolicy", "iam:CreatePolicy", "iam:DeletePolicy", "iam:CreatePolicyVersion", "iam:DeletePolicyVersion", "iam:PutRolePermissionsBoundary", "iam:DeleteRolePermissionsBoundary", "sts:AssumeRole", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:ModifyRule", "cloudwatch:DescribeAlarms", "sns:Publish", "sns:ListTopics", "codeguru-reviewer:*", "codeguru:*" ], "Resource": "*", "Effect": "Allow" } ] }
  9. Après avoir apporté les corrections de politique, revenez à l'exécution du flux de travail CodeCatalyst et recommencez.