概要
AWSでは、データ暗号化に使用する3種類のキーが提供されています。S3やDynamoDBなどのサービスでデータを暗号化する際、セキュリティ要件に応じて適切なキータイプを選択することが重要です。
暗号化キーの比較
どの暗号化キーを使用しても、暗号化は問題なく可能ですが暗号化キーに対する管理の範囲が異なります。
| 種類 | 料金 | ユーザ管理 | 可視化 |
| AWS所有キー | 無料 | 不可 | 不可 |
| AWSマネージドキー | KMS料金 | 不可 | 可 |
| カスタマーマネージドキー | KMS料金 | 可 | 可 |
試験問題では、企業側で暗号化キーのコントロールをどこまで管理する必要があるかが問われることがあります。
セキュリティ要件によって適切な方法を選択できるようにしましょう。
暗号化キーの詳細解説
DynamoDBを例に、それぞれの暗号化方法を詳しく解説します。
AWS所有のキー
AWSが所有・管理しているキーです。
利用者側からは一切触ることができず、AWS側で完全に管理されています。
キーポリシーの変更や、CloudTrailで使用状況の可視化ができません。
管理する必要はない分、ユーザ側でコントロールはできなくなっています。
特徴
- AWSが完全に所有・管理する暗号化キー
- ユーザー側からは一切操作ができない
- キーポリシーの変更やCloudTrailでの使用状況確認ができない。
メリット
- 追加料金なし
- 設定・管理が不要
デメリット
- キーの制御が不可能
- 使用状況の追跡ができない
AWS所有のキーで暗号化
DynamoDBをAWS所有キーで暗号化した場合、KMSに暗号化キーは作成されません。
AWS側で持っているキーを使っているのでユーザ側(コンソール)には何も出てきません。


AWSマネージドキー
ユーザのKMSで管理されるものの、変更などの管理はできない暗号化キーです。
AWS所有キーとの違いは、CloudTrailで可視化できるということです。
特徴
- ユーザーのKMSアカウント内で管理される暗号化キー
- AWSサービス専用のキー(例:aws/dynamodb)
- キーポリシーやローテーション設定の変更は不可
メリット
- CloudTrailで使用状況を追跡可能
- 設定が簡単(サービス側で自動作成)
- AWS所有キーより高い可視性
デメリット
- キーの制御ができない(削除・無効化不可)
- KMS料金が発生
- キーポリシーのカスタマイズ不可
AWSマネージドキーで暗号化
同じくDynamoDBをAWSマネージドキーで暗号化するように設定変更します。

変更を保存するとキーのARNが表示されます。

KMSの画面でもキーが作成されていることを確認できます。

ただし、コンソールでも記載がある通り暗号化キーに対しての削除や、ローテーションの設定はできません。

AWS所有キーとは異なり、リソースとしてアカウント内には存在するためCloudTrailでイベントを記録することができます。

このように、AWS所有キーと同様に暗号化キーに対する操作はできないが、それらの利用状況を可視化することが可能です。
カスタマーマネージドキー
ユーザが作成および管理する暗号化キーで、鍵に対するすべての管理をユーザ側で実施することができます。
特徴
- ユーザーが作成・管理する暗号化キー
- キーポリシー、ローテーション、削除などすべて制御可能
- 完全なキーライフサイクル管理
メリット
- 完全なキーコントロール
- 柔軟なアクセス制御設定
- コンプライアンス要件への柔軟な対応
- CloudTrailでの詳細な監査ログ
デメリット
- KMS料金が発生
- 他2種類と比べると設定・管理が複雑
- 誤った削除でデータアクセス不可のリスク
カスタマーマネージドキーで暗号化
カスタマーマネージドキーで暗号化するためには、事前に暗号化キーを作成しておく必要があります。

KMS画面から暗号化キーを作成することができます。(作成画面は割愛)

画像のように、カスタマーマネージドキーはユーザ側で削除や無効化が可能です。

AWSマネージドキーと同様に、CloudTrailでのイベント閲覧が可能です。

カスタマーマネージドキーの作成後は、DynamoDBで暗号化キーを選択できるようになります。

以上、AWS上の暗号化キーについてのまとめでした。
セキュリティスペシャリスト試験での出題ポイント
- 「企業がキーを完全にコントロール」→ カスタマーマネージドキー
- 「監査証跡が必要」→ AWSマネージドキーまたはカスタマーマネージドキー
- 「コスト最適化」→AWS所有キー
- 「コンプライアンス要件」→ 通常はカスタマーマネージドキー
まとめ
暗号化キーの選択は、セキュリティ要件、コスト、運用負荷を総合的に考慮して決定することが重要です。試験では特に「誰がキーをコントロールするか」という観点で問題が出題されます。

