第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”権限も付与したほうが良いですよ