レポート STG347 Amazon S3 encryption best practices
こんにちは、コカコーラ大好きカジです。
Amazon S3暗号化について理解していないと思ったので、S3暗号化についてのベストプラクティスのChalk talkに参加してきましたので、レポートします。
感想
- わかりやすいS3サーバーサイド暗号化オプションの比較の一覧表、S3暗号化の強制方法について学べました。
- 暗号化時のレプリケーションについて、整理された内容で理解しやすかったです。
- S3 Inventoryで、オブジェクトレベルでの暗号化状態確認できることを知らなかったので勉強になりました。
登壇者
- Will Cavin (Senior Product Manager - Technical, AWS)
- Sally Guo (Senior Software Development Engineer, AWS)
S3暗号化の基本
- 2023年1月以降、S3の新規オブジェクトはSSE-S3がデフォルトで適用される
- 新規バケットはパブリックアクセスがブロックされる
- 暗号化オプション:
- クライアントサイド暗号化
- 転送中の暗号化
- サーバーサイド暗号化(SSE)の4つのオプション
S3サーバーサイド暗号化オプションの比較
S3 Bucket Keysの活用
- KMSコストを99%削減可能
- バケットレベルでキーをキャッシュし、KMS APIコールを削減
- マルチテナント環境の場合、ユニークなKMSキーを使用可能
Enhance savings for read-heavy workloads with Amazon S3 Bucket Keys | AWS Storage Blog
暗号化の強制とポリシー管理
- バケットポリシーを使用して特定の暗号化タイプを強制可能
- IAMポリシー、バケットポリシー、SCPの3つの設定が必要
- Service Control Policies (SCP)を使用して組織全体の暗号化要件を強制可能
Require SSE-KMS for all objects written to a bucket
S3レプリケーションと暗号化
レプリケーション時の暗号化動作
- ソースの暗号化設定が常に優先される
- SSE-S3で暗号化されたオブジェクトは自動的にレプリケーション
- SSE-KMSの場合は追加設定が必要
- 宛先のKMSキーARNの指定が必要
- 複数のレプリケーションルールで異なるKMSキーの指定が可能
クロスアカウントレプリケーション時の考慮点
- ソースとデスティネーションの両方でKMSキーポリシーの設定が必要
- レプリケーションロールに適切な権限を付与
- マルチテナント環境では、プレフィックスごとに異なるレプリケーション設定が可能
監査とコンプライアンスツール
S3 Storage Lens
- 組織全体の暗号化状況を可視化
- 無料 と 有料の機能の差異
- 無料: 暗号化されていないオブジェクト数の確認
- 有料: プレフィックスレベルの詳細な分析、KMSリクエスト分析
S3 Inventory
- オブジェクトレベルでの暗号化状態確認
- 日次または週次でのレポート生成
- Amazon Athena、Redshift、Sparkなどでの分析が可能
CloudTrail
- KMSキーの使用状況監視
- 管理イベントは無料
S3暗号化監査ツールのまとめ
まとめ
S3の暗号化は、適切に設計・実装することで、セキュリティとコスト効率の両立が可能。
Organizations、マルチテナント環境、レプリケーションなど、複雑なユースケースにも対応できる柔軟な機能を提供。
要件に応じて暗号化オプションを選択し、ポリシーによる強制と定期的な監査を組み合わせることで、確実なデータ保護を実現。