SAA-C03 Design Secure Architectures Practice Question
An application in account A needs to use an encrypted EBS volume whose snapshots were copied from account B. The EBS volume is encrypted with a customer-managed KMS key in account B. After attaching the volume, the instance fails to mount it and logs show KMS access errors (kms:Decrypt) for the instance role. The instance role in account A already has an IAM policy allowing kms:Decrypt on that key ARN, but the mount still fails. What must be updated in account B to allow the mount to succeed?
⚠ Common exam trap
Many candidates assume an IAM policy in the consuming account is sufficient for cross-account KMS operations, but AWS requires the key policy in the key-owning account to explicitly grant access to the external principal, and kms:CreateGrant is a commonly overlooked required permission for EBS volume attachments.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Update the KMS key policy in account B to allow the instance role’s principal from account A to call kms:Decrypt and kms:CreateGrant.
The instance role in account A has an IAM policy allowing kms:Decrypt on the key ARN, but cross-account KMS access requires the key policy in account B to explicitly grant the external principal (the instance role's ARN) the necessary permissions. Without a key policy statement in account B that allows kms:Decrypt and kms:CreateGrant for the instance role, the KMS service will deny the decryption request, even if the IAM policy in account A permits it. The kms:CreateGrant permission is required because attaching an encrypted EBS volume internally creates a grant to allow the EC2 service to use the key on behalf of the instance.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Enable KMS automatic key rotation for the customer-managed key in account B.
Why it's wrong here
Automatic key rotation for a customer-managed KMS key only creates new backing keys for the same key material's version; it does not modify the key policy or alter how the key is authorized for cross-account use. The AccessDenied error stems from the key policy in account B lacking an explicit statement that permits the instance role from account A to call kms:Decrypt (and kms:CreateGrant). Since rotation adds no new principals or permissions, it cannot resolve the authorization failure, so the volume mount will still fail.
When this WOULD be correct
In a scenario where a customer-managed KMS key is used within the same account and the question asks for a best practice to improve security without changing permissions, enabling automatic key rotation would be correct to meet compliance requirements.
- ✓
Update the KMS key policy in account B to allow the instance role’s principal from account A to call kms:Decrypt and kms:CreateGrant.
Why this is correct
Customer-managed KMS keys use resource-based key policies to control cross-account usage. Even if the IAM role in account A has kms:Decrypt permissions, the account B key policy must also allow that principal to use the key. Including kms:Decrypt (and often kms:CreateGrant) resolves cross-account mount authorization.
- ✗
Attach the key policy as an IAM permissions policy to the instance role in account A only; key policies are not evaluated cross-account.
Why it's wrong here
In cross-account KMS authorization, the key policy in the key-owning account is the resource-based policy that KMS evaluates, and it must explicitly include the external principal (e.g., the instance role's ARN or the root of account A). Simply attaching an IAM permissions policy to the instance role in account A does not update that key policy, so the request still fails because the default key policy in account B grants access only to the account root or internal principals. For a valid cross-account call, both the IAM policy in the using account and the key policy in the key-owning account must grant permission; one-sided authorization is insufficient.
When this WOULD be correct
This option would be correct if the KMS key and the EBS volume were in the same account (account A). In that case, the key policy can be attached as an IAM permissions policy to the instance role, and the key policy itself is not evaluated separately for the same account.
- ✗
Disable encryption on the EBS volume until authorization is fixed, then re-enable encryption after mount.
Why it's wrong here
EBS volume encryption cannot be disabled on an existing encrypted volume; you would have to create an unencrypted volume from a snapshot, which defeats the security requirement and still does not fix the KMS authorization denial. Even if you attempted to temporarily use an unencrypted volume, the root cause is that the key policy in account B does not allow the account A instance role to use the key. Bypassing encryption is a poor security practice and does not address the cross-account KMS policy misconfiguration; the correct fix is to update the key policy to grant kms:Decrypt and kms:CreateGrant to the instance role's principal.
When this WOULD be correct
In a scenario where an EBS volume is encrypted with a customer-managed KMS key and the instance role lacks kms:Decrypt permissions due to a misconfigured IAM policy, temporarily disabling encryption is not an option. This option would never be correct because EBS encryption cannot be toggled on an existing volume; it must be set at creation.
Option-by-option analysis
Why each answer is right or wrong
Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The SAA-C03 exam frequently reuses these exact scenarios with slightly different constraints.
✓Update the KMS key policy in account B to allow the instance role’s principal from account A to call kms:Decrypt and kms:CreateGrant.Correct answer▾
Why this is correct
Customer-managed KMS keys use resource-based key policies to control cross-account usage. Even if the IAM role in account A has kms:Decrypt permissions, the account B key policy must also allow that principal to use the key. Including kms:Decrypt (and often kms:CreateGrant) resolves cross-account mount authorization.
✗Enable KMS automatic key rotation for the customer-managed key in account B.Wrong answer — click to see why▾
Why this is wrong here
Enabling automatic key rotation does not grant cross-account permissions; it only rotates the key material periodically. The mount fails due to missing cross-account access in the key policy, not due to key rotation.
★ When this WOULD be the correct answer
In a scenario where a customer-managed KMS key is used within the same account and the question asks for a best practice to improve security without changing permissions, enabling automatic key rotation would be correct to meet compliance requirements.
Why candidates choose this
Candidates may think that key rotation resolves access issues because they confuse key management with access control, or they believe that rotation refreshes permissions.
✗Attach the key policy as an IAM permissions policy to the instance role in account A only; key policies are not evaluated cross-account.Wrong answer — click to see why▾
Why this is wrong here
In cross-account KMS access, the key policy in account B must explicitly grant permissions to the IAM role in account A; IAM policies in account A alone are insufficient because the key policy is the primary authorization mechanism for the KMS key in account B.
★ When this WOULD be the correct answer
This option would be correct if the KMS key and the EBS volume were in the same account (account A). In that case, the key policy can be attached as an IAM permissions policy to the instance role, and the key policy itself is not evaluated separately for the same account.
Why candidates choose this
Candidates may think that IAM policies in the requesting account are sufficient for cross-account access, overlooking that KMS key policies must explicitly allow principals from other accounts.
✗Disable encryption on the EBS volume until authorization is fixed, then re-enable encryption after mount.Wrong answer — click to see why▾
Why this is wrong here
Disabling and re-enabling encryption on an EBS volume is not possible without recreating the volume, and it does not resolve cross-account KMS authorization issues. The root cause is missing key policy permissions in account B.
★ When this WOULD be the correct answer
In a scenario where an EBS volume is encrypted with a customer-managed KMS key and the instance role lacks kms:Decrypt permissions due to a misconfigured IAM policy, temporarily disabling encryption is not an option. This option would never be correct because EBS encryption cannot be toggled on an existing volume; it must be set at creation.
Why candidates choose this
Candidates may think that disabling encryption bypasses the KMS error temporarily, or they misunderstand that EBS encryption can be changed after volume creation. They might also confuse this with the ability to modify other volume attributes.
Analysis generated from the official SAA-C03blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”
Go deeper
Related to this question
About these practice questions
This SAA-C03 question is part of Courseiva's 935-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.