EC2 Image Builder のイメージビルドパイプラインで発生する 403 エラー (アクセス拒否) を解決する方法を教えてください。

所要時間1分
0

EC2 Image Builder のイメージビルドパイプラインで発生するアクセス拒否エラーを解決したいです。

簡単な説明

イメージビルドパイプラインが 403 Access Denied エラーで失敗する理由には、次のようなものがあります。

  • インスタンスプロファイルに、API またはコンポーネントリソースにアクセスするために必要な AWS Identity and Access Management (IAM) アクセス許可がない。
  • インスタンスプロファイルロールに、Amazon Simple Storage Service (Amazon S3) にログインするために必要な PutObject アクセス許可がない。
  • Amazon S3 ゲートウェイエンドポイントのカスタムポリシーで、プライベートサブネットを構築する際の GetObject アクションを許可していない。

解決策

必要なアクセス許可をインスタンスプロファイルに追加する

インスタンスプロファイルに関連付けられた IAM ロールに、次の IAM ポリシーを追加する必要があります。

カスタムポリシーを使用する場合は、必要なアクセス許可をカスタムポリシーに追加します。ポリシーをアタッチするには、AWS Identity and Access Management (IAM) の「ポリシーのアタッチ」セクションを参照してください。

Amazon S3 に必要な PutObject アクセス許可を追加する

設定で指定するインスタンスプロファイルには、ターゲット Amazon S3 バケットに対する s3:PutObject アクセス許可が必要です。ターゲット Amazon S3 バケットに次のアクセス許可ポリシーを追加します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::example-bucket-name/*"
        }
    ]
}

注: 上記のコマンドで、example-bucket-name はお使いの Amazon S3 バケットの名前に置き換えてください。

必要な GetObject アクセス許可を Amazon S3 ゲートウェイエンドポイントのカスタムポリシーに追加する

Amazon S3 のゲートウェイエンドポイントポリシーで Image Builder によるコードのダウンロードやログへのアクセスが許可されていない場合は、GetObject をカスタムポリシーに追加します。

{
 "Effect": "Allow",
 "Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3:::ec2imagebuilder*"
}
AWS公式
AWS公式更新しました 4ヶ月前
コメントはありません

関連するコンテンツ