Courseiva
Question 852 of 919
Plan and implement data platform resourcesmediumMultiple ChoiceObjective-mapped

DP-300 Plan and implement data platform resources Practice Question

You are configuring security for an Azure SQL Database that will be accessed by multiple applications. Each application uses a separate service principal managed in Microsoft Entra ID. You need to ensure that each service principal has the minimum required permissions to access only its own set of tables. What should you implement?

⚠ Common exam trap

Candidates often confuse server-level logins with contained database users for Microsoft Entra ID principals, or mistakenly think that broad roles like db_datareader satisfy the 'minimum required permissions' requirement when the question explicitly demands table-level scoping.

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 contained database user for each service principal and grant SELECT, INSERT, UPDATE, DELETE on specific tables.

It creates a contained database user for each service principal (mapped to the Microsoft Entra ID identity) and grants only the specific table-level permissions (SELECT, INSERT, UPDATE, DELETE) required for that application. This follows the principle of least privilege by avoiding broad database roles and ensuring each service principal can only access its own set of tables.

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 contained database user for each service principal and grant the db_owner role.

    Why it's wrong here

    Incorrect: db_owner provides full control, not minimum permissions.

  • Create a contained database user for each service principal and grant SELECT, INSERT, UPDATE, DELETE on specific tables.

    Why this is correct

    Correct: Contained database users allow granular permissions per table, meeting the minimum required access.

  • Create a server-level login for each service principal and assign db_datareader role in the database.

    Why it's wrong here

    Incorrect: Server-level logins provide access to all databases; db_datareader gives read access to all tables.

  • Configure a server-level firewall rule for each service principal IP address.

    Why it's wrong here

    A server-level firewall rule controls network access by IP address, not data-plane permissions within the database. It cannot restrict a service principal to specific tables; it only allows or denies connections from a given IP range. This option is tempting because firewall rules are a common first line of defence for Azure SQL Database, and they would be correct if the requirement were to limit network-level access per application, rather than to enforce row- or table-level authorisation inside the database.

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 →

How Courseiva writes practice questions · Editorial policy

Last reviewed: Jun 24, 2026

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.

Loading comments…

Sign in to join the discussion.

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.