プロジェクト

全般

プロフィール

第6回【いろいろなサービス使ってみよう編その3】

第5回を参照。

第5回の手順で足りなかった部分は下記2点

  • jq のインストール(sudo yum install jq -y)。
  • S3バケットのバケットポリシーへの下記設定追加(ListBucktのAllowの有無で、Originにファイルがなかったときのレスポンスコードが変わる ListBucketがない場合403, ある場合404)
        {
            "Sid": "AllowListBucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": GetObjectと同じOAI(OriginAccessIdentity)を設定
            },
            "Action": "s3:ListBucket",
            "Resource": GetObjectの値から末尾の"/*"を除いた値を設定
        }

※ CloudFrontのディストリビューション作成時に、S3へのBucktPolicyに許可設定を追加するオプションを選択するとOAIに対する"GetObject"のAllowの設定は自動で追加してくれますが、ListBucktは必要に応じて自分で追加する必要があります。
※ jq コマンドはAWSと直接関係ないですがjsonの構造から特定の情報を抜き出すのにすごく便利なので、こういうのあると覚えておくとよいかと。

参考
jq コマンドを使う日常のご紹介
Amazon S3 からの 403 Access Denied エラーをトラブルシューティングするにはどうすればよいですか?
S3 Selectを使う際は”s3:ListBucket”権限も付与したほうが良いですよ