AWS KMS(AWS Key Management Service)とは
- AWSのサービスやアプリケーションで使用する暗号化キーを管理するためのサービス
- EBSボリューム暗号化、S3オブジェクト暗号化、RDSデータの暗号化 など
- ローテーションポリシー設定可
- 鍵の使用状況の監査が可能(CloudTrail)
- リージョン固有
- EBSスナップショットをAリージョンからBリージョンへコピーする場合、AリージョンのKMSで復号化された後、リージョンBのKMSで暗号化されなおす
- キーの種類
- AWSマネージドキー:AWSが作成、管理
- カスタマーマスターマスターキー(CMK)
カスタマーマスターキー(CMK)
- ユーザーが作成、管理
- デフォルトCMK:無料
- KMSで作成したユーザーキー:有料
- キーのインポート:有料
- 対称型(AES-256)
- 暗号化にも復号化にも単一の暗号化キーを使用
- キーを使用するにはKMS APIを呼び出す必要あり
- 非対称型(RSAとECCのキーペア)
- 公開鍵と秘密鍵のペア
- ユースケースAWS外での暗号化
KMSキーポリシー
- KMSキーへのアクセスを制御
- 設定が必須
エンベロープ暗号
- KMSは1回の呼び出しで最大4KBのデータを暗号化
- 4KB以上の場合は、エンベロープ暗号を使用する