Upgrade to Pro — share decks privately, control downloads, hide ads and more …

S3アクセス制御の設計ポイント

Avatar for tommy tommy
September 10, 2025

 S3アクセス制御の設計ポイント

Avatar for tommy

tommy

September 10, 2025
Tweet

Other Decks in Technology

Transcript

  1. S3バケットへのアクセス制御方法 主に以下にてアクセス制御を行うことが可能。 ⚫ S3バケットポリシー ⚫ S3アクセスポイント(ポリシー) ⚫ IAMポリシー ⚫ VPCエンドポイントポリシー

    ※VPC内からアクセスがある場合 ⚫ KMSキーポリシー ※CMK利用の場合 <今回の対象外> (通称言い訳リスト) • アクセスコントロールリスト(ACL)でも制御可能ですが、現在非推奨のため、今回の対象外とします • ブロックパブリックアクセスでも制御可能ですが、名前のとおりパブリックアクセスをブロック可否だけであるため、今回の対象外とします • 署名付きURLでも制御可能ですが、一時的なものであるため今回の対象外とします • Organizationsのサービスコントロールポリシー(SCP)やリソースコントロールポリシー(RCP)でも制御可能ですが、 マルチアカウントを考慮する場合、内容が煩雑になるので便宜上、今回の対象外とします • CloudFront経由でアクセスする場合はOACやOAI(非推奨)等もありますが、S3バケットポリシーやブロックパブリックアクセス等の+@といった 立ち位置になるため、今回の対象外とします
  2. S3アクセスポイント(ポリシー)によるアクセス制御 超ざっくりにS3アクセスポイントとは・・・ S3バケットに対して用途ごとに専用のアクセスするポイントを作成する機能 超ざっくりにS3アクセスポイントポリシーとは・・・ 特定のS3アクセスポイント経由のアクセスを制御するリソースベースのポリシー AWS Cloud Lambda EC2 S3

    ◆アーキテクチャ例 アクセス ポイント アクセス ポイント S3バケットポリシーは、バケット全体に適用するため、複数のア クセス設定を1つで行うことになるが、アクセスポイントを利用す れば、各用途ごとにアクセス設定が可能となる。 そのため管理がシンプルになり、メンテナンス等も行いやすい。 仕様上ポリシーサイズが20,480バイト以内である必要がある ので、バケットポリシーのみだと、規模によっては定義しきれな い・拡張できないといったこともあるが、それらを防ぐこともできる。
  3. S3バケット 対象 格納データ 機密データ CMK CloudTrailログ保管バケット CloudTrailログ Config構成履歴保管バケット Config構成履歴 GuardDuty脅威検出ログ保管バケット

    GuardDuty脅威検出ログ • VPCフローログ保管バケット VPCフローログ WAFログ保管バケット Web ACLトラフィックログ ALBログ保管バケット ALBアクセスログ、接続ログ アプリケーションバケットA 画像ファイル • アプリケーションログ保管バケットA Cloudwatch Logsログ (EC2アプリログ、Lambda実行ログ等) ①S3バケットの整理 ①各S3バケット(対象)に何のデータを格納するかを整理 ※この時に、機密データ有無やCMK利用有無も整理する ◆システム構成に対する整理例
  4. S3バケット 誰が 何のために どのようにアクセスし 何をする 対象 格納データ 機密データ CMK 主体

    IAMポリシー 目的 経路 VPCE経由 操作 CloudTrailログ保管バケット CloudTrailログ CloudTrail 監査証跡の長期保管と改ざん検知(整合性検証)、組 織集約のため 主体サービスからAWS内部ネットワーク経由 書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り・リスト 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み Config構成履歴保管バケット Config構成履歴 Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 書き込み 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み GuardDuty脅威検出ログ保管バケット GuardDuty脅威検出ログ • GuardDuty 検知結果のアーカイブのため 主体サービスからAWS内部ネットワーク経由 書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み VPCフローログ保管バケット VPCフローログ VPC 通信データのトラブルシュート/セキュリティ分析のため 主体サービスからAWS内部ネットワーク経由 書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み WAFログ保管バケット Web ACLトラフィックログ WAF ヒット/ブロックログの可視化・分析と事後調査のため 主体サービスからAWS内部ネットワーク経由 書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み ALBログ保管バケット ALBアクセスログ、接続ログ ALB アクセス解析・異常検知・障害調査のため 主体サービスからAWS内部ネットワーク経由 書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み アプリケーションバケットA 画像ファイル • EC2 • アプリケーション処理 主体サービスからAWS内部ネットワーク経由 • 読み取り・リスト・書き込み Lambda • アプリケーション処理 主体サービスからAWS内部ネットワーク経由 読み取り・リスト・書き込み Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト アプリケーションログ保管バケットA Cloudwatch Logsログ DataFirehose • ログの長期保管(障害調査等のため) 主体サービスからAWS内部ネットワーク経由 書き込み (EC2アプリログ、Lambda実行ログ等) Config • 構成履歴/スナップショットの監査・追跡・再評価のため 主体サービスからAWS内部ネットワーク経由 読み取り 運用・保守担当者 • 運用・保守作業 運用・保守担当者の端末からインターネット経由 読み取り・リスト・書き込み ※本来はアクションベースでもう少し詳細化が望ましい ②アクセスパターンの整理 前段の①に対して、誰が(主体)、何のために(目的)、どのようにアクセスし(経路)、何をする(操 作)かを整理 ※この時に、それぞれのアクセスパターンに対して、IAMポリシー有無およびVPCエンドポイント 経由有無もあわせて整理する ◆システム構成に対する整理例
  5. まとめ 1.S3バケットのアクセス制御方法は主に以下がある ⚫ S3バケットポリシー ⚫ S3アクセスポイント(ポリシー) ⚫ IAMポリシー ⚫ VPCエンドポイントポリシー(VPC内からアクセスがある場合)

    ⚫ KMSキーポリシー(CMK利用の場合) 2.どの箇所でどのようにアクセス制御するかは、S3バケットやアクセスパターンを整理し、要件 やデータ特性、運用面等を考慮して設計する必要がある
  6. まとめ 1.S3バケットのアクセス制御方法は主に以下がある ⚫ S3バケットポリシー ⚫ S3アクセスポイント(ポリシー) ⚫ IAMポリシー ⚫ VPCエンドポイントポリシー(VPC内からアクセスがある場合)

    ⚫ KMSキーポリシー(CMK利用の場合) 2.どの箇所でどのようにアクセス制御するかは、S3バケットやアクセスパターンを整理し、要件 やデータ特性、運用面等を考慮して設計する必要がある セキュリティは誰かが守るものではなく、みんなで守るものです(みんなの責任) そのため、ロールなどに関係なく、みんなで安全なシステムを築いていきましょう!