Moderner dreistufiger Blueprint-Workflow für Webanwendungen OnPullRequestschlägt mit einem Berechtigungsfehler für Amazon fehl CodeGuru - Amazon CodeCatalyst

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Moderner dreistufiger Blueprint-Workflow für Webanwendungen OnPullRequestschlägt mit einem Berechtigungsfehler für Amazon fehl CodeGuru

Problem: Wenn ich versuche, einen Workflow für mein Projekt auszuführen, schlägt die Ausführung des Workflows fehl und die folgende Meldung wird angezeigt:

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

Lösung: Eine mögliche Ursache für diesen Aktionsfehler könnte auf fehlende Berechtigungen in der IAM-Rollenrichtlinie zurückzuführen sein, sodass in Ihrer Version der Servicerolle, die von CodeCatalyst in the connected AWS-Konto verwendet wird, die erforderlichen Berechtigungen für die erfolgreiche Ausführung der Aktion codeguru_codereview fehlen. Um dieses Problem zu beheben, muss entweder die Servicerolle mit den erforderlichen Berechtigungen aktualisiert werden, oder Sie müssen die für den Workflow verwendete Servicerolle so ändern, dass sie über die erforderlichen Berechtigungen für Amazon CodeGuru und Amazon CodeGuru Reviewer verfügt. Suchen Sie anhand der folgenden Schritte nach Ihrer Rolle und aktualisieren Sie die Rollenrichtlinien-Berechtigungen, damit der Workflow erfolgreich ausgeführt werden kann.

Anmerkung

Diese Schritte gelten für die folgenden Workflows in CodeCatalyst:

  • Der OnPullRequestWorkflow wurde für Projekte bereitgestellt, die mit dem Blueprint für moderne dreistufige Webanwendungen in erstellt wurden. CodeCatalyst

  • Workflows, die zu Projekten CodeCatalyst mit Aktionen hinzugefügt wurden, die auf Amazon CodeGuru oder Amazon CodeGuru Reviewer zugreifen.

Jedes Projekt enthält Workflows mit Aktionen, die eine Rolle und Umgebung verwenden, die von dem AWS-Konto mit Ihrem Projekt verbundenen Benutzer bereitgestellt CodeCatalyst werden. Der Workflow mit den Aktionen und den ihnen zugewiesenen Richtlinien wird in Ihrem Quell-Repository im Verzeichnis /.codecatalyst/workflows gespeichert. Das Ändern des Workflow-YAML ist nicht erforderlich, es sei denn, Sie fügen dem vorhandenen Workflow eine neue Rollen-ID hinzu. Informationen zu YAML-Vorlagenelementen und Formatierungen finden Sie unter. YAMLWorkflow-Definition

Dies sind die allgemeinen Schritte, die Sie befolgen müssen, um Ihre Rollenrichtlinie zu bearbeiten und den YAML-Workflow zu überprüfen.

Um im Workflow-YAML auf Ihren Rollennamen zu verweisen und die Richtlinie zu aktualisieren
  1. Öffnen Sie die CodeCatalyst Konsole unter https://codecatalyst.aws/.

  2. Navigiere zu deinem CodeCatalyst Bereich. Navigiere zu deinem Projekt.

  3. Wählen Sie CI/CD und dann Workflows.

  4. Wählen Sie den Workflow mit dem Titel. OnPullRequest Wählen Sie die Registerkarte Definition.

  5. Notieren Sie sich im Workflow-YAML im Role: Feld unter der Aktion codeguru_codereview den Rollennamen. Dies ist die Rolle mit der Richtlinie, die Sie in IAM ändern werden. Das folgende Beispiel zeigt den Rollennamen.

    Zeigen Sie den IAM-Rollennamen im Workflow-YAML an
  6. Führen Sie eine der folgenden Aktionen aus:

    • (Empfohlen) Aktualisieren Sie die mit Ihrem Projekt verbundene Servicerolle mit den erforderlichen Berechtigungen für Amazon CodeGuru und Amazon CodeGuru Reviewer. Der Rolle wird ein Name CodeCatalystWorkflowDevelopmentRole-spaceName mit einer angehängten eindeutigen Kennung zugewiesen. Weitere Informationen zur Rolle und zur Rollenrichtlinie finden Sie unterGrundlegendes zur CodeCatalystWorkflowDevelopmentRole-spaceNameServicerolle. Fahren Sie mit den nächsten Schritten fort, um die Richtlinie in IAM zu aktualisieren.

      Anmerkung

      Sie benötigen AWS Administratorzugriff auf die AWS-Konto Rolle und Richtlinie.

    • Ändern Sie die für den Workflow verwendete Servicerolle in eine, die über die erforderlichen Berechtigungen für Amazon CodeGuru und Amazon CodeGuru Reviewer verfügt, oder erstellen Sie eine neue Rolle mit den erforderlichen Berechtigungen.

  7. Melden Sie sich bei der AWS Management Console an und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

    Suchen Sie in der IAM-Konsole nach der Rolle aus Schritt 5, z. B. CodeCatalystPreviewDevelopmentRole

  8. Ändern Sie in der Rolle aus Schritt 5 die Berechtigungsrichtlinie so, dass sie die codeguru:* Berechtigungen codeguru-reviewer:* und einschließt. Nach dem Hinzufügen dieser Berechtigungen sollte die Berechtigungsrichtlinie etwa wie folgt aussehen:

    { "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. Nachdem Sie die Richtlinienkorrekturen vorgenommen haben, kehren Sie zu der Workflow-Ausführung zurück CodeCatalyst und starten Sie die Ausführung erneut.