
Answer-first summary for fast verification
Answer: Store sensitive data in Amazon RDS for MySQL. Use AWS Key Management Service (AWS KMS) client-side encryption to encrypt the data.
## Explanation **Correct Answer: B** - Store sensitive data in Amazon RDS for MySQL. Use AWS Key Management Service (AWS KMS) client-side encryption to encrypt the data. ### Why Option B is Correct: 1. **Amazon RDS for MySQL** is appropriate for storing structured customer data for an ecommerce application, as it provides a managed relational database service that can handle transactional data. 2. **AWS KMS client-side encryption** is crucial for protecting sensitive data "even from database administrators." With client-side encryption: - Data is encrypted before it reaches the database - The database administrator cannot access the plaintext data - Only authorized applications with the proper encryption keys can decrypt the data - This provides true separation of duties and protection against insider threats 3. **RDS encryption at rest** (which uses KMS) would not fully meet the requirement because database administrators could potentially access the data through database privileges. Client-side encryption ensures the data is encrypted before it reaches the database. ### Why Other Options Are Incorrect: **A. Amazon EBS volume with EBS encryption:** - EBS volumes are block storage, not ideal for structured customer data in an ecommerce application - EBS encryption protects data at rest, but database administrators could still access the data through the database - Not suitable for transactional web application data storage **C. Amazon S3 with KMS server-side encryption:** - S3 is object storage, not ideal for transactional database operations - Server-side encryption doesn't protect against database administrators who have access to the database - S3 is better for static files, not for dynamic transactional data **D. Amazon FSx for Windows Server:** - File storage solution, not suitable for structured customer data in an ecommerce application - Windows file permissions don't provide encryption protection - Database administrators could still access the data ### Key Security Principles Applied: 1. **Defense in Depth**: Multiple layers of security (encryption + access controls) 2. **Principle of Least Privilege**: Database administrators shouldn't have access to sensitive customer data 3. **Data Protection**: Encryption at the application layer ensures data is protected throughout its lifecycle 4. **Separation of Duties**: Different teams manage encryption keys vs. database administration This solution ensures that sensitive customer information (like credit card details, personal information) is protected even if database administrators have access to the database infrastructure, meeting the specific requirement stated in the question.
Ultimate access to all questions.
No comments yet.
Author: LeetQuiz Editorial Team
A company is building an ecommerce application and needs to store sensitive customer information. The company needs to give customers the ability to complete purchase transactions on the website. The company also needs to ensure that sensitive customer data is protected, even from database administrators.
Which solution meets these requirements?
A
Store sensitive data in an Amazon Elastic Block Store (Amazon EBS) volume. Use EBS encryption to encrypt the data. Use an IAM instance role to restrict access.
B
Store sensitive data in Amazon RDS for MySQL. Use AWS Key Management Service (AWS KMS) client-side encryption to encrypt the data.
C
Store sensitive data in Amazon S3. Use AWS Key Management Service (AWS KMS) server-side encryption to encrypt the data. Use S3 bucket policies to restrict access.
D
Store sensitive data in Amazon FSx for Windows Server. Mount the file share on application servers. Use Windows file permissions to restrict access.