0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【AWS SAP】CloudFront経由でのS3アクセスにおけるHTTP 403エラー

0
Posted at

背景

  • メディア会社は静的ウェブアプリケーションを運用している。
  • アプリケーションは Amazon S3 バケットにアップロードされ、Amazon CloudFront を利用して配信される。
  • ビルドパイプラインはアカウントA内で実行される。
  • S3 バケットと CloudFront ディストリビューションはアカウントBに存在する。

技術構成

  • S3 バケットにはバケットポリシーが設定されている。
  • CloudFront ではオリジンアクセスコントロール(OAC)が有効化されている。
  • ファイルのアップロードにはアカウントAの IAM ロールが使用される。

アーキテクチャ図

問題

  • テスト中に CloudFront の URL 経由でアプリケーションにアクセスしようとすると、HTTP 403 Access Denied エラーが発生。

質問

  • CloudFront を通じて S3 のオブジェクトに正常にアクセスできるようにするには、どのような対策を講じるべきか?

解答

  • S3バケットポリシーを確認
    • オリジンアクセスコントロール(OAC)がCloudFrontからのGetObjectアクセスを許可しているか確認。
       
  • CloudFrontの設定を確認
    • 正しいOACがCloudFrontディストリビューションに設定されていることを確認。
       
  • オブジェクト所有権の確認
    • アカウントAからアップロードされたオブジェクトの所有権がアカウントBに移譲されていることを確認。
      • アカウントAのIAMロールにbucket-owner-full-controlオプションを指定して、アップロード時に所有権をS3バケット所有者に移譲します。
        aws s3 cp YOUR_FILE s3://YOUR_BUCKET_NAME --acl bucket-owner-full-control
        

参考

  • キャッシュをクリア
    • CloudFrontのキャッシュをクリアし、最新の設定を反映。
       
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?