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?

CloudFront OAI/OAC

Posted at

CloudFront の OAI (Origin Access Identity)OAC (Origin Access Control) は、
S3 バケットへのアクセスを CloudFront 経由のみに制限するための認証方法です。
OAC は OAI の後継となる新方式です。


🧩 1. OAI(Origin Access Identity)

🔹 概要

  • CloudFront から S3 オリジンにアクセスするための仮想ユーザー(IAMのようなもの)
  • S3 バケットポリシーで、CloudFront の OAI からのアクセスのみ許可することで、
    直接S3へのパブリックアクセスを遮断

✅ 特徴

  • 長年使われてきた旧方式(レガシー)
  • CloudFront ⇒ S3 の制限に特化
  • 署名付きURL/署名付きCookieと併用可能

⚠️ 注意点

  • 2022年11月以降、非推奨(Deprecated)
    → 新しい機能(例:Headerベース制御)は非対応

🧩 2. OAC(Origin Access Control)

🔹 概要

  • OAIの進化版。より柔軟でセキュアなアクセス制御が可能
  • IAMの署名(SigV4)を使用して CloudFront → S3 アクセスを認証
  • CloudFrontディストリビューション設定に OAC をアタッチ

✅ 特徴

  • より 詳細なアクセス制御(ヘッダー、リクエストタイプなど)
  • IAMポリシーと統合可能
  • 署名付きリクエスト(SigV4) を使用しセキュア
  • 新規構成では OAC 推奨

📌 対応オリジン:

  • S3(パブリックURL不可)
  • CloudFront Functions や Lambda@Edge と併用可

🆚 OAI vs OAC 比較表

項目 OAI OAC
提供時期 古い(従来の方式) 新しい方式(推奨)
認証方式 CloudFront専用ID IAMベースのSigV4署名
柔軟性 低い 高い(ヘッダー、メソッド対応)
今後の推奨 ❌ 非推奨 ✅ 推奨
設定場所 CloudFront + S3バケットポリシー CloudFront + IAMロール/ポリシー

🛠️ OAC の設定イメージ(概要)

  1. CloudFrontディストリビューションで OAC を作成
  2. OAC に IAMロール・署名設定を定義
  3. S3バケットのポリシーでその IAM ロールのアクセスのみ許可

🎯 どっちを使えばいい?

シナリオ 推奨
これから新規構築 OAC を使用(AWS公式推奨)
既存環境が OAI を使用している すぐの移行は不要だが、段階的に OAC 移行検討
複雑な条件での制御(例:ヘッダー付きリクエスト) OAC のみ対応

✅ まとめ

用語 説明
OAI CloudFrontからS3を守る旧方式。簡単だが機能制限あり
OAC OAIの進化版。IAMベースで柔軟・高セキュリティ。新規はOAC推奨
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?