SAP-C02 · Question #193
A company has a serverless multi-tenant content management system on AWS. The architecture contains a web-based front end that interacts with an Amazon API Gateway API that uses a custom AWS Lambda…
The correct answer is B. Add tenant ID information to the partition key of the DynamoDB table. Rather than creating table for each tenant, its better to use partition key in the already available table. This can be achieved with the LEAST operational. https://aws.amazon.com/blogs/apn/multi-tenant-storage-with-amazon-dynamodb/
Question
A company has a serverless multi-tenant content management system on AWS. The architecture contains a web-based front end that interacts with an Amazon API Gateway API that uses a custom AWS Lambda authorizer. The authorizer authenticates a user to its tenant ID and encodes the information in a JSON Web Token (JWT) token. After authentication, each API call through API Gateway targets a Lambda function that interacts with a single Amazon DynamoDB table to fulfill requests. To comply with security standards, the company needs a stronger isolation between tenants. The company will have hundreds of customers within the first year. Which solution will meet these requirements with the LEAST operational overhead?
Options
- ACreate a DynamoDB table for each tenant by using the tenant ID in the table name.
- BAdd tenant ID information to the partition key of the DynamoDB table.
- CCreate a separate AWS account for each tenant of the application.
- DAdd tenant ID as a sort key in every DynamoDB table.
How the community answered
(53 responses)- A8% (4)
- B74% (39)
- C4% (2)
- D15% (8)
Explanation
Rather than creating table for each tenant, its better to use partition key in the already available table. This can be achieved with the LEAST operational. https://aws.amazon.com/blogs/apn/multi-tenant-storage-with-amazon-dynamodb/
Community Discussion
No community discussion yet for this question.