導入
暗号化そのものはSAAでも学びますが、SAPでは「組織全体で数百のリソースを、誰が・どうキーを管理し、監査可能な形で暗号化するか」というガバナンス目線が問われます。
説明
AWS KMS(Key Management Service) はマネージド型のキー管理サービスで、暗号化キー(CMK/KMSキー)の作成・ローテーション・利用制御を行います。
| 概念 | 説明 |
|---|---|
| キーポリシー | KMSキー自体に付けるアクセス制御(デフォルトで最も強い制御) |
| グラント(Grant) | 一時的・プログラム的に他のプリンシパルへ利用権限を委譲する仕組み |
| マルチリージョンキー | 複数リージョンで同じキーマテリアルを共有するキー(リージョン間でのデータ複製・DRに必要) |
| CloudHSM | 専有のハードウェアセキュリティモジュール。FIPS 140-2 Level 3準拠が必要な場合や、キーマテリアルを完全に自分で管理したい場合に使う |
マルチリージョンキー が必要になる典型例が、Aurora GlobalやDynamoDB Global Tablesのようなリージョン間レプリケーションです。通常のKMSキーはリージョンに閉じているため、暗号化されたデータをそのまま別リージョンに複製して復号することができません。マルチリージョンキーは、プライマリキーと関連付けられたレプリカキーを各リージョンに作ることで、この問題を解決します。
flowchart LR
subgraph R1["リージョンA"]
K1["マルチリージョンキー<br/>(プライマリ)"]
D1["Auroraプライマリ"]
end
subgraph R2["リージョンB"]
K2["マルチリージョンキー<br/>(レプリカ)"]
D2["Auroraレプリカ"]
end
K1 -. "同じキーマテリアルを共有" .-> K2
D1 -- レプリケーション --> D2
KMSが「AWSが管理するマネージドなHSM基盤の上でキーを扱う」のに対し、AWS CloudHSM は顧客専有のHSMクラスタを提供します。KMSでは満たせない厳格なコンプライアンス要件(FIPS 140-2 Level 3の専有ハードウェアを要求される場合など)や、独自の暗号化エンジンを使いたい場合に選択します。
また、パスワードやAPIキーといったシークレットの管理には AWS Secrets Manager を使います。KMSが「暗号化キーの管理」であるのに対し、Secrets Managerは「認証情報そのものの保管・自動ローテーション」を担う点を区別してください(Systems Manager Parameter Storeとの違いも試験で問われやすく、Secrets Managerは自動ローテーション機能を持つ点が差別化ポイントです)。
読んでみよう
「複数リージョンにまたがるデータベースを暗号化したまま複製したい」→ マルチリージョンキー、「専有ハードウェア・FIPS 140-2 Level 3が必須」→ CloudHSM、「DBのパスワードを自動ローテーションしたい」→ Secrets Manager、という条件反射を作っておきましょう。