Skip to content

KMSとは?

AWS KMS (Key Management Service) とは?

Section titled “AWS KMS (Key Management Service) とは?”

KMSは、暗号化キーの作成と管理を容易にする、フルマネージドの暗号化サービスです。

1. カスタマーマスターキー(CMK)

Section titled “1. カスタマーマスターキー(CMK)”
概要:
- 暗号化・復号化に使用
- データキーの生成
- キーマテリアルの管理
キータイプ:
対称キー:
- AES-256
- 最も一般的
- 暗号化・復号化に同じキー
非対称キー:
- RSA(2048, 3072, 4096 bit)
- ECC(NIST P-256, P-384, P-521、secp256k1)
- 公開鍵/秘密鍵ペア
- 署名・検証
AWS管理キー:
- 自動作成
- 無料
- 自動ローテーション
- : aws/s3, aws/rds, aws/lambda
カスタマー管理キー(CMK):
- ユーザー作成
- 完全制御
- キーポリシー設定可能
- $1/月
AWS所有キー:
- AWS内部使用
- 管理不要
- 無料
AWS_KMS(デフォルト):
- AWS生成・管理
- 最も安全
- 推奨
EXTERNAL:
- 独自のキーマテリアルインポート
- 自己管理
- コンプライアンス要件対応
- 有効期限設定可能
AWS_CLOUDHSM:
- CloudHSMクラスター使用
- FIPS 140-2 Level 3準拠
概要:
- データキーでデータ暗号化
- CMKでデータキー暗号化
- 2層構造
フロー:
1. GenerateDataKey API呼び出し
2. KMSがデータキー生成
3. CMKでデータキー暗号化
4. プレーンテキストデータキーでデータ暗号化
5. 暗号化されたデータキーを保存
復号化:
1. Decrypt API で暗号化データキー復号
2. プレーンテキストデータキーでデータ復号
メリット:
- 大容量データの効率的な暗号化
- ネットワーク転送量削減
- 性能向上
暗号化・復号化:
Encrypt: データ暗号化(4KB以下)
Decrypt: データ復号化
ReEncrypt: キー変更せずに再暗号化
データキー:
GenerateDataKey: データキー生成
GenerateDataKeyWithoutPlaintext: 暗号化済みのみ
署名:
Sign: デジタル署名作成
Verify: 署名検証
キー管理:
CreateKey: キー作成
DescribeKey: キー情報取得
EnableKey: キー有効化
DisableKey: キー無効化
ScheduleKeyDeletion: キー削除予約
概要:
- リソースベースのポリシー
- キーへのアクセス制御
- IAMポリシーと併用
デフォルトキーポリシー:
- ルートアカウントに完全アクセス
- IAMポリシーで追加制御可能
カスタムキーポリシー:
- 詳細なアクセス制御
- クロスアカウントアクセス
- 条件付きアクセス
自動ローテーション:
- カスタマー管理キー対応
- 1年毎に自動
- 古いキーマテリアルは保持
- 過去の暗号化データも復号可能
手動ローテーション:
- エイリアス更新
- 完全制御
- より短い間隔も可能
ストレージ:
- S3: デフォルトまたはカスタムKMSキー
- EBS: ボリューム暗号化
- EFS: ファイルシステム暗号化
- Glacier: アーカイブ暗号化
データベース:
- RDS: 保管時暗号化
- DynamoDB: テーブル暗号化
- Aurora: クラスター暗号化
- ElastiCache: スナップショット暗号化
アプリケーション:
- Lambda: 環境変数暗号化
- Secrets Manager: シークレット暗号化
- Systems Manager: Parameter Store暗号化
- SNS/SQS: メッセージ暗号化
監査:
CloudTrail:
- 全API呼び出し記録
- キー使用履歴
- アクセスパターン分析
コンプライアンス:
- FIPS 140-2 Level 2準拠
- CloudHSM連携でLevel 3対応
- 多数の認証取得
アクセス制御:
- IAMポリシー
- キーポリシー
- グラント(一時的な権限)
- VPCエンドポイント
マルチリージョンキー:
- 複数リージョンで同じキーID
- 暗号化データをリージョン間で移動可能
- レプリカキー管理
用途:
- DynamoDB Global Tables
- Aurora Global Database
- S3 レプリケーション
- ディザスタリカバリ
キータイプ価格備考
カスタマー管理キー$1.00 / 月ユーザーが作成・管理
マルチリージョンキー$1.00 / 月 / リージョンリージョンごとに課金
AWS管理キー無料AWSサービスが自動作成
API種別価格備考
対称キー$0.03 / 10,000 リクエストEncrypt, Decrypt, GenerateDataKey等
非対称キー・HMAC$0.15 / 10,000 リクエスト署名・検証操作
ECC SignOrVerify$0.15 / 10,000 リクエスト楕円曲線暗号

無料枠:

  • AWS管理キー: 完全無料
  • 月間20,000リクエスト無料

料金計算例(カスタマー管理キー10個、月間100万API呼び出し):

項目計算料金
キー料金10 × $1.00$10.00
API呼び出し(100万 - 20,000) / 10,000 × $0.03$2.94
合計-$12.94/月

KMSの重要ポイント:

  • エンベロープ暗号化で効率化
  • キーポリシーで詳細なアクセス制御
  • 自動ローテーションでセキュリティ向上
  • 多数のAWSサービスと統合
  • CloudTrailで監査証跡確保
  • マルチリージョンキーでグローバル対応