Hard1 markMultiple Choice
Domain 2.3: Security ControlsDynamoDBSaaSKMSSecurity

AWS SAP-C02 · Question 68 · Domain 2.3: Security Controls

A company is designing a multi-tenant SaaS application on AWS. They need to isolate the data of each tenant. The application uses Amazon DynamoDB. Some tenants have very strict compliance requirements and demand that their data is encrypted with their own KMS key. Other tenants are fine with standard encryption. What is the MOST scalable way to design the DynamoDB architecture?

Answer options:

A.

Use a single DynamoDB table for all tenants. Encrypt the table with an AWS Managed Key.

B.

Use a single DynamoDB table for all tenants. Implement client-side encryption in the application using each tenant's KMS key before writing to DynamoDB.

C.

Create a separate DynamoDB table for every single tenant and encrypt each with their own KMS key.

D.

Use a single DynamoDB table and configure item-level KMS encryption natively in DynamoDB.

How to approach this question

Identify how to apply different encryption keys to different items in a single database.

Full Answer

B.Use a single DynamoDB table for all tenants. Implement client-side encryption in the application using each tenant's KMS key before writing to DynamoDB.✓ Correct
Use a separate DynamoDB table for the strict-compliance tenants, encrypted with their CMK. Use a shared table for the other tenants.
DynamoDB natively supports encryption at rest at the table level. To use different KMS keys for different tenants within the same table (the most scalable SaaS pattern), you must use client-side encryption (e.g., using the AWS Encryption SDK) before writing the data to DynamoDB.

Common mistakes

Assuming DynamoDB supports native item-level KMS encryption.

Practice the full AWS Solutions Architect Professional SAP-C02 Practice Exam 4

75 questions · hints · full answers · grading

More questions from this exam