Every local Jamf Pro admin account is another password to protect and to remember to disable. SAML single sign-on hands that job to Microsoft Entra ID, so MFA and Conditional Access apply to Jamf Pro admins and, optionally, to Self Service users. In this post I'll configure both sides, keep a safe way back in, and fix the AADSTS errors you're most likely to meet.
Errors this guide fixes
AADSTS50105: The signed in user is not assigned to a role for the applicationMicrosoft Entra sign-in page / sign-in logAADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the applicationMicrosoft Entra sign-in pageAADSTS700016: Application with identifier '...' was not found in the directory '...'Microsoft Entra sign-in pageAADSTS50020: User account '...' from identity provider '...' does not exist in tenant '...' and cannot access the applicationMicrosoft Entra sign-in pageAADSTS53003: Access has been blocked by Conditional Access policiesMicrosoft Entra sign-in log
How it works#
Jamf Pro is the SAML service provider and Entra ID is the identity provider. The gallery app supports SP-initiated sign-in (browse to Jamf Pro and get redirected) and IdP-initiated sign-in (the Jamf Pro tile in My Apps). When the SAML assertion arrives, Jamf Pro looks for a Jamf Pro user account that matches the user; if none matches, it tries to match one of the user's groups to a Jamf Pro group.
That gives you the first troubleshooting rule: an AADSTS code means Entra ID refused to issue the assertion; a successful Entra sign-in followed by a Jamf Pro refusal is a mapping problem. Also note that provisioning users into Jamf Pro is manual, and that Jamf warns enabling SSO stops sign-in with standard and directory credentials, so plan failover access first.
Prerequisites#
- An Entra account with the Cloud Application Administrator or Application Administrator role, or ownership of the app.
- A Jamf Pro admin account that can edit Single Sign-On settings.
- Jamf Pro standard accounts or groups that will match your Entra users or groups.
- A break-glass plan: Jamf requires accounts that use the failover URL while SSO is enabled to have Read and Update privileges for SSO Settings.
Step 1: Add Jamf Pro from the Entra gallery#
- In the Microsoft Entra admin center, go to Entra ID › Enterprise apps › New application, search for Jamf Pro and add it.
- Open Single sign-on, choose SAML and edit Basic SAML Configuration:
| Field | Jamf Cloud format |
|---|---|
| Identifier (Entity ID) | https://<subdomain>.jamfcloud.com/saml/metadata |
| Reply URL | https://<subdomain>.jamfcloud.com/saml/SSO |
| Sign-on URL (SP-initiated) | https://<subdomain>.jamfcloud.com |
These are patterns: copy the real Entity ID from Jamf Pro (Step 3) and build the other two from the same host name, exactly as Jamf Pro shows it.
- Under Attributes & Claims, check the Unique User Identifier (Name ID): usually the UPN, which must equal the email address on the Jamf Pro account. To map groups, add a group claim.
- In SAML Signing Certificate, copy the App Federation Metadata Url.
Step 2: Assign users and protect the app#
- Under Users and groups, assign the admin groups and, if Self Service will use SSO, the end-user groups.
- In Properties, keep Assignment required? set to Yes so only assigned users receive a token. This setting is behind
AADSTS50105. - Target the app with a Conditional Access policy that requires MFA, starting in report-only mode.
Step 3: Configure Single Sign-On in Jamf Pro#
- In Jamf Pro, open Settings, select Single Sign-On (System section) and click Edit.
- Select Enable SSO Authentication (Enable Single Sign-On Authentication in older versions). Where Jamf Pro offers the choice, select SAML authentication so admins and end users both sign in through Entra ID, then pick Entra ID's entry in the Identity Provider menu (Microsoft's tutorial shows it as Azure).
- Copy the Entity ID into the Entra Identifier field.
- Set Identity Provider Metadata Source to Metadata URL and paste the App Federation Metadata URL.
- Leave Token Expiration Time Override disabled: Jamf describes it as an Okta option and warns that enabling it can cause login errors.
- Under User Mapping, keep NameID for Identity Provider User Mapping and choose Email (or Username, whichever matches the NameID value) for Jamf Pro User Mapping. For groups, set Identity Provider Group Attribute Name to
http://schemas.microsoft.com/ws/2008/06/identity/claims/groups. - Under Single Sign-On Options for Jamf Pro, decide on Allow users to bypass the Single Sign-On authentication. With it on, users who browse straight to Jamf Pro get the local sign-in page instead of a redirect: handy during rollout, but it keeps password sign-in open, so consider turning it off once SSO is proven.
- Copy the failover login URL, store it with your break-glass documentation, then Save.
Watch out: by default, Entra ID's group claim sends group object IDs, not names. A Jamf Pro group only matches if its name equals the value Entra sends, so name the group after the object ID or change the claim's source attribute.
Step 4: Self Service and enrollment#
The same Single Sign-On Options for Jamf Pro section controls the end-user services. Enable Single Sign-On for Self Service for macOS sends Self Service sign-ins to Entra ID and switches the login type under Settings › Self Service › macOS to Single Sign-On; Self Service+ uses the same settings. Enable Single Sign-On for User Authentication during Enrollment covers user-initiated and account-driven enrollment, for any identity provider user or only one group. Self Service users don't need Jamf Pro console accounts, but while Assignment required? is Yes they must be assigned to the enterprise app.
Verify#
- From the enterprise app's Single sign-on page, run Test this application as a pilot admin, then try the My Apps tile. Test with an account that isn't a Global Administrator: Microsoft notes the assignment requirement doesn't apply to that role, so it can hide AADSTS50105.
- In Monitoring & health › Sign-in logs, filter on the Jamf Pro app: status Success, MFA satisfied, expected policies on the Conditional Access tab.
- In Jamf Pro, confirm users (and group-mapped users) land with the right privilege set.
- Open the failover URL in a private window and confirm a local account can still sign in.
AADSTS errors and fixes#
| Error | Usual cause with Jamf Pro | Fix |
|---|---|---|
AADSTS50105: The signed in user is not assigned to a role for the application | Assignment is required and the user isn't assigned, or is only in a nested group | Assign the user or a group they're a direct member of |
AADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application | The assertion consumer URL Jamf Pro sends (its /saml/SSO address) doesn't match the Reply URL (host name, port, typo) | Set the Reply URL to the exact value for your Jamf Pro URL |
AADSTS700016: Application with identifier '...' was not found in the directory '...' | Entra Identifier differs from Jamf Pro's Entity ID, or the request went to the wrong tenant | Paste the Entity ID exactly; check the tenant in the metadata URL |
AADSTS50020: User account '...' from identity provider '...' does not exist in tenant '...' and cannot access the application | A consultant signs in with an account from another tenant | Invite them as a B2B guest and assign them, or issue a tenant account |
AADSTS53003: Access has been blocked by Conditional Access policies | A policy on Jamf Pro (such as requiring a compliant device) blocks the admin | Check the sign-in log's Conditional Access tab; adjust scope or use a compliant device |
For Conditional Access blocks, see AADSTS53000 vs AADSTS53003; for other codes, the AADSTS quick reference.
Tips & gotchas#
- Entra says success, Jamf Pro says no. Compare the NameID (the UPN by default; a browser SAML tracer shows the real value) with the Jamf Pro account's email or username.
- Certificate expiry. After rotating the SAML signing certificate, confirm Jamf Pro has the new one (re-save the metadata URL if needed) before the old one expires.
- Different integrations. SSO is separate from Entra ID as Jamf Pro's cloud identity provider and from Jamf Connect; the integration overview maps them all.

