スキップしてコンテンツを表示

CodePipelineの実行がセッションポリシーの上書きにより S3:ListBucket アクセス拒否で失敗 (全ポリシー設定済み)

0

AWSサポートチーム様、

CodePipelineの実行が、アーティファクトS3バケットへの s3:ListBucket アクションで一貫して失敗しています。エラーメッセージは、設定したすべてのポリシーが正しいにもかかわらず、「セッションポリシーがアクションを許可していない」ことを示しています。これは、AWSの内部的なポリシー評価に問題がある可能性が高いです。

2.1 エラー詳細

最新のエラーメッセージは一貫して以下の通りです:

User: **** is not authorized to perform: s3:ListBucket on resource: "*****" because no session policy allows the s3:ListBucket action (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: ***; S3 Extended Request ID: ****r; Proxy: null)

2.2 検証済みポリシー (全て正しいことを確認済み)

以下のすべてのポリシー設定を確認し、修正を試みましたが、エラーは解決していません。

  1. IAMロールポリシー: 実行ロール (CodePipelineStarterTemplate-CIBuil-CodePipelineRole-Sqx9p6uGNidc) には、AWS管理ポリシー AWSCodePipeline_FullAccess を含む、S3およびKMSへの明示的なフルアクセス権限を付与済みです。
  2. S3バケットポリシー: アーティファクトバケットに対し、実行ロールへの s3:ListBucket, s3:GetObject, s3:PutObject を許可する、最も直接的な Allow ステートメントを上書きで適用済みです。
  3. KMSキーポリシー: S3暗号化に使用されているKMSキーポリシーに、実行ロールからの kms:Decrypt やその他の必要なアクションを明示的に許可するステートメントを追加済みです。
  4. 信頼ポリシー: ロールの信頼ポリシーは codepipeline.amazonaws.com からの AssumeRole を許可しており、構文的・論理的に完全に正しいことを確認済みです。

2.3 内部調査の依頼事項

すべての標準的なポリシー設定は確認・修正済みであり、エラーメッセージがセッションポリシーによる拒否を一貫して示していることから、アカウントレベルの Service Control Policy (SCP) または 内部的なセッションポリシー が、設定を強制的にオーバーライドしている可能性が高いです。

つきましては、このアカウント (588738585231) および上記の実行ロールのセッションに対する内部的なポリシーチェーンを調査し、s3:ListBucket アクションをブロックしている設定を特定し、解除していただくようお願いいたします。

迅速なご対応をお願い申し上げます。

2回答
0

エラーメッセージに記載されているIAMロールに対してS3への権限を付与していますか?
CodePipelineのどのフェーズで失敗していますか?(ソース、ビルド、デプロイと設定されている場合はどのフェーズで失敗しているか確認をして関連するフェーズのサービスで使用しているIAMロールも確認してください)
エラーメッセージ内でマスクされているので不明ですが、アクセスしようとしているS3バケットは正しいですか?
誤ったS3バケット (アカウント内で保持していないようなバケット) にアクセスしようとしてエラーになっているといったことも考えられます。

すべての標準的なポリシー設定は確認・修正済みであり、エラーメッセージがセッションポリシーによる拒否を一貫して示していることから、アカウ ントレベルの Service Control Policy (SCP) または 内部的なセッションポリシー が、設定を強制的にオーバーライドしている可能性が高いです。

つきましては、このアカウント (588738585231) および上記の実行ロールのセッションに対する内部的なポリシーチェーンを調査し、s3:ListBucket > アクションをブロックしている設定を特定し、解除していただくようお願いいたします。

AWS re:PostはコミュニティフォーラムサイトなのでAWSアカウント内を調査して修正するといったことはできません。
詳細な調査が必要な場合はAWSサポートへの問い合わせが必要となります。
https://console.aws.amazon.com/support

エキスパート
回答済み 2ヶ月前
  • CodePipelineの使用するIAMロールに設定されているIAMポリシーを正確に共有いただくことは可能ですか?(アカウントIDはマスクしていただいて問題ありません) 気になっているのが"AWSCodePipeline_FullAccess"で許可されているS3が「"arn:aws:s3:::codepipeline-"」なので「codepipelinestartertempla-codepipelineartifactsbuc-17nn6jyod8uu」に一致せずにエラーになっているのではないかと思いました。

0

IAMロールにS3への権限を付与していますか?

YES: AWSCodePipeline_FullAccess および S3バケットポリシーで明示的に許可済みです。

どのフェーズで失敗していますか?

ソースフェーズで失敗しています。

S3バケットは正しいですか?

YES: エラーメッセージに記載されているバケット (codepipelinestartertempla-codepipelineartifactsbuc-17nn6jyod8uu) は、CodePipelineが使用するアーティファクトバケットであり、正しいです。

回答済み 2ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

関連するコンテンツ