Question 905 of 1,000
Design for security and compliancemediumMultiple ChoiceObjective-mapped

Google PCA IAM Conditions Practice Question

This PCA practice question tests your understanding of design for security and compliance. 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. A key principle to apply: iAM Conditions. 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.

A company wants to restrict access to a Cloud Storage bucket so that only objects encrypted with a specific Cloud KMS key can be read. Which approach should they use?

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

Set a bucket policy that denies access if the object's encryption type is not CMEK.

Option B is correct because using a bucket policy with a condition on the encryption type (`request.object.encryption.type`) denies access to objects not encrypted with CMEK. This ensures that only objects encrypted with a customer-managed key (Cloud KMS) can be read. While the requirement mentions a specific key, the bucket policy can be further refined with a condition on the key resource name, but Option B is the only option that correctly uses encryption type checking. Option C is incorrect because `resource.hasTag` is not a valid IAM condition attribute for Cloud Storage objects; the correct attribute is `request.object.encryption.key_name`.

Key principle: IAM Conditions

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 Key Access Justifications on the Cloud KMS key and allow access only for justified requests.

    Why it's wrong here

    Incorrect. Key Access Justifications provide logging and justification for key usage but do not control read access to objects based on encryption key.

  • Set a bucket policy that denies access if the object's encryption type is not CMEK.

    Why this is correct

    Correct. By denying access if the encryption type is not CMEK, you ensure only objects encrypted with a Cloud KMS key can be read. This can be combined with a condition on the specific key resource name for more granular control.

    Related concept

    IAM Conditions

  • Use IAM conditions with the resource name condition 'resource.name.startsWith("projects/_/buckets/example-bucket/objects/")' and 'resource.hasTag("kmsKeyName", "projects/p/locations/l/keyRings/kr/cryptoKeys/ck")'.

    Why it's wrong here

    Incorrect. The `resource.hasTag` attribute is not valid for Cloud Storage object IAM conditions. The correct attribute for encryption key is `request.object.encryption.key_name`.

  • Configure VPC Service Controls to include the bucket and the Cloud KMS key resource.

    Why it's wrong here

    Incorrect. VPC Service Controls restrict data exfiltration across perimeters but do not enforce per-object encryption key requirements for read access.

Common exam traps

Common exam trap: answer the scenario, not the keyword

The trap is that candidates may think IAM conditions can use `resource.hasTag` to check encryption key, but this attribute does not exist. Instead, they should use `request.object.encryption.type` and `request.object.encryption.key_name` for such constraints.

Detailed technical explanation

How to think about this question

Under the hood, IAM conditions with `resource.hasTag` evaluate the object's metadata, specifically the `kmsKeyName` tag that is automatically set when a CMEK-encrypted object is uploaded. This condition is evaluated at access time, ensuring that even if an object is stored in the bucket, it cannot be read unless it was encrypted with the exact KMS key specified. A subtle behavior is that this condition does not prevent listing the bucket or writing new objects; it only controls read access to existing objects, which is critical for scenarios where you want to allow uploads but restrict reads to CMEK-protected data.

KKey Concepts to Remember

  • IAM Conditions
  • request.object.encryption.type
  • Bucket Policy

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

IAM Conditions

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.

Review iAM Conditions, then practise related PCA questions on the same topic to reinforce the concept.

Related practice questions

Related PCA practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Managing Implementation and Ensuring Solution and Operations Reliability practice questions

Practise PCA questions linked to Managing Implementation and Ensuring Solution and Operations Reliability.

Designing and Planning a Cloud Solution Architecture practice questions

Practise PCA questions linked to Designing and Planning a Cloud Solution Architecture.

Managing and Provisioning a Solution Infrastructure practice questions

Practise PCA questions linked to Managing and Provisioning a Solution Infrastructure.

Designing for Security and Compliance practice questions

Practise PCA questions linked to Designing for Security and Compliance.

Analysing and Optimising Technical and Business Processes practice questions

Practise PCA questions linked to Analysing and Optimising Technical and Business Processes.

Design and plan a cloud solution architecture practice questions

Practise PCA questions linked to Design and plan a cloud solution architecture.

Manage and provision cloud infrastructure practice questions

Practise PCA questions linked to Manage and provision cloud infrastructure.

Design for security and compliance practice questions

Practise PCA questions linked to Design for security and compliance.

Analyze and optimize technical and business processes practice questions

Practise PCA questions linked to Analyze and optimize technical and business processes.

Manage implementation of cloud architecture practice questions

Practise PCA questions linked to Manage implementation of cloud architecture.

Ensure solution and operations reliability practice questions

Practise PCA questions linked to Ensure solution and operations reliability.

PCA fundamentals practice questions

Practise PCA questions linked to PCA fundamentals.

Practice this exam

Start a free PCA practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this PCA question test?

Design for security and compliance — This question tests Design for security and compliance — IAM Conditions.

What is the correct answer to this question?

The correct answer is: Set a bucket policy that denies access if the object's encryption type is not CMEK. — Option B is correct because using a bucket policy with a condition on the encryption type (`request.object.encryption.type`) denies access to objects not encrypted with CMEK. This ensures that only objects encrypted with a customer-managed key (Cloud KMS) can be read. While the requirement mentions a specific key, the bucket policy can be further refined with a condition on the key resource name, but Option B is the only option that correctly uses encryption type checking. Option C is incorrect because `resource.hasTag` is not a valid IAM condition attribute for Cloud Storage objects; the correct attribute is `request.object.encryption.key_name`.

What should I do if I get this PCA question wrong?

Review iAM Conditions, then practise related PCA questions on the same topic to reinforce the concept.

What is the key concept behind this question?

IAM Conditions

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 →

How Courseiva writes practice questions · Editorial policy

Keep practising

More PCA practice questions

Last reviewed: Jul 4, 2026

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.

Loading comments…

Sign in to join the discussion.

This PCA practice question is part of Courseiva's free Google Cloud 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 PCA exam.