AWS Certified Solutions Architect Professional SAP-C02 Practice Question
A financial services company is building a data processing application where a fleet of EC2 instances processes highly sensitive data before uploading it to an Amazon S3 bucket. A strict compliance framework dictates the following requirements:
Data must be encrypted on the EC2 instances before it is transmitted to Amazon S3.
The company must have full control over the master encryption keys, including the ability to enable automated annual rotation.
The S3 bucket must be configured to reject any object uploads that do not meet a minimum encryption standard.
Which of the following strategies meets all of these requirements?
On the EC2 instances, use the AWS Encryption SDK with an AWS-managed KMS key for client-side encryption. Rely on the client application's configuration to ensure all data is encrypted before being uploaded to S3.
Configure the S3 bucket to use Server-Side Encryption with AWS KMS (SSE-KMS) and a customer-managed key. Grant the EC2 instance role permissions to use the KMS key. Enable automatic key rotation for the KMS key.
On the EC2 instances, use the AWS Encryption SDK to perform client-side encryption configured with a customer-managed KMS key. Enable automatic key rotation for the KMS key. Apply an S3 bucket policy that denies s3:PutObject requests that do not specify server-side encryption.
On the EC2 instances, generate encryption keys and use the AWS SDK to upload objects to S3, providing the key with each request to use Server-Side Encryption with Customer-Provided Keys (SSE-C). Implement a custom Lambda function to rotate the keys annually.
The correct solution is to implement client-side encryption on the EC2 instances using the AWS Encryption SDK with a customer-managed key (CMK) from AWS KMS. This directly addresses the first requirement to encrypt data before transmission. Using a CMK gives the company full control over the key's policy and lifecycle, and automatic key rotation can be enabled, satisfying the second requirement. To fulfill the third requirement, applying an S3 bucket policy that denies uploads unless server-side encryption is specified (e.g., using the x-amz-server-side-encryption header) acts as an enforceable, defense-in-depth control. This ensures that even if a client-side process fails or is misconfigured, data is never stored unencrypted in the bucket.
Using only Server-Side Encryption with KMS (SSE-KMS) is incorrect because the data is not encrypted on the client before transmission; it is sent in plaintext over the network to S3, where encryption then occurs. This fails the first requirement.
Using Server-Side Encryption with Customer-Provided Keys (SSE-C) is incorrect. With SSE-C, the client manages the keys but sends the plaintext data and the encryption key to S3 in the same API call. S3 performs the encryption upon receipt. This does not meet the requirement to encrypt the data before transmission.
Using the AWS Encryption SDK with an AWS-managed key is incorrect because AWS-managed keys do not provide the company with full control over the key's lifecycle or policies, which violates the second requirement. Furthermore, without an S3 bucket policy to enforce encryption, there is no guarantee that unencrypted objects will be rejected, failing the third requirement.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is the AWS Encryption SDK, and how does it relate to client-side encryption?
Open an interactive chat with Bash
What is a Customer-Managed KMS Key, and why is it important in this scenario?
Open an interactive chat with Bash
How does an S3 bucket policy enforce encryption requirements for uploaded objects?
Open an interactive chat with Bash
AWS Certified Solutions Architect Professional SAP-C02
Design for New Solutions
Your Score:
Report Issue
Bash, the Crucial Exams Chat Bot
AI Bot
Loading...
Loading...
Loading...
IT & Cybersecurity Package Join Premium for Full Access