DP-300 Implement a secure environment Practice Question
You are a database administrator for a startup that uses Azure SQL Database to run an e-commerce application. The application uses a service principal (Microsoft Entra ID application) to authenticate to the database. You need to grant the service principal the ability to read data from all tables in the 'sales' schema. Which THREE actions should you take?
⚠ Common exam trap
Many candidates confuse schemas with database roles, leading them to incorrectly select 'Add the user to the sales database role' (Option B) when no such role exists, or they over-provision by granting CONTROL permission (Option A) instead of using the principle of least privilege.
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
✓
Create a database user for the service principal using the CREATE USER statement with the FROM EXTERNAL PROVIDER option
A service principal (Microsoft Entra ID application) must have a corresponding database user created using the CREATE USER statement with the FROM EXTERNAL PROVIDER clause. This maps the external identity to a database principal, enabling authentication and authorization within Azure SQL Database.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Grant CONTROL permission on the database to the user
Why it's wrong here
CONTROL provides full control over the database, which is excessive for read-only access.
- ✗
Add the user to the 'sales' database role
Why it's wrong here
'sales' is a schema, not a database role. This would cause an error.
- ✓
Create a database user for the service principal using the CREATE USER statement with the FROM EXTERNAL PROVIDER option
Why this is correct
This maps the Microsoft Entra service principal to a database user.
- ✓
Grant SELECT on the 'sales' schema to the user
Why this is correct
This grants SELECT permission on all tables in the 'sales' schema.
- ✓
Add the user to the 'db_datareader' fixed database role
Why this is correct
The db_datareader role grants read access to all tables in the database.
Go deeper
Related to this question
Learn chapter
Overview of Azure Data Platform Options
Key term
Azure SQL Performance Tuning
Azure SQL Performance Tuning is the process of optimizing the speed and efficiency of queries and database operations in Microsoft Azure SQL Database or SQL Managed Instance to reduce latency and improve throughput.
About these practice questions
This DP-300 question is part of Courseiva's 906-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DP-300 practice question is part of Courseiva's free Microsoft 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 DP-300 exam.