SCSC03-DAT#1
あるカスタマー管理 AWS KMS キーに、次のキーポリシー ステートメントがアタッチされています。
{
"Sid": "AllowUseViaS3",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/AppRole"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey*"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": "s3.us-east-1.amazonaws.com"
}
}
}このキーポリシー ステートメントの効果として最も正確なものはどれですか。
解説
【正解: A】の理由
kms:ViaService 条件キーは、指定した AWS サービスのエンドポイント経由で行われたリクエストにのみキーの使用を限定します。このステートメントは AppRole に対して kms:Encrypt・kms:Decrypt・kms:GenerateDataKey* を許可していますが、Condition の StringEquals で kms:ViaService を s3.us-east-1.amazonaws.com に固定しているため、us-east-1 の Amazon S3 がサーバー側暗号化のために AppRole の代わりにキーを呼び出す場合にのみ、この Allow が有効になります。AppRole が KMS API を直接呼び出した場合や、別のリージョン・別のサービスを経由したリクエストは条件に一致せず、この許可は適用されません。したがって効果は、us-east-1 の Amazon S3 を介した場合に限り暗号化・復号・データキー生成が可能、というものになります。
【他選択肢が違う理由】
- B: kms:ViaService により経由サービスが Amazon S3 に限定されるため、任意のサービスから直接このキーを使用することはできません。
- C: このポリシーは特定のキーに付与されたものであり、アカウント内の任意の KMS キーを対象とするものではありません。
- D: kms:ViaService が us-east-1 のエンドポイントに固定されているため、すべてのリージョンで使用することはできません。

コメント