KMSキーとは何か、何ができるか
カスタマーマネージドキー、AWSマネージドキー、AWS所有キーを理解します。
「KMSキーとは何か、何ができるか」はCoddyKit上の無料AWS Security Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAWS Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AWS Security Academyコースには全4レッスンが含まれています。
マネージドキーが必要な理由
暗号化の強度は、キーをどのように保護するかによって決まります。キーをコードやファイルに保存するのは危険で、監査も困難です。
AWS KMS (Key Management Service) は、ハードウェアセキュリティモジュール内で暗号化キーを作成、保存、制御し、キーの使用すべてを IAM 権限と監査ログに関連付けます。
KMS キーとは
KMS キー (以前は CMK (customer master key) と呼ばれていました) は、KMS 内の暗号鍵を論理的に表すものです。
- キーマテリアルが暗号化されていない状態で KMS の外部に出ることはありません。
- KMS に暗号化または復号を依頼します。生のキーが公開されることはありません。
これが AWS における暗号化の基盤です。
カスタマーマネージドキー
カスタマーマネージドキーは、お客様が作成して完全に制御する KMS キーです。
- キーポリシーの設定、有効化または無効化、削除のスケジュール設定を行えます。
- ローテーションとグラントを制御できます。
少額の月額料金に加えてリクエストごとの料金が発生しますが、最も高い制御性を提供します。
AWS マネージドキー
AWS マネージドキーは、AWS サービスがお客様に代わって作成するキーで、aws/s3 のような名前が付けられます。
- AWS がポリシーとローテーションを管理します。
- キーポリシーを変更したり、直接削除したりすることはできません。
便利な一方で、カスタマーマネージドキーよりも制御性は低くなります。
AWS 所有キー
AWS 所有キーは、AWS が多数のアカウントで共有して使用するキーのプールです。
お客様のアカウントには表示されず、無料で、AWS が完全に管理します。表示、監査、制御はできないため、キーの可視性が不要な場合に適しています。
暗号化と復号の操作
Encrypt、Decrypt、GenerateDataKey などの API 呼び出しを通じて KMS を操作します。
KMS はサーバー側で暗号処理を行い、結果を返します。直接暗号化できるデータは小容量 (最大約 4 KB) に限られ、大容量のデータには後述するデータキーを使用します。
aws kms encrypt \
--key-id alias/my-app-key \
--plaintext fileb://secret.txt \
--output textCloudTrail との統合
KMS API の呼び出しはすべて CloudTrail に記録されます。
誰が、いつ、どのキーを、どの操作に使用したかを完全な監査証跡として確認できます。このため KMS は、制御ポイントであると同時に説明責任を果たすための仕組みでもあり、インシデント調査において重要です。
エイリアス
エイリアスは、alias/prod-db のように、KMS キーを指し示す分かりやすい名前です。
- アプリケーションはキー ID ではなくエイリアスを参照します。
- アプリケーションコードを変更せずに、エイリアスの参照先を新しいキーへ変更できます。
エイリアスによって、ローテーションと管理が簡単になります。
キーの状態
KMS キーは、状態 (有効、無効、削除保留中、インポートしたキーマテリアルの場合はインポート保留中) の間を遷移します。
キーを無効にすると、削除せずに使用を停止できます。削除は待機期間 (7~30 日) を設定してスケジュールするため、データがまだ必要な場合は取り消せます。削除すると元に戻せないためです。
KMS の役割
KMS は、AWS におけるほぼすべての暗号化を支える中央キー管理機関です。S3、EBS、RDS、Secrets Manager などは、内部で KMS を呼び出します。
試験問題では、特定のキーを誰が管理し、誰が使用できるかが問われるため、キーの種類と制御方法を理解することが不可欠です。
キーの種類を選択する
制御の要件に基づいて選択してください。
- 完全な制御、カスタムポリシー、またはローテーションの監査が必要な場合はカスタマーマネージドを選びます。
- サービスによる暗号化を手軽に利用したい場合はAWS マネージドを選びます。
- 可視性がまったく必要ない場合はAWS 所有を選びます。
クイックチェック
キーの種類を区別してください。
まとめ
KMS キーとは何かを学びました。
- キーマテリアルは KMS 内に保持され、Encrypt/Decrypt を呼び出して使用します。
- カスタマーマネージドキーは完全な制御を提供し、AWS マネージドキーはサービスによって作成され、AWS 所有キーは表示されません。
- エイリアス、キーの状態、CloudTrail が安全な管理を支援します。
よくある質問
「KMSキーとは何か、何ができるか」レッスンは無料ですか?
はい。「KMSキーとは何か、何ができるか」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AWS Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AWS Security Academyコースには全4レッスンが含まれています。
「KMSキーとは何か、何ができるか」で何を学びますか?
カスタマーマネージドキー、AWSマネージドキー、AWS所有キーを理解します。 ブラウザで直接実行するハンズオンコードでAWS Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AWS Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAWS Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「KMSキーとは何か、何ができるか」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAWS Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのAWS Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- KMSキーとは何か、何ができるか
- 対称キー、非対称キー、マルチリージョンキー
- キーポリシー、グラント、条件
- エンベロープ暗号化とデータキー