Passwordless On-Premises App Connection to Azure SQL DB1

Implement data security and compliance
Answer Correct answer: A — register TransactionProcessing in Microsoft Entra ID and authenticate to DB1 with a service principal to replace the hard-coded username and password.

Case Study This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided. To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study. At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section. To start the case study To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question. Existing Environment Azure Environment Fabrikam has a single Azure subscription in the East US 2 Azure region. The subscription contains an Azure SQL database named DB1. DB1 contains the following tables: • Patients • Employees • Procedures • Transactions • UsefulPrompts • ProcedureDocuments You store a column master key as a secret in Azure Key Vault. You have an on-premises application named TransactionProcessing that uses a hard-coded username and password in a connection string to access DB1. Problem Statements Users report that after executing a long-running stored procedure named sp_UpdateProcedureForPatient, updates to the underlying data are sometimes inconsistent. Requirements Planned Changes Fabrikam plans to manage all changes to Azure SQL Database objects by using source control in GitHub. Every pull request submitted to production will be validated before it can be merged. Deployments must use the Release configuration. Security Requirements Fabrikam identifies the following security requirements: • The TransactionProcessing application must use a passwordless connection to DB1. • The Employees table contains two columns named TaxID and Salary that must be encrypted at rest. • Auditors must have a tamper-evident history of transactions with cryptographic proof of changes to the employee data. Database Performance Requirements Records accessed by using sp_UpdateProcedureForPatient must NOT be changed by other transactions while the stored procedure runs. AI Search, Embeddings, and Vector Indexing Fabrikam identifies the following AI-related requirements: • Queries to the ProcedureDocuments table must use Reciprocal Rank Fusion (RRF). • Users must be able to query the data in DB1 by using prompts in Copilot in Microsoft Fabric. • The UsefulPrompts table will store prompts that doctors can use to help diagnose patient illness by connecting to an Azure OpenAI endpoint. Development Requirements Fabrikam identifies the following development requirements: • Provide the functionality to retrieve all the transactions of a given patient between two dates, showing a running total. • Expose a Data API builder (DAB) configuration file to enable Azure services to perform the following operations over a REST API: o Read data from the procedures table without authentication. o Read and insert data into the Transactions table once authenticated. o Execute the sp_UpdateProcedurePatient stored procedure. • Provide the functionality to retrieve a list of the names of patients who underwent medical procedures during the last 30 days. • Information for each medical procedure will be stored in a table. The table will be used with a large language model (LLM) for user querying and will have the following structure. exhibit DAB You create a DAB configuration file that meets the development requirements for DB1 and includes the following entities. exhibit You need to recommend a solution for the TransactionProcessing application that meets the security requirements. What should you include in the recommendation?

  1. a service principal Correct Answer
  2. a system-assigned managed identity
  3. a shared access key
  4. a user-assigned managed identity

Community Insight

The question tests Microsoft Entra ID authentication for Azure SQL Database; the trap is choosing a managed identity simply because the requirement says 'passwordless,' ignoring that TransactionProcessing runs on-premises.

In the Fabrikam case study, the on-premises TransactionProcessing application must connect to Azure SQL Database DB1 without hard-coded credentials, replacing its username/password connection string. The correct recommendation is a Microsoft Entra ID service principal, because managed identities are only available to Azure-hosted resources.

The most common wrong choice is B, a system-assigned managed identity, because candidates associate 'passwordless' with managed identity. Managed identities are only minted for Azure-hosted workloads (App Service, VMs, containers, etc.), so an on-premises application cannot obtain one; C (shared access key) is also wrong because a stored key is not a passwordless Microsoft Entra solution.

Community Discussion (1 comments)

gangreja 👍 1 Selected: A
The key detail from the Fabrikam case is that TransactionProcessing is an on-premises application.A service principal is an app identity registered in Microsoft Entra ID that can sign in from anywhere, including on-premises.

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

A service principal is an identity registered in Microsoft Entra ID that can authenticate from any location, including outside Azure. Because TransactionProcessing is explicitly described as an on-premises application, it must authenticate to DB1 using Microsoft Entra ID with a client secret, certificate, or federated credential, and then obtain an OAuth token for the Azure SQL resource. This satisfies the security requirement of a passwordless connection while removing the hard-coded username and password from the connection string. Microsoft documents service principal authentication as a supported path for Azure SQL Database Microsoft Entra-only authentication.

Why the Other Options Are Wrong

Option B (system-assigned managed identity) and option D (user-assigned managed identity) both fail the same test: managed identities are identities that Azure hosts and rotates on behalf of an Azure resource, and their tokens are only obtainable through the Azure Instance Metadata Service, which is not reachable from an on-premises server. A system-assigned identity would also be tied to the lifecycle of a single Azure resource, whereas the consumer here is on-premises. Option C (a shared access key) simply replaces one shared secret with another; it is not Microsoft Entra-based passwordless access and does not remove the hard-coded credential problem the requirement targets.

Community Comment Notes

The single community comment correctly anchors on the decisive detail, noting that "TransactionProcessing is an on-premises application" and that "A service principal is an app identity registered in Microsoft Entra ID that can sign in from anywhere, including on-premises." No dissenting comments were posted, and the analysis agrees with that reasoning rather than deferring to it.

Official Reference

Exam Strategy

In DP-800 case studies, always locate where the workload runs before choosing an identity type: managed identity for Azure-hosted clients, service principal (or workload identity federation) for anything off Azure. Then confirm the option also removes the hard-coded secret requirement.

Frequently Asked Questions

Why can't the on-premises TransactionProcessing app use a system-assigned managed identity?

Managed identities are only issued for Azure-hosted resources and their tokens come from the Azure Instance Metadata Service, which an on-premises server cannot reach. A service principal registered in Microsoft Entra ID is required instead.

Is a shared access key considered a passwordless connection to Azure SQL Database?

No. A shared access key is a stored secret that must be configured and rotated manually, which is exactly the hard-coded credential problem the security requirement removes. Microsoft Entra ID authentication via service principal is the passwordless path.

More DP-800 FAQ →

Related Analysis

← Back to DP-800 Study Guide