Configuring On-Premises Workload Identity with Certificates and Conditional Access

SC-300 By islever Editorial Last updated

Plan and implement identities for applications and Azure workloads Plan, implement, and manage Microsoft Entra Conditional Access

Short answer

Configure a Conditional Access policy to restrict access to the corporate network and use a Certificate for non-interactive authentication credentials.

Question

HOTSPOT
You have an on-premises server named Server1 that runs Windows Server.
You have a Microsoft Entra tenant that contains an app registration named App1. App1 has Microsoft Graph application permissions.
You need to configure the environment to support App1. The solution must meet the following requirements:
• App1 must be accessible only from the corporate network.
• The credentials for App1 must NOT be stored as plain text.
• Non-interactive scheduled tasks on Server1 must be able to authenticate to App1.
What should you do? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Exhibit: Configuring On-Premises Workload Identity with Certificates and

Key Takeaways

On-premises servers cannot use Managed Identities; they must use Certificates for secure non-interactive auth, paired with Conditional Access for network-based access control.

Learn how to secure on-premises servers accessing Microsoft Entra apps by using Conditional Access policies for network restrictions and certificates for non-plaintext authentication.

Common mistake: Using a Client Secret, which violates the no-plaintext requirement, or attempting to use a Managed Identity, which is unsupported for on-premises servers.

Expert Analysis

The scenario requires securing an on-premises server (Server1) that authenticates as a workload identity to a Microsoft Entra app registration (App1) using Microsoft Graph permissions. The constraints are strict: access must be limited to the corporate network, credentials must not be plaintext, and non-interactive authentication is required.

The most attractive but wrong approach is to use a Client Secret or a Managed Identity. A client secret is stored as plaintext in configuration files or scripts, violating the security requirement. Managed Identities (System-assigned or User-assigned) are only available for Azure resources; since Server1 is on-premises Windows Server, this option is technically impossible.

The correct solution involves two distinct configurations:

  1. Authentication Method: The credential must be a Certificate. Certificates provide strong cryptographic security without storing plaintext secrets. For non-interactive tasks on a machine without a user context, the certificate is installed locally on Server1, allowing the application to authenticate silently.
  2. Access Control: To restrict access to the corporate network, you must configure a Conditional Access policy. This policy targets the service principal of App1 and uses a location condition to allow sign-ins only from trusted corporate IP ranges, blocking all external access.

This combination ensures secure, non-interactive, and geographically restricted access for the on-premises workload.

Official Reference

Exam Strategy

When seeing 'on-premises' and 'non-interactive', immediately eliminate Managed Identities. If 'no plaintext' is specified, eliminate Client Secrets. The remaining valid credential type is a Certificate. Always pair this with Conditional Access if network restriction is required.

Frequently Asked Questions

Can I use User-Assigned Managed Identity for on-premises servers?

No. Managed Identities are exclusively for Azure resources. On-premises servers must use certificates or client secrets.

Why not use a Client Secret for non-interactive tasks?

Client secrets are stored as plaintext strings, which violates security best practices and the specific requirement in this question.

More SC-300 FAQ →

Discussion 4 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 4

  1. Shreempy 👍 3
    1. CAP 2. Certificate. Secret needs to be provided in plain text, SAMI and UAMI are only for Azure resources
  2. sheilawu 👍 3
    reivse->condisional access policy / certificate
  3. skirk1564 👍 2
    The answers are Client Access Policy and a Certificate... the key here is the server is ON PREM... so you can't user a managed Identity
  4. Tuyi 👍 1
    In the tenant configure: A Conditional Access policy. Scheduled tasks on Server1 authenticate by using a: Certificate. Why Conditional Access: App1 uses Graph application permissions, so it authenticates as itself (a workload identity), not as a user. Conditional Access for workload identities can target that service principal with a location condition, blocking every sign-in except those from your corporate network’s named location. That covers “accessible only from the corporate network.” (In practice this needs the Workload Identities Premium license.) Application proxy publishes on-prem web apps to external users. It doesn’t restrict where a service principal can authenticate from. Authentication methods policies apply to users, not apps. Permission classifications label permissions for consent decisions and don’t restrict access. Why certificate: Client secret is a string that ends up in a script or config file, which breaks the “not stored as plain text” requirement. The private key of a certificate sits in the Windows certificate store and can be marked non-exportable. Managed identities (both kinds) only work on Azure resources. Server1 is on-premises. Azure Arc could technically give it one, but nothing in the question mentions Arc, so rule it out.

Reader comments & corrections

No reader corrections 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.

Practice All SC-300 Questions

Access 80 questions with complete answers and detailed explanations.

View Full SC-300 Practice Test →

← Back to SC-300 Study Guide