SAP-C02-017 · 理解確認
理解確認:KMSによる暗号化アーキテクチャ
単一選択 13 / 複数選択 4 · 17問
この理解確認の目的
キーの管理主体・キーポリシー / IAM ポリシー・データキー / エンベロープ暗号化・クロスアカウント・AWS CloudHSMの設計判断を確認します。
機密データの暗号化について、セキュリティチームがキーポリシー、キーの無効化、利用プリンシパルを自社で制御する必要がある。最も適切なのはどれか。
B. AWSマネージドキーを利用する
C. カスタマーマネージドKMSキーを利用する
D. カスタマーマネージドKMSキーをCloudHSM カスタムキー保管先へ配置する
答えと解説
答え:C
キーポリシー、無効化、プリンシパル制御が要件ならカスタマーマネージドKMSキーが直接的です。CloudHSM キーマテリアル要件がなければカスタムキー保管先までは不要です。
同一アカウントのアプリケーションロールへ kms:Decrypt を許可するIAM ポリシーを設定した。しかし対象KMSキーのキーポリシーはIAM ポリシーによる権限委任を認めておらず、ロールも直接許可していない。最も適切な判断はどれか。
B. 権限境界へ
kms:Decrypt を追加すればキーポリシーの許可を補完できるC. KMS エイリアスを作成し、エイリアス ARNへ
kms:Decrypt を許可すればキーポリシーを変更せず利用できるD. キーポリシー側のアクセス制御も修正する必要がある
答えと解説
答え:D
KMSキーへのアクセスはキーポリシー側の許可関係が必要です。エイリアスや権限境界はキーポリシーの許可を代替しません。
アプリケーションが数十GBのデータを暗号化する。AWS KMSを使った一般的なアーキテクチャとして最も適切なのはどれか。
B. データを小さなブロックへ分割し、それぞれをKMS 暗号化 APIで直接暗号化する
C. 非対称KMSキーでアプリケーションデータ全体を直接暗号化する
D. 1つの平文データキーをアプリケーションへ長期保存し、すべてのデータへ繰り返し使用する
答えと解説
答え:A
大容量データではエンベロープ暗号化を利用し、データキーで実データを処理し、KMSキーでデータキーを保護します。
GenerateDataKeyで取得した平文データキーを使用してアプリケーションデータを暗号化した。次に取るべき設計として最も適切なのはどれか。
B. 平文と暗号化済みデータキーを両方データと一緒に永続保存する
C. 平文データキーを破棄し、暗号化済みデータキーを保存する
D. 暗号化済みデータキーを破棄して平文データキーだけ保存する
答えと解説
答え:C
平文データキーは必要な暗号化処理後に保持し続けず、KMSキーで保護された暗号化済みデータキーを保存します。
アプリケーションロールには暗号化済みS3 オブジェクトを読み取る権限がある。しかしそのオブジェクトの暗号化に使用したKMSキーへの復号権限がない。最も適切な判断はどれか。
B. S3 権限とKMS 権限は独立しているためKMS アクセスは不要
C. S3 バケットポリシーへ暗号化 権限を追加すれば復号できる
D. データアクセスはできても必要なキーアクセスがないため平文へ復号できない
答えと解説
答え:D
ストレージへのアクセス権限と暗号キーの利用権限を分離できます。SSE-KMSで必要なKMS アクセスがなければ、オブジェクトを平文として利用できません。
セキュリティアカウントにカスタマーマネージドKMSキーがある。アプリケーションアカウントのロールからそのキーを使って復号したい。基本的に必要な設計はどれか。
B. アプリケーションアカウントのIAM ポリシーだけで
kms:Decrypt を許可するC. 所有者側キーポリシーとアプリケーション側IAM ポリシーの両方で必要な権限を設定する
D. アプリケーションアカウントへ同じエイリアス名のKMSキーを作成する
答えと解説
答え:C
クロスアカウント KMSではキー所有者側のキーポリシーと、呼び出し元アカウントのIAM ポリシーの双方を確認します。
セキュリティアカウントのKMSキーについて、アプリケーションアカウントのロールには kms:Decrypt が許可されている。しかし所有者側キーポリシーではアプリケーションアカウントもロールも許可していない。結果として最も適切なのはどれか。
kms:Decrypt があれば所有者側キーポリシーは不要B. 所有者側キーポリシーでも外部アカウントまたはプリンシパルを許可する必要がある
C. 暗号化されたS3 オブジェクトのバケットポリシーでアプリケーションロールを許可すればKMS 権限も自動的に成立する
D. アプリケーションロールの信頼ポリシーでセキュリティアカウントを信頼すればKMS利用権限も成立する
答えと解説
答え:B
クロスアカウント KMSでは所有者側キーポリシーと外部アカウント側IAM 権限の双方を成立させます。
規制により、暗号キーをシングルテナント HSM内で生成・管理し、そのHSMクラスター自体を自社で直接管理する必要がある。最も適切な候補はどれか。
B. 外部キー保管先
C. マルチリージョン KMSキー
D. AWS CloudHSM
答えと解説
答え:D
専用HSMを顧客自身が直接管理する明確な要件ではAWS CloudHSMを評価します。
企業には「キーマテリアルを自社管理のCloudHSMクラスターへ保持する」という要件がある。一方、AWSサービスからは可能な限りAWS KMSのAPIとサービス統合を利用したい。最も適切なのはどれか。
B. AWS KMS 外部キー保管先を使用する
C. アプリケーションからAWS CloudHSM APIを直接利用し、KMS 統合は使用しない
D. 標準KMSキーへインポートされたキーマテリアルをインポートする
答えと解説
答え:A
キーマテリアルをカスタマーマネージド CloudHSMクラスターへ保持しながらKMS API / AWSサービス統合を利用したい場合はAWS CloudHSM キー保管先を使うカスタムキー保管先が適します。
専用HSM要件がなく、一般的なAWSサービス暗号化、キーポリシーによるアクセス制御、運用負荷の低減が優先される。最も適切な基本判断はどれか。
B. AWS KMSを基本として設計する
C. 暗号化処理をアプリケーション独自実装へ移す
D. すべてのKMSキーをCloudHSM カスタムキー保管先へ配置する
答えと解説
答え:B
専用HSM 制御という明確な要件がなければ、まずAWS KMSを基本として設計します。
AWS KMSのキーポリシーとIAM ポリシーについて正しいものを3つ選択してください。
B. IAM ポリシーの許可はキーポリシーの状態に関係なく必ず有効になる
C. キーポリシーはKMSキー側のアクセス制御を担当する
D. IAM ポリシーはプリンシパルへKMS操作の権限を与えられる
E. キーポリシーはIAM アイデンティティへアタッチするポリシーである
答えと解説
答え:A / C / D
キーポリシーはKMSキーに関連付くリソースポリシーで、IAM ポリシーとは責任が異なります。
アプリケーションは東京リージョンと大阪リージョンの両方で稼働し、暗号化データをリージョン間で移動する。要件は、リージョンをまたいで同じキーマテリアルを使用したい、データを別リージョンへ移動するたびに再暗号化したくない、各リージョンでローカル KMS エンドポイントを利用したい、である。
AWS KMS マルチリージョンキーについて正しいものを3つ選択してください。
B. マルチリージョンキーを使用すると1つのKMSキー ARNを全リージョンで共有する
C. このようなマルチリージョン暗号要件ではマルチリージョンキーを評価できる
D. 関連するプライマリ / レプリカキーは同じキー IDとキーマテリアルを共有する
E. 各リージョンのキーポリシー、付与、エイリアスなどの独立プロパティは個別管理が必要で、自動的に完全同期されない
答えと解説
答え:C / D / E
マルチリージョンキーはクロスリージョン暗号要件がある場合に評価します。関連キーは同じキー IDとキーマテリアルを共有しますが、各リージョンでは独立したKMS リソースであり、キーポリシーや付与、エイリアスなどは個別に管理します。
セキュリティチームにはKMSキーのポリシー変更・有効化/無効化・ライフサイクル管理を許可したい。一方アプリケーションロールには暗号化/Decryptだけを許可したい。最も適切な設計はどれか。
B. キー管理者とキーユーザーを分離し、アプリケーションには必要な暗号運用だけを許可する
C. セキュリティチームとアプリケーションロールへ同一KMS 権限を付与し、運用担当とワークロードの責任差をなくす
D. キーポリシーを利用せずIAM ポリシーだけでキーライフサイクルと暗号運用を一元管理する
答えと解説
答え:B
キー管理者とキーユーザーは別の責任です。アプリケーションへキーライフサイクル管理権限まで与えず、必要な暗号運用へ限定します。
セキュリティアカウントのKMSキーをアプリケーションアカウントからクロスアカウント利用している。アプリケーションアカウントへ kms:Decrypt と kms:ScheduleKeyDeletion の両方を許可するポリシーを書いた。最も適切な理解はどれか。
B. クロスアカウントで有効になるのは対応する暗号運用等であり、外部アカウントから所有者側キーの削除スケジュールまで実行できるわけではない
C. 外部アカウントへDecryptを許可すると、そのアカウントは所有者側キーポリシーも自由に変更して別プリンシパルを追加できる
D. KMSではクロスアカウント暗号運用自体がサポートされないため、外部アカウントからDecryptは実行できない
答えと解説
答え:B
クロスアカウント KMS 権限は暗号運用や一部付与/情報運用に限定され、キー所有者としてのライフサイクル管理まで外部アカウントへ移りません。
セキュリティアカウントの1つの顧客マネージドKMSキーを30個の本番ワークロードが共通利用している。中央ガバナンスは維持したいが、1つのキー 無効化やポリシー設定ミスが多数ワークロードへ同時影響することを避けたい。最も適切な判断はどれか。
B. キーポリシーを全プリンシパルへ広く許可し、キー 無効化やポリシー変更が失敗しないよう権限を最大化する
C. 中央ガバナンスを維持しつつ、アプリケーションやセキュリティドメインなど許容影響範囲に応じてKMSキーを分離する
D. キー 無効化による可用性影響を避けるため本番ワークロードの暗号化を廃止し、ストレージ側だけで保護する
答えと解説
答え:C
中央キー管理にはガバナンス上の利点がありますが、共有キー 無効化等の影響範囲も評価します。ガバナンスと可用性/影響範囲を同時に設計します。
AWS KMS カスタムキー保管先 / AWS CloudHSMについて正しいものを3つ選択してください。
B. AWS CloudHSMを直接管理する設計ではシングルテナント HSM 制御を得られる一方、顧客側の管理・可用性責任が増える
C. カスタムキー保管先は標準KMSより機能制約やパフォーマンス/可用性上の考慮が増える
D. カスタムキー保管先を使うとCloudHSMクラスターの可用性や運用責任はすべてAWS KMSへ移る
E. 専用HSM要件がなくても標準KMSより常にカスタムキー保管先を選ぶべきである
答えと解説
答え:A / B / C
CloudHSM キーストアはKMSのAPI/統合とカスタマーマネージド HSMを組み合わせますが、クラスター可用性・運用責任や機能制約が増えるため、明示的なHSM 制御要件がある場合に評価します。
AWS KMS キーの管理主体と標準的な利用方法について正しいものを4つ選択してください。
B. アプリケーションやAWSサービスはKMS APIやサービス統合を通じてKMSキーを利用できる
C. AWS所有のキーでは顧客がキーポリシーを自由に編集できる
D. すべてのKMSキータイプで顧客がキーマテリアルを直接エクスポートできる
E. AWSマネージドキーは顧客アカウント内に存在するが、ポリシー/ライフサイクルの管理主体はAWSサービス側である
F. カスタマーマネージドキーでは顧客がキーポリシーやライフサイクル等を制御できる
答えと解説
答え:A / B / E / F
KMSキーマテリアルは通常AWS KMS内で保護され、アプリケーションはAPI/統合経由で利用します。AWS所有 / AWSマネージド / カスタマーマネージドでは管理主体が異なり、顧客制御が必要な場合に顧客マネージドキーを評価します。