SAA-C03 Design Secure Architectures Practice Question
This SAA-C03 practice question tests your understanding of design secure architectures. Match the stated requirement to the specific cloud service, access model, or configuration option — many options are valid in isolation but not for this scenario. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
Based on the exhibit, an application role in Account B can reach an S3 bucket in Account A, but reads fail with AccessDenied on KMS. The bucket objects use SSE-KMS with a customer managed key in Account A. What change is required so the application can decrypt the objects while keeping the access restricted?
Add the Account B role ARN to the KMS key policy with kms:Decrypt and kms:DescribeKey permissions, scoped to S3 usage in us-east-1.
S3 object retrieval with SSE-KMS requires that KMS authorize decryption, and that authorization must exist in the key policy for a CMK in another account. Scoping the statement to the specific role and S3 usage keeps the access narrow while allowing the object read to succeed.
B
Add s3:GetEncryptionConfiguration to the Account B IAM policy so S3 can use the customer managed key on reads.
Why wrong: There is no permission called s3:GetEncryptionConfiguration for this read path, and S3 does not use such an action to decrypt SSE-KMS objects. The failure occurs at KMS authorization time, not because the IAM role lacks an S3 encryption configuration permission.
C
Change the bucket to SSE-S3 because SSE-S3 always allows cross-account reads without any KMS policy changes.
Why wrong: Switching to SSE-S3 may avoid CMK policy management, but it changes the security model and is not the least disruptive fix. The scenario explicitly uses SSE-KMS with a customer managed key and asks how to keep the access restricted while restoring decryption.
D
Add the Account B role to the bucket ACL with FULL_CONTROL so S3 can bypass KMS on behalf of the reader.
Why wrong: Bucket ACLs do not grant KMS decrypt permissions and cannot bypass SSE-KMS authorization. Even if S3 access were granted at the bucket level, the key policy must still authorize decrypt operations for the encrypted objects to be returned.
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Add the Account B role ARN to the KMS key policy with kms:Decrypt and kms:DescribeKey permissions, scoped to S3 usage in us-east-1.
Option A is correct because when using SSE-KMS with a customer managed key, cross-account access requires the KMS key policy to explicitly grant the external IAM role (from Account B) the kms:Decrypt and kms:DescribeKey permissions. Without these, S3 can retrieve the encrypted object, but KMS will deny the decryption request, resulting in an AccessDenied error. Scoping the policy to S3 usage in us-east-1 follows the principle of least privilege while enabling the necessary decryption.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
✓
Add the Account B role ARN to the KMS key policy with kms:Decrypt and kms:DescribeKey permissions, scoped to S3 usage in us-east-1.
Why this is correct
S3 object retrieval with SSE-KMS requires that KMS authorize decryption, and that authorization must exist in the key policy for a CMK in another account. Scoping the statement to the specific role and S3 usage keeps the access narrow while allowing the object read to succeed.
Related concept
Read the scenario before looking for a memorised answer.
✗
Add s3:GetEncryptionConfiguration to the Account B IAM policy so S3 can use the customer managed key on reads.
Why it's wrong here
There is no permission called s3:GetEncryptionConfiguration for this read path, and S3 does not use such an action to decrypt SSE-KMS objects. The failure occurs at KMS authorization time, not because the IAM role lacks an S3 encryption configuration permission.
✗
Change the bucket to SSE-S3 because SSE-S3 always allows cross-account reads without any KMS policy changes.
Why it's wrong here
Switching to SSE-S3 may avoid CMK policy management, but it changes the security model and is not the least disruptive fix. The scenario explicitly uses SSE-KMS with a customer managed key and asks how to keep the access restricted while restoring decryption.
✗
Add the Account B role to the bucket ACL with FULL_CONTROL so S3 can bypass KMS on behalf of the reader.
Why it's wrong here
Bucket ACLs do not grant KMS decrypt permissions and cannot bypass SSE-KMS authorization. Even if S3 access were granted at the bucket level, the key policy must still authorize decrypt operations for the encrypted objects to be returned.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often focus only on the S3 bucket policy or IAM permissions, forgetting that SSE-KMS with a customer managed key requires explicit cross-account grants in the KMS key policy, not just in S3 or IAM policies.
Trap categories for this question
Scenario analysis trap
Switching to SSE-S3 may avoid CMK policy management, but it changes the security model and is not the least disruptive fix. The scenario explicitly uses SSE-KMS with a customer managed key and asks how to keep the access restricted while restoring decryption.
Detailed technical explanation
How to think about this question
Under the hood, when S3 serves an SSE-KMS encrypted object to a cross-account requester, S3 sends a Decrypt request to KMS using the requester's credentials. KMS evaluates the key policy, which must include a statement allowing the external principal (the Account B role) to perform kms:Decrypt. Without this, KMS returns an AccessDeniedException, even if the S3 bucket policy permits s3:GetObject. This is a common pitfall because the error message appears as an S3 AccessDenied, but the root cause is the missing KMS key policy grant.
KKey Concepts to Remember
Read the scenario before looking for a memorised answer.
Find the constraint that changes the correct option.
Eliminate answers that are true in general but not in this case.
TExam Day Tips
→Watch for words such as best, first, most likely and least administrative effort.
→Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A media company stores terabytes of video archives that are accessed once a year for audit purposes. Moving these objects to a cold storage tier (Azure Archive, S3 Glacier, or Google Nearline) costs a fraction of hot storage. Questions like this test whether you understand storage tiers, access frequency tradeoffs, and retrieval latency requirements.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
Design Secure Architectures — This question tests Design Secure Architectures — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Add the Account B role ARN to the KMS key policy with kms:Decrypt and kms:DescribeKey permissions, scoped to S3 usage in us-east-1. — Option A is correct because when using SSE-KMS with a customer managed key, cross-account access requires the KMS key policy to explicitly grant the external IAM role (from Account B) the kms:Decrypt and kms:DescribeKey permissions. Without these, S3 can retrieve the encrypted object, but KMS will deny the decryption request, resulting in an AccessDenied error. Scoping the policy to S3 usage in us-east-1 follows the principle of least privilege while enabling the necessary decryption.
What should I do if I get this SAA-C03 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
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.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.