KMS

KMS(Key Management Service) は、AWS全体でデータ暗号化を一元的に管理する鍵管理サービスです。

KMS Key(旧CMK:カスタマーマスターキー)を用いて暗号化を集中管理し、S3、EBS、RDS、Redshift、DynamoDB などの主要サービスと統合して利用できます。

KMSには、AWSが自動的に作成・管理する AWS Managed Key(AWS管理キー)、ユーザー自身が作成・制御する Customer Managed Key(カスタマー管理キー)、そしてAWS内部で利用される AWS Owned Key(AWS所有キー) の3種類のキーがあります。用途に応じてこれらを使い分けることで、セキュリティと運用効率を両立できます。

アクセス制御には Key Policy(キーポリシー) を使用し、どのIAMユーザーやロールが鍵を利用できるかを細かく制御します。一時的に鍵の使用を許可する場合は Grants(一時的アクセス許可) を利用します。
また、Key Alias(エイリアス) を設定することで、鍵をわかりやすい名前で管理することができます。

暗号化の仕組みとしては、Envelope Encryption(エンベロープ暗号化) を採用しており、実際のデータを暗号化する Data Encryption Key(データ暗号化キー) を生成し、それ自体をKMSキーで暗号化することで、大規模データでも効率的かつ安全に処理できます。

Key Rotation(キーの自動更新) により、KMSキーは定期的に自動ローテーションされ、セキュリティリスクを低減します。鍵の状態は Key State(キー状態) によって「有効」「無効」「削除保留」などが管理されます。また、既存データを別のキーで再暗号化する ReEncrypt(再暗号化) 機能にも対応しています。

Custom Key Store(カスタムキーストア) を利用することで、AWS CloudHSM上の専用ハードウェアに鍵を保存し、より厳格なコンプライアンス要件を満たすことができます。

鍵の利用目的は Key Usage(キー用途) により暗号化・復号や署名・検証などに分かれ、暗号アルゴリズムは Key Spec(キー仕様) で指定します。

KMSは、SSM (Secrets Manager) や Parameter Store と連携して認証情報や設定値を安全に暗号化・保管できます。また、CloudTrail による操作監査、CloudWatch Logs との連携による可視化にも対応しており、HSM(ハードウェアセキュリティモジュール) 基盤の上で高いセキュリティ水準を維持します。

重要用語

ユースケース

  • リスト1
  • リスト2
  • リスト3

ベストプラクティス

  • リスト1
  • リスト2
  • リスト3

高可用性・冗長化

  • リスト1
  • リスト2
  • リスト3

セキュリティ

  • リスト1
  • リスト2
  • リスト3

運用・監視

  • リスト1
  • リスト2
  • リスト3

デフォルトのリミット値

リミット事項 上限数
項目1上限1
項目2上限2
項目3上限3
項目4上限4
項目5上限5

AWS CLIのサンプルコード

vpc を作成
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc

Terraformのサンプルコード

vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy

課金モデル

項目 内容
項目1内容1
項目2内容2
項目3内容3
項目4内容4
項目5内容5

公式ページ

AWSドキュメント