07-16-2024 11:19 AM - edited 09-04-2024 07:58 AM
Edited 4SEPT2024: Updated information with the release of Jamf Pro 11.9 for PSSO and Device Compliance. Also added link to Jamf Pro documentation.
https://learn.jamf.com/en-US/bundle/technical-articles/page/Platform_SSO_for_Microsoft_Entra_ID.html
With this method, when a user registers a device with the Platform Single Sign-On flow, the device compliance will automatically be sent to Entra.
In the event that an organization deploys PSSO first and then later configures and deploys Device Compliance, the user must run the "Register Device with Microsoft" policy from Jamf Self Service or the administrator must deploy a policy to run the gatherAADInfo command at least once before device compliance will be reported.
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>AppPrefixAllowList</key>
<string>com.microsoft.,com.apple.,com.jamf.trust,com.jamf.management.,com.jamf.protect,com.jamfsoftware.</string>
<key>browser_sso_interaction_enabled</key>
<integer>1</integer>
<key>disable_explicit_app_prompt</key>
<integer>1</integer>
</dict>
</plist>
Posted on 11-05-2024 11:14 AM
We've decided to switch to SecureEnclave. During my journey down the rabbit hole of Platform SSO logs I came up with a few variations on a predicate that gave some insight into the problem.
Silent token refresh attempt results
log show --style compact --predicate '(subsystem contains [c] "AppSSO Extensi" or subsystem contains [c] "com.microsoft.ssoextension" or subsystem = "com.apple.AppSSO") and (eventMessage contains "_finishAuthorization:withCompletion:" or eventMessage contains "authorization:didCompleteWithError:")' --debug --info
You can play with variations on this predicate to see some interesting things. The subsystems listed were the ones I found mostly related to SSO. I also looked at keychain and device unlock logs with variations on this predicate. I was able to compare my experience on an Intune managed device running password sync vs our Jamf managed devices. The Jamf implementation at this time seems to have some bugs around the silent refresh. Not surprisingly, the Intune implementation for both password sync and SecureEnclave were both smooth.
The above predicate only showed successful results on my Intune managed device.
Posted on 11-13-2024 08:05 AM
when we tried to use smart card method we are getting below error but we are trying to use Yubikey as smart card, why it is not detecting.
Posted on 11-15-2024 05:32 AM
@rabbitt I followed the steps in this article to get PSSO working with the device compliance integration with Azure. Everything goes smoothly, but after registering the device with Azure I do not see the compliant attribute update in Azure. When I run the gatherAADInfo command I receive a message that states No Azure tenant setup. When I check the com.jamfsoftware.jamf.plist file I can see no Azure info is present. At the recommendation of another user on JamfNation I ran sudo jamf manage. Once I did this all the Azure info populated in the Jamf preference file. I then ran the gatherAADInfo command again and it ran properly and sent the compliance info to Azure. I thought this may have been a fluke so I setup another device and experienced the same results. It appears I can only get device compliance to work by manually running sudo jamf manage and gatherAADInfo. My workflow to setup a test device is as follows:
Am I missing a step in my workflow to make device compliance work on its own?
Posted on 11-19-2024 03:59 AM
Has anyone come across the macOS notification ignoring the Display Account Name value?
Posted on 01-08-2025 08:05 AM
I have PlatformSSO working and can register fine but only Teams, OneDrive and Edge seem to work with the SSO. Outlook, word etc all need manual log in still. Am I missing something in the setup?
Posted on 01-08-2025 08:27 AM
Posted on 01-08-2025 08:32 AM
Awesome! Thought I had missed something so glad to hear I wasn't going mad! Thanks!
Posted on 01-20-2025 12:38 AM
PSSO configuration profile is working but I have not has sucess in using the
Posted on 01-22-2025 10:04 AM
At this time, keys that are not explicitly called out to be set in the configuration profile are not supported by Microsoft. For privilege access management, I would highly recommend using a tool like Jamf Connect or the SAP-Enterprise-Privileges app.
Posted on 01-22-2025 11:30 AM
Oh, I'm not able to deploy this if I can not restrict workstation logins to departmantal group members. Giving the entire University access to to our devises is not a risk we can accept. I will re-address the posibility of Purchasing Jamf Connect but I'm guessing we will be stuck with binding to AD untill microsoft updates the Company portal to address these keys.
Posted on 01-27-2025 02:38 AM
We are testing the PSSO with the Secure Enclave method.
When setting the Account Authorization Type as Standard in the PSSO configuration, we've observed that post-registration, Mac local user accounts with Admin access are downgraded to Standard user accounts.
Conversely, when utilizing Account Authorization Type as Admin in the PSSO configuration, we've noted that post-registration, Mac local user accounts with Standard access are elevated to Admin accounts.
wherein user accounts are not inadvertently changed from Admin to Standard or vice versa. any hints on this?
Friday
I'm still just testing for now, but so far, this seems to work well for us. We are using the password option. We want to synchronize the Mac local login password with Microsoft Entra ID. Does anyone know if users receive an alert when their password is nearing expiration? Our current in production SSO extension does this and there's an option from the menubar to change the password. For this solutiong using the Company Portal app, there is no menubar app.
Friday
Do people receive an alert: Nope. In fact, it is possible a user may need to change their password if expired on a second device before getting into the Mac. If you're enforcing passwords and there's a network connection, you could lock users out of their Macs in all new and interesting ways. (I'd recommend not deploying the password sync without a grace period config on Sequoia.)
Your prod option is grabbing the password expiration from the domain controller via a Kerberos ticket. Depending on your IDPs configuration, it could be cloud based (IDP knows when the password would expire, but there's no part of the OIDC spec to pass that info to the client device), or it could be mastered by another IDP or an on-premises AD. In that case, the cloud IDP has no idea when the password expires and can't pass the info along.
feedbackassistant.apple.com will be your friend here. :)
Monday
With our current SSO profile setup, users are notified that their password is due to expire, and they can change their password using the key icon in the menubar. With this configuration usign the company portal app, how are users notified that their password will expire, and what is the process for the password change? I am working on creating a guide for users to go through the process of registering. At some point, everyone will need to reset their password.