Question 1,303 of 724
DVA-C02 Development with AWS Services Practice Question
A developer is migrating a monolithic application to a microservices architecture on AWS. The application uses a relational database. The developer wants to use Amazon RDS for the database and needs to ensure that each microservice can only access its own set of tables. Which approach should the developer take?
⚠ Common exam trap
Candidates often confuse network-level isolation (security groups) with database-level authorization, assuming that restricting network access per microservice is sufficient to enforce table-level separation, when in fact security groups cannot differentiate between tables within the same database instance.
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
✓
Use RDS with IAM database authentication and create database users with limited privileges for each microservice.
IAM database authentication allows the developer to create database users with granular, table-level privileges using standard SQL GRANT statements, ensuring each microservice can only access its own set of tables. By combining IAM roles with database user credentials, the developer can enforce least-privilege access without sharing a single database user across services. This approach directly addresses the requirement for per-microservice table isolation while leveraging RDS's native authentication and authorization capabilities.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Create a single RDS instance with a separate database per microservice.
Why it's wrong here
While creating separate databases within a single RDS instance offers logical separation, database-level privileges are typically granted to users. This approach does not inherently provide fine-grained, table-level access control, which is crucial for microservices to adhere to the principle of least privilege and prevent one service from accessing another's specific data tables without authorization. It's a step towards isolation but lacks the granularity needed for robust microservice security.
- ✓
Use RDS with IAM database authentication and create database users with limited privileges for each microservice.
Why this is correct
AWS IAM database authentication integrates directly with IAM, allowing microservices to authenticate using IAM roles or users, eliminating the need for hardcoded database credentials. This method enables the creation of highly granular database users with specific permissions (e.g., SELECT on tableA, INSERT on tableB), ensuring each microservice can only access the precise tables and operations it requires. This robust, fine-grained access control is essential for securing a microservices architecture.
- ✗
Use RDS in a VPC and restrict network access per microservice using security groups.
Why it's wrong here
While placing RDS in a VPC and using security groups is a fundamental best practice for network isolation, security groups operate at the network layer (Layer 4). They control inbound and outbound traffic based on IP addresses and ports, effectively restricting which microservices can connect to the database instance. However, security groups offer no mechanism to differentiate or restrict access to specific databases, schemas, or tables within the connected database, failing to provide the necessary data-level access control for microservices.
- ✗
Use Amazon RDS Proxy to control access.
Why it's wrong here
Amazon RDS Proxy primarily focuses on connection management, pooling, and failover handling to improve application resilience and scalability. While it can integrate with AWS Secrets Manager for credential management and enforce some authentication policies, its core design is not for fine-grained, table-level authorization within the database itself. It acts as a proxy for connections, not as an authorization layer for specific database objects, thus not addressing the requirement for limited privileges per microservice at the data level.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Last reviewed: Jun 11, 2026
This DVA-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 DVA-C02 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.