【AWS】KMS ~ 入門編 ~

■ はじめに

色々なAWSサービスをセキュアに使うために必要な
AWS Key Management Service (KMS) について、メモ。

目次

【1】AWSの鍵管理サービス
【2】KMS(Key Management Service)
 1)主な機能
 2)キーのタイプ
【3】使用上の注意
【4】キーの作成
【5】各サービスでの使用

【1】AWSの鍵管理サービス

1)KMS(Key Management Service) <= ★今回のテーマ
2)CloudHSM

補足:CloudHSM

* VPC内で専有のハードウェアを利用して鍵を管理するAWSサービス
項目 KMS CloudHSM
専有性 AWSが管理するマルチテナント VPC内の専有ハードウェアデバイス
可用性 AWSが高可用性・耐久性で設計 ユーザが管理
信頼の基点(Roots of Trust) AWSが管理 ユーザが管理
暗号化 共通鍵 共通鍵・公開鍵
費用 ほぼ固定 重量課金

【2】KMS(Key Management Service)

データ暗号化に使用する暗号化キーを管理してくれるサービス

動画 :【AWS Black Belt Online Seminar】AWS Key Management Service
https://www.youtube.com/watch?v=4F5rSxzu0U4

1)主な機能

[1] 鍵管理機能
[2] データ暗号化機能

[1] 鍵管理機能

* 管理する鍵
 + マスターキー(CMK: Customer Master Key)
 + データキー(CDK: Customer Data Key)

補足:エンベロープ暗号化

* KMS のデータを暗号化方式

【手順】
1) データをデータキーで暗号化
2) そのデータキーをマスターキーで暗号化

[2] データ暗号化機能

* API
 + Encrypt(暗号化)
 + Decrypt(復号化)
 + GenerateDataKey(カスタマデータキー生成)

2)キーのタイプ

[1] 対称(Symmetric)
[2] 非対称(Asymmetric)

【3】使用上の注意

1)削除するのに最低でも7日の猶予期間が設けられる
 => 逆に言うと、7日は削除できない
 => キータイプ「対称・非対称」は変更できないので
    作成前にどちらにするか決めたほうがいい
 => 削除した後、期間中に削除をキャンセルできるのだが、
  キャンセルした後は、非活性なことにも注意
   => 使用したい場合、活性化する必要がある

【4】キーの作成

大体の流れは、以下の通り。

[1] キータイプ「対称・非対称」を選択
[2] CMK を管理できる IAM ユーザーとロールを選択
[3] キーを使用できる IAM ユーザーとロールを選択
 => ここでサービスに付与されているIAMちゃんと選択すること

詳細は、以下の公式サイトを参照。

https://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/create-keys.html

【5】各サービスでの使用

パラメータストア について

パラメータストア については、以下の関連記事を参照のこと

https://dk521123.hatenablog.com/entry/2020/01/31/231636
注意
https://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/services-parameter-store.html

より抜粋
~~~~
Parameter Store は、対称 CMK のみをサポートします。
非対称 CMK を使用してパラメータを暗号化することはできません。
~~~~

参考文献

https://qiita.com/ABE_TAKASHI/items/5da47f7d1705e5cef264
http://yukiyan.hatenablog.jp/entry/2015/07/10/020000

関連記事

CloudFormation ~ KMS ~
https://dk521123.hatenablog.com/entry/2022/05/26/112627
AWS Glue ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/10/01/221926
機密データの管理 ~ パラメータストア / Secrets Manager ~
https://dk521123.hatenablog.com/entry/2020/01/31/231636
AWS の セキュリティを考える
https://dk521123.hatenablog.com/entry/2017/08/31/235847