Courseiva
Security and CompliancemediumMultiple ChoiceObjective-mapped

CLF-C02 Security and Compliance Practice Question

A company stores sensitive financial reports in an Amazon S3 bucket. The company's security policy mandates that all objects be encrypted at rest using an AWS KMS customer-managed key. The security team wants to ensure that only the 'Auditors' IAM role can decrypt the objects, even though the S3 bucket policy allows read access to a broader set of users. Which of the following steps must the security team take to enforce this access control?

⚠ Common exam trap

Candidates often assume S3 bucket policies alone can control decryption, but AWS enforces KMS key policies as a separate authorization layer, so without explicitly restricting kms:Decrypt in the key policy, any user with s3:GetObject can decrypt the objects if they have KMS permissions through their IAM role or user.

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

Configure the S3 bucket to use SSE-KMS encryption with the customer-managed key, and modify the KMS key policy to grant the kms:Decrypt permission only to the 'Auditors' role.

SSE-KMS with a customer-managed key separates encryption key management from S3 bucket policies. The KMS key policy is the authoritative access control for decryption operations. By granting kms:Decrypt only to the 'Auditors' role, even if the S3 bucket policy allows s3:GetObject to other users, they cannot decrypt the objects without the key permission. This enforces the security requirement that only the Auditors role can decrypt the sensitive financial reports.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Configure the S3 bucket to use SSE-KMS encryption with the customer-managed key, and modify the KMS key policy to grant the kms:Decrypt permission only to the 'Auditors' role.

    Why this is correct

    This is correct. SSE-KMS encrypts objects at rest using a KMS key. The KMS key policy controls who can use the key to decrypt objects. By restricting kms:Decrypt to the 'Auditors' role, only that role can decrypt the objects, regardless of broader S3 read permissions.

  • Configure an S3 bucket policy that denies s3:GetObject requests unless the request is encrypted in transit using HTTPS.

    Why it's wrong here

    This enforces HTTPS for all requests but does not prevent unauthorized decryption of objects. A user who has s3:GetObject permission via the bucket policy can still download the encrypted object, and if they have kms:Decrypt permission, they could decrypt it. This option does not address the requirement to restrict decryption.

    When this WOULD be correct

    This option would be correct in a scenario where the security policy mandates that all data in transit to and from S3 must be encrypted, and the goal is to enforce HTTPS-only access to prevent unencrypted requests.

  • Enable S3 Block Public Access on the bucket and attach an IAM policy to the 'Auditors' role that allows s3:GetObject.

    Why it's wrong here

    Block Public Access and IAM policies control who can read the objects from S3, but they do not control who can decrypt objects encrypted with a KMS key. Any principal with s3:GetObject permission could download the encrypted object; the KMS key policy then determines if they can decrypt it. This option does not restrict decryption to only the 'Auditors' role.

    When this WOULD be correct

    This option would be correct if the requirement was to prevent public access to the S3 bucket and ensure that only a specific IAM role can read objects, without any encryption-specific restrictions. For example, a question where the security policy mandates that only the 'Auditors' role can read objects from a bucket that does not require encryption at rest.

  • Use S3 object-level logging to monitor access and revoke permissions for any role that attempts to decrypt objects without authorization.

    Why it's wrong here

    This is a reactive, detective control, not a preventive one. It does not enforce that only the 'Auditors' role can decrypt objects. Unauthorized decryption could occur before revocation. The requirement is to enforce access control, not just monitor it.

    When this WOULD be correct

    A company needs to audit all access to encrypted objects in an S3 bucket to detect unauthorized decryption attempts. The security team must enable S3 object-level logging and use Amazon Detective or CloudWatch to analyze logs and revoke permissions for any role that violates policy.

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 CLF-C02 exam frequently reuses these exact scenarios with slightly different constraints.

Configure the S3 bucket to use SSE-KMS encryption with the customer-managed key, and modify the KMS key policy to grant the kms:Decrypt permission only to the 'Auditors' role.Correct answer

Why this is correct

This is correct. SSE-KMS encrypts objects at rest using a KMS key. The KMS key policy controls who can use the key to decrypt objects. By restricting kms:Decrypt to the 'Auditors' role, only that role can decrypt the objects, regardless of broader S3 read permissions.

Configure an S3 bucket policy that denies s3:GetObject requests unless the request is encrypted in transit using HTTPS.Wrong answer — click to see why

Why this is wrong here

This option addresses encryption in transit (HTTPS), not encryption at rest or access control over decryption. The requirement is to restrict decryption of objects at rest to the 'Auditors' role, which is unrelated to transport encryption.

★ When this WOULD be the correct answer

This option would be correct in a scenario where the security policy mandates that all data in transit to and from S3 must be encrypted, and the goal is to enforce HTTPS-only access to prevent unencrypted requests.

Why candidates choose this

Candidates may confuse encryption in transit with encryption at rest, or think that enforcing HTTPS is sufficient to protect sensitive data, overlooking the need for separate decryption access controls.

Enable S3 Block Public Access on the bucket and attach an IAM policy to the 'Auditors' role that allows s3:GetObject.Wrong answer — click to see why

Why this is wrong here

This option does not enforce that only the 'Auditors' role can decrypt objects; it only blocks public access and grants s3:GetObject, but decryption is controlled by KMS permissions, not S3 bucket policies or IAM policies for s3:GetObject.

★ When this WOULD be the correct answer

This option would be correct if the requirement was to prevent public access to the S3 bucket and ensure that only a specific IAM role can read objects, without any encryption-specific restrictions. For example, a question where the security policy mandates that only the 'Auditors' role can read objects from a bucket that does not require encryption at rest.

Why candidates choose this

Candidates may think that blocking public access and attaching an IAM policy with s3:GetObject to the 'Auditors' role is sufficient to restrict access, overlooking that decryption permissions are separate from read permissions when SSE-KMS is used.

Use S3 object-level logging to monitor access and revoke permissions for any role that attempts to decrypt objects without authorization.Wrong answer — click to see why

Why this is wrong here

S3 object-level logging only records access events; it does not enforce access control or prevent unauthorized decryption. The requirement is to restrict decryption access, not just monitor it.

★ When this WOULD be the correct answer

A company needs to audit all access to encrypted objects in an S3 bucket to detect unauthorized decryption attempts. The security team must enable S3 object-level logging and use Amazon Detective or CloudWatch to analyze logs and revoke permissions for any role that violates policy.

Why candidates choose this

Candidates may think that monitoring and subsequent manual revocation can enforce access control, but the question asks for a proactive enforcement mechanism, not a reactive one.

Analysis generated from the official CLF-C02blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”

Quick reference

AWS S3 Storage Class Comparison

Storage ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

About these practice questions

One of 988 original CLF-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This CLF-C02 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 CLF-C02 exam.