OnPullRequest最新の3層ウェブアプリケーションブループリントワークフローがAmazonの権限エラーで失敗する CodeGuru - Amazon CodeCatalyst

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

OnPullRequest最新の3層ウェブアプリケーションブループリントワークフローがAmazonの権限エラーで失敗する CodeGuru

問題:プロジェクトのワークフローを実行しようとすると、次のメッセージが表示されてワークフローが実行されません。

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

解決策:このアクションが失敗する原因の 1 つは、IAM ロールポリシーに権限がないことが原因と考えられます。 CodeCatalyst 接続側で使用されているサービスロールのバージョンに、codeguru_codereview AWS アカウント アクションを正常に実行するために必要な権限がないことが原因です。この問題を解決するには、サービスロールを必要な権限で更新するか、ワークフローに使用されるサービスロールを Amazon CodeGuru と Amazon CodeGuru Reviewer に必要な権限を持つサービスロールに変更する必要があります。ワークフローを正常に実行できるように、次の手順を使用してロールを検索し、ロールポリシーのアクセス権限を更新します。

注記

これらの手順は、の以下のワークフローに適用されます CodeCatalyst。

  • モダン 3 層 Web OnPullRequestアプリケーションブループリントで作成されたプロジェクトに用意されているワークフロー。 CodeCatalyst

  • Amazon CodeGuru または Amazon CodeGuru Reviewer CodeCatalyst にアクセスするアクションでプロジェクトに追加されたワークフロー。

各プロジェクトには、AWS アカウントでプロジェクトに接続されているから提供されるロールと環境を使用するアクションを含むワークフローが含まれています。 CodeCatalystアクションと指定されたポリシーを含むワークフローは、ソースリポジトリの /.codecatalyst/workflows ディレクトリに保存されます。既存のワークフローに新しいロール ID を追加しない限り、ワークフロー YAML を変更する必要はありません。YAML テンプレート要素とフォーマットについては、を参照してください。ワークフローYAML定義

ロールポリシーを編集し、ワークフロー YAML を検証するための大まかな手順は次のとおりです。

ワークフロー YAML でロール名を参照してポリシーを更新するには
  1. https://codecatalyst.aws/ CodeCatalyst でコンソールを開きます。

  2. CodeCatalyst 自分のスペースに移動します。プロジェクトに移動します。

  3. [CI/CD] を選択し、[ワークフロー] を選択します。

  4. というタイトルの付いたワークフローを選択します。OnPullRequest[Definition] (定義) タブを選択します。

  5. ワークフロー YAML の codeguru_codereview Role: アクションの下のフィールドに、ロール名を書き留めておきます。これは IAM で変更するポリシーを含むロールです。次の例はロール名を示しています。

    ワークフロー YAML の IAM ロール名を表示します。
  6. 次のいずれかを実行します。

    • (推奨) プロジェクトに接続されているサービスロールを、Amazon CodeGuru と Amazon CodeGuru Reviewer に必要な権限で更新します。CodeCatalystWorkflowDevelopmentRole-spaceNameロールには一意の識別子が付加された名前が付きます。ロールとロールポリシーの詳細については、を参照してくださいCodeCatalystWorkflowDevelopmentRole-spaceName サービスロールについて。次のステップに進み、IAM のポリシーを更新します。

      注記

      ロールとポリシーを使用して、AWSAWS アカウントへの管理者アクセス権が必要です。

    • ワークフローに使用されるサービスロールを Amazon CodeGuru と Amazon CodeGuru Reviewer に必要な権限を持つサービスロールに変更するか、必要な権限を持つ新しいロールを作成します。

  7. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

    IAM コンソールで、ステップ 5 のロール (など) を探します。CodeCatalystPreviewDevelopmentRole

  8. ステップ 5 のロールで、codeguru-reviewer:*codeguru:*およびのアクセス権限を含むようにアクセス権限ポリシーを変更します。これらのアクセス権限を追加すると、アクセス権限ポリシーは次のようになるはずです。

    { "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. ポリシーを修正したら、 CodeCatalyst に戻ってワークフローを再実行してください。