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

そのS3暗号化ちょっと待って(SSE-S3とSSE-KMSの違いと注意点)

k_sasano
October 25, 2024
180

 そのS3暗号化ちょっと待って(SSE-S3とSSE-KMSの違いと注意点)

k_sasano

October 25, 2024
Tweet

Transcript

  1. はじめに AWS KMS key 暗号化キーの要件ないし、 何となくデフォルトでええやろ Amazon S3 ◆S3のサーバーサイド暗号化キーは何を使用していますか? •

    暗号化キーに対する特別な要件が無い PJ の場合、 SSE-S3が第一候補に挙がるかと思います • ただ、何となくデフォルト設定であるSSE-S3を選択していませんか? 今日はこの何となくを少しでも 解消できたらと思います。
  2. S3で利用できる暗号化キーの説明/特徴 SSE-S3:監視/明示的な制御はできないけど安価なマネージドキー ◆コスト • 利用料無料 ◆監査 • いつ/誰がキーを利用したのか追跡不可 ◆アクセス制御 •

    S3 へのアクセス権限がある場合、 透過的(リクエスト側設定不要)に利用できるため制御不可 ◆拡張性 • 設定追加/変更不可能 ◆運用性 • AWS マネージドにつき運用不要、不定期で自動ローテーション
  3. S3で利用できる暗号化キーの説明/特徴 ◆SSE-KMS(AWS マネージドキー) • RDSなどでもお馴染み「aws/{サービス名}」形式の名前 • AWS KMS がキーの生成・管理・保管を行う •

    鍵の利用証跡が確認可能 DataKey Amazon S3 Object Encrypted Object put object 利用者(クライント) AWS KMS) AWS Cloud Encryot オブジェクトごとに異なる 暗号鍵 を生成
  4. S3で利用できる暗号化キーの説明/特徴 SSE-KMS(AWS マネージドキー): 監査ができて明示的な制御ができないマネージドキー ◆コスト • 作成・保管無料だがAPI リクエストごとに料金発生 ◆監査 •

    利用時はKMSに関連する API が発行されるため、CloudTrail より確認可能 ◆アクセス制御 • AWS 側がサービス単位で利用を制限するキーポリシーを付与(ポリシー変更不可) ◆拡張性 • 設定追加/変更不可 ◆運用性 • AWS マネージドにつき運用不要、1年単位で自動ローテーション
  5. S3で利用できる暗号化キーの説明/特徴 ◆SSE-KMS(カスタマーマネージド) • 任意のキーを用いて暗号化可能 • リソースポリシーによるアクセス制御可能 • 暗号/復号化の際にはKMSのアクセス権限が必要 DataKey Amazon

    S3 Object Encrypted Object put object 利用者(クライント) AWS KMS AWS Cloud Encryot オブジェクトごとに異なる 暗号鍵 を生成 管理者 キー生成/ポリシー等の設定
  6. S3で利用できる暗号化キーの説明/特徴 SSE-KMS(カスタマーマネージドキー): カスタマイズ性が高いマネージドキー ◆コスト • 有料(1$/キー+リクエストごとの課金+オプションごとに別途課金) ◆監査 • 利用時は API

    が発行されるため、CloudTrail より確認可能 ◆アクセス制御 • キー自体の管理者設定/キーポリシーを用いて利用元を制限することも可能 ◆拡張性 • 任意のキー/暗号化タイプの変更などの設定可能 ◆運用性 • AWS マネージドにつき運用不要+オプションにより自動ローテーション可能 • キーローテーションで作成されたキーを用いてデータの再暗号化が行われないため、 旧/新キーを持ち続けることになる。そのためコストがバージョンごとに発生
  7. S3で利用できる暗号化キーの説明/特徴 項目 SSE-S3 SSE-KMS(AWS マネージド) SSE-KMS(カスタマーマネージド) コスト 〇(利用料無料) △(リクエストごとに課金) ×

    (1$/キー+リクエストごとのに 課金+オプションごとに別途課金) 監査証跡 ×(追跡不可) 〇(CloudTrail から確認可) 〇(CloudTrail から確認可) アクセス制御 ×(S3 へのアクセス権限があ る場合、制御不可) △(AWS 側キーポリシーを付与(ポリシー変更不可)、 ポリシー内容も 同一アカウント内のサービスからリクエス ト可能など、広く設定されている) 〇(キー自体の管理者設定/キーポリ シーを設定して利用元を制限する ことも可能) 拡張性 ×(設定追加/変更不可能) ×(設定追加/変更不可能) 〇(任意のキー/暗号化タイプの変更 などの設定可能) 運用性 〇(AWS マネージドにつき運 用不要、不定期で自動ロー テーション) 〇(AWS マネージドにつき運用不要+1年単位で自動ロー テーション) 〇(AWS マネージドにつき運用不要 +オプションにより自動ローテー ション可能) 特筆すべき注意点 ・監査不可につき、監査要件 がある場合は利用が厳しい - ・キーローテーションで作成され たキーを用いてデータの再暗号化 が行われないため、旧/新キーを持 ち続けることになる(コスト ↑)