Risoluzione dei problemi del plug-in Microsoft Enterprise SSO Extension nei dispositivi Apple
Questo articolo fornisce indicazioni sulla risoluzione dei problemi usate dagli amministratori per risolvere i problemi relativi alla distribuzione e all'uso del plug-in in Enterprise SSO. L'estensione Apple SSO può essere distribuita in iOS/iPadOS e macOS.
Le organizzazioni possono scegliere di distribuire l'accesso SSO ai propri dispositivi aziendali per offrire un'esperienza migliore per gli utenti finali. Nelle piattaforme Apple questo processo implica l'implementazione dell'accesso Single Sign-On (SSO) tramite token di aggiornamento primario. L'accesso Single Sign-On consente agli utenti finali di ridurre il carico di richieste di autenticazione eccessive.
Microsoft ha implementato un plug-in basato sul framework SSO di Apple, che fornisce l'autenticazione negoziata per le applicazioni integrate con Microsoft Entra ID. Per altre informazioni, vedere l'articolo Pug-in Microsoft Enterprise SSO per i dispositivi Apple.
Tipi di estensione
Apple supporta due tipi di estensioni SSO che fanno parte del framework: Reindirizzamento e credenziali. Il plug-in Microsoft Enterprise SSO è stato implementato come tipo di reindirizzamento ed è più adatto per l'autenticazione negoziata in Microsoft Entra ID. Nella tabella seguente vengono confrontati i due tipi di estensioni.
Tipo di estensione | Ideale per | Funzionamento | Differenze principali |
---|---|---|---|
Reindirizza | Metodi di autenticazione moderni, ad esempio OpenID Connect, OAUTH2 e SAML (Microsoft Entra ID) | Il sistema operativo intercetta la richiesta di autenticazione dall'applicazione agli URL del provider di identità definiti nel profilo di configurazione MDM dell'estensione. Le estensioni di reindirizzamento ricevono URL, intestazioni e corpo. | Richiedere le credenziali prima di richiedere i dati. Usa gli URL nel profilo di configurazione MDM. |
Credenziale | Tipi di autenticazione di richiesta e risposta come Kerberos (Servizi di dominio Active Directory locali) | La richiesta viene inviata dall'applicazione al server di autenticazione (controller di dominio AD). Le estensioni delle credenziali sono configurate con HOSTS nel profilo di configurazione MDM. Se il server di autenticazione restituisce una richiesta di verifica corrispondente a un host elencato nel profilo, il sistema operativo instrada la richiesta all'estensione. L'estensione ha la scelta di gestire o rifiutare la richiesta. Se gestita, l'estensione restituisce le intestazioni di autorizzazione per completare la richiesta e il server di autenticazione restituisce una risposta al chiamante. | Richiedere i dati e quindi richiedere l'autenticazione. Usare gli HOST nel profilo di configurazione MDM. |
Microsoft dispone di implementazioni per l'autenticazione negoziata per i sistemi operativi client seguenti:
Sistema operativo | Broker di autenticazione |
---|---|
Finestre | Gestione account Web (WAM, Web Account Manager) |
iOS/iPadOS | Microsoft Authenticator |
Android | Microsoft Authenticator o portale aziendale di Microsoft Intune |
macOS | Portale aziendale di Microsoft Intune (tramite estensione SSO) |
Tutte le applicazioni broker Microsoft usano un artefatto chiave noto come token di aggiornamento primario (PRT), ovvero un token JSON Web (JWT) usato per acquisire i token di accesso per le applicazioni e le risorse Web protette con Microsoft Entra ID. Quando viene distribuita tramite MDM, l'estensione Enterprise SSO per macOS o iOS ottiene un token di aggiornamento primario simile alle richieste pull usate nei dispositivi Windows da Web Account Manager (WAM). Per altre informazioni, vedere l’articolo Che cos'è un token di aggiornamento primario.
Modello di risoluzione dei problemi
Il diagramma di flusso seguente illustra un flusso logico per la risoluzione dei problemi relativi all'estensione SSO. Il resto di questo articolo illustra in dettaglio i passaggi illustrati in questo diagramma di flusso. La risoluzione dei problemi può essere suddivisa in due aree di interesse separate: distribuzione e flusso di autenticazione dell'applicazione.
Procedura per rifiutare esplicitamente l'accesso Single Sign-On di Platform in macOS
Per rifiutare esplicitamente l'accesso PSSO abilitato per errore, gli amministratori devono rimuovere il profilo di estensione SSO con PSSO abilitato dai dispositivi e distribuire un nuovo profilo di estensione SSO con flag PSSO disabilitati/rimossi.
- Rimuovere la destinazione per il profilo SSO con PSSO abilitato
- Avviare la sincronizzazione del dispositivo per ottenere il profilo SSO con PSSO abilitato rimosso dal dispositivo
- Impostare come destinazione il dispositivo con un nuovo profilo SSO con PSSO disabilitato
- Avviare la sincronizzazione del dispositivo per ottenere il nuovo profilo installato nel dispositivo
Importante
Nota: l'aggiornamento del profilo SSO esistente nel dispositivo non consente di disabilitare L'accesso PSSO al termine della registrazione PSSO. Solo una rimozione completa del profilo SSO dal dispositivo rimuoverà lo stato PSSO dal dispositivo.
Contesto:
Gli utenti inizieranno a visualizzare la notifica di registrazione PSSO nei dispositivi macOS 13+ in due scenari:
- Se il dispositivo ha già la versione di Portale aziendale di Intune che supporta PSSO e l'amministratore distribuisce nuovi criteri di estensione SSO con PSSO abilitato
- Se l'utente è già destinato ai criteri di estensione SSO con PSSO abilitato e successivamente viene installata una versione del portale aziendale di Intune che supporta PSSO nel dispositivo.
Attenzione
Gli amministratori non devono essere destinati agli utenti con criteri di estensione SSO con PSSO abilitato, a meno che non vengano testati e pronti per la distribuzione, in quanto ciò può potenzialmente interrompere gli utenti esistenti e le relative condizioni di conformità.
Importante
Nota: per gli utenti che completano la registrazione PSSO, la registrazione WPJ legacy verrà rimossa dal keychain. Se la registrazione PSSO è stata eseguita per errore, dopo che l'amministratore rimuove il profilo SSO con PSSO e installa un nuovo profilo senza PSSO, la registrazione WPJ legacy deve essere eseguita nuovamente per il funzionamento della conformità del dispositivo.
Risoluzione dei problemi di distribuzione
La maggior parte dei problemi riscontrati dai clienti deriva da configurazioni di gestione di dispositivi mobili (MDM) non corretta del profilo di estensione SSO o dall'impossibilità per il dispositivo Apple di ricevere il profilo di configurazione dalla MDM. Questa sezione illustra i passaggi che è possibile eseguire per assicurarsi che il profilo MDM sia stato distribuito in un Mac e che abbia la configurazione corretta.
Requisiti di distribuzione
- Sistema operativo macOS: versione 10.15 (Catalina) o successiva.
- Sistema operativo iOS: versione 13 o successiva.
- Dispositivo gestito da qualsiasi fornitore MDM che supporta Apple macOS e/o iOS (registrazione MDM).
- Software di Authentication Broker installato: Portale aziendale di Microsoft Intune o Microsoft Authenticator per iOS.
Controllare la versione del sistema operativo macOS
Usare la procedura seguente per controllare la versione del sistema operativo nel dispositivo macOS. I profili di estensione SSO Apple vengono distribuiti solo nei dispositivi che eseguono macOS 10.15 (Catalina) o versione successiva. È possibile controllare la versione di macOS dall’interfaccia utente o dal terminale.
Interfaccia utente
Dal dispositivo macOS selezionare l'icona Apple nell'angolo in alto a sinistra e selezionare Informazioni su questo Mac.
La versione del sistema operativo è elencata accanto a macOS.
Terminale
Dal dispositivo macOS fare doppio clic sulla cartella Applicazioni e quindi fare doppio clic sulla cartella Utilità.
Fare doppio clic sull'applicazione Terminale.
Quando il terminale apre il tipo sw_vers al prompt, cercare un risultato simile al seguente:
% sw_vers ProductName: macOS ProductVersion: 13.0.1 BuildVersion: 22A400
Controllare la versione del sistema operativo iOS
Usare la procedura seguente per controllare la versione del sistema operativo nel dispositivo iOS. I profili di estensione Apple SSO vengono distribuiti solo nei dispositivi che eseguono iOS 13 o versione successiva. È possibile controllare la versione di iOS dall'app Impostazioni. Aprire l'app Impostazioni:
Passare a Generale e quindi Informazioni. Questa schermata elenca le informazioni sul dispositivo, incluso il numero di versione di iOS:
Distribuzione MDM del profilo di configurazione dell'estensione SSO
Collaborare con l'amministratore MDM (o il team di gestione dei dispositivi) per assicurarsi che il profilo di configurazione dell'estensione venga distribuito nei dispositivi Apple. Il profilo di estensione può essere distribuito da qualsiasi MDM che supporta dispositivi macOS o iOS.
Importante
Apple richiede che i dispositivi siano registrati in un MDM per la distribuzione dell'estensione SSO.
La tabella seguente fornisce indicazioni specifiche per l'installazione MDM a seconda del sistema operativo in cui si distribuisce l'estensione:
- iOS/iPadOS: distribuire il plug-in Microsoft Enterprise SSO
- macOS: distribuire il plug-in Microsoft Enterprise SSO
Importante
Anche se qualsiasi MDM è supportato per la distribuzione dell'estensione SSO, molte organizzazioni implementano criteri di accesso condizionale basati su dispositivo tramite la valutazione dei criteri di conformità MDM. Se viene usata una soluzione MDM di terze parti, assicurarsi che il fornitore MDM supporti la conformità dei partner di Intune se si vogliono usare i criteri di accesso condizionale basati su dispositivo. Quando l'estensione SSO viene distribuita tramite Intune o un provider MDM che supporta la conformità dei partner di Intune, l'estensione può passare il certificato del dispositivo a Microsoft Entra ID in modo che l'autenticazione del dispositivo possa essere completata.
Convalidare la configurazione di rete nel dispositivo macOS
Il framework di estensione SSO di Apple e l'estensione Microsoft Enterprise SSO basati su di esso richiedono che determinati domini siano esentati dall'intercettazione/ispezione TLS (nota anche come interruzione e ispezione del proxy). I domini seguenti non devono essere soggetti all'ispezione TLS:
- app-site-association.cdn-apple.com
- app-site-association.networking.apple
Controllare se la configurazione dell'accesso Single Sign-On è interrotta a causa di TLS Inspection
È possibile verificare se l'ispezione TLS influisce sulla configurazione dell'accesso SSO eseguendo un sysdiagnose dall'applicazione Terminale su un dispositivo interessato:
sudo sysdiagnose -f ~/Desktop/
Sysdiagnose verrà salvato sul desktop come archivio .tar.gz. Estrarre l'archivio e aprire il file system_logs.logarchive. Verrà aperto nell'applicazione console. Cercare com.apple.appsso e modificare il filtro in SUBSYSTEM:
Cercare gli eventi che indicano che sono presenti errori di dominio associati, in particolare correlati ai domini Microsoft, ad esempio login.microsoftonline.com. Questi eventi potrebbero indicare problemi di ispezione TLS, che impediranno il corretto funzionamento dell'estensione SSO. I domini Apple non verranno visualizzati nel log sysdiagnose, anche se sono interessati da una configurazione di ispezione TLS non supportata.
Convalidare la configurazione dell'ispezione TLS
Apple offre uno strumento macOS per verificare alcuni problemi di configurazione comuni denominati Utilità di valutazione Mac. Questo strumento può essere scaricato da AppleSeed per l'IT. Se si ha accesso ad AppleSeed per l'IT, scaricare l'utilità di valutazione Mac dall'area Risorse. Dopo aver installato l'applicazione, eseguire una valutazione. Al termine della valutazione, passare a Intercetta HTTPS -->Contenuto aggiuntivo --> e controllare i due elementi seguenti:
Se questi controlli presentano un avviso o un errore, potrebbe verificarsi un'ispezione TLS nel dispositivo. Collaborare con il team di rete per esentare *.cdn-apple.com e *.networking.apple dall'ispezione TLS.
Output dei log swcd dettagliati
Apple fornisce un'utilità della riga di comando denominata swcutil
che consente di monitorare lo stato di avanzamento della convalida del dominio associata. È possibile monitorare eventuali errori di dominio associati usando il comando seguente:
sudo swcutil watch --verbose
Individuare la voce seguente nei log e verificare se è contrassegnata come approvata o se sono presenti errori:
```
Entry s = authsrv, a = UBF8T346G9.com.microsoft.CompanyPortalMac, d = login.microsoftonline.com
```
Cancellare la cache di ispezione TLS di macOS
Se si verificano problemi con i domini associati e si dispone di domini consentiti nello strumento di ispezione TLS sul dispositivo, potrebbe essere necessario del tempo per invalidare la cache di convalida del dominio associata di Apple. Sfortunatamente, non ci sono passaggi deterministici che riattivano la convalida del dominio associato in tutti i computer, ma ci sono alcuni tentativi che possono essere fatti.
È possibile eseguire i comandi seguenti per reimpostare la cache del dispositivo:
pkill -9 swcd
sudo swcutil reset
pkill -9 AppSSOAgent
Testare nuovamente la configurazione dell'estensione SSO dopo la reimpostazione della cache.
In alcuni casi, questo comando non è sufficiente e non reimposta completamente la cache. In questi casi, è possibile provare a eseguire le operazioni seguenti:
- Rimuovere o spostare l'app Portale aziendale di Intune nel Cestino, quindi riavviare il dispositivo. Al termine del riavvio, è possibile provare a reinstallare l'app Portale aziendale.
- Registrare nuovamente il dispositivo.
Se nessuno dei metodi precedenti risolve il problema, potrebbe esserci qualcos'altro nell'ambiente che potrebbe bloccare la convalida del dominio associata. In questo caso, contattare il supporto Apple per ulteriori operazioni di risoluzione dei problemi.
Convalidare il profilo di configurazione SSO nel dispositivo macOS
Supponendo che l'amministratore MDM abbia seguito i passaggi della sezione precedente Distribuzione MDM del profilo di estensione SSO, il passaggio successivo consiste nel verificare se il profilo è stato distribuito correttamente nel dispositivo.
Individuare il profilo di configurazione MDM dell'estensione SSO
Dal dispositivo macOS selezionare impostazioni di sistema.
Quando le impostazioni di sistema sono visualizzate, digitare Profili e premere Restituire.
Questa azione dovrebbe visualizzare il pannello Profili.
Screenshot del callout Descrizione 1 Indica che il dispositivo è in Gestione MDM. 2 Potrebbero essere disponibili più profili tra cui scegliere. In questo esempio, Microsoft Enterprise SSO Extension Profile è denominato Extensible Single Sign On Profile-32f37be3-302e-4549-a3e3-854d300e117a. Nota
A seconda del tipo di MDM in uso, potrebbero essere elencati diversi profili e il relativo schema di denominazione è arbitrario a seconda della configurazione MDM. Selezionare ognuno di essi e controllare che la riga Impostazioni indichi che si tratta di un'estensione Single Sign-On.
Fare doppio clic sul profilo di configurazione corrispondente al valore Impostazioni dell'estensione Single Sign-On.
Screenshot del callout Impostazione del profilo di configurazione Descrizione 1 Signed Autorità di firma del provider MDM. 2 Installato Data/Timestamp che mostra quando l'estensione è stata installata (o aggiornata). 3 Impostazioni: Estensione Single Sign-On Indica che questo profilo di configurazione è un tipo di estensione SSO di Apple. 4 Estensione Identificatore mappato all'ID bundle dell'applicazione che esegue il plug-in Microsoft Enterprise Extension. L'identificatore deve essere sempre impostato su com.microsoft.CompanyPortalMac.ssoextension
e l'identificatore del team deve essere visualizzato come (UBF8T346G9) se il profilo è installato in un dispositivo macOS. Se i valori sono diversi, la soluzione MDM non richiama correttamente l'estensione.5 Type L'estensione Microsoft Enterprise SSO deve essere sempre impostata su un tipo di estensione di reindirizzamento. Per altre informazioni, vedere Reindirizzamento e tipi di estensione delle credenziali. 6 URL URL di accesso appartenenti al provider di identità (Microsoft Entra ID). Vedere l'elenco degli URL supportati. Tutte le estensioni di reindirizzamento SSO Apple devono avere i componenti payload MDM seguenti nel profilo di configurazione:
Componente payload MDM Descrizione Identificatore dell'estensione Include sia l'identificatore del bundle che l'identificatore del team dell'applicazione nel dispositivo macOS, eseguendo l'estensione. Nota: l'estensione Microsoft Enterprise SSO deve essere sempre impostata su: com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9) per informare il sistema operativo macOS che il codice client di estensione fa parte dell'applicazione Portale aziendale di Intune. Type Deve essere impostato su Reindirizzamento per indicare un tipo di estensione di reindirizzamento. URL URL endpoint del provider di identità (Microsoft Entra ID), in cui il sistema operativo instrada le richieste di autenticazione all'estensione. Configurazione specifica dell'estensione facoltativa Valori del dizionario che possono fungere da parametri di configurazione. Nel contesto dell'estensione Microsoft Enterprise SSO, questi parametri di configurazione sono denominati flag di funzionalità. Vedere definizioni di flag di funzionalità. Nota
È possibile fare riferimento alle definizioni MDM per il profilo dell'estensione SSO di Apple nell'articolo Impostazioni del payload MDM Extensible Single Sign-On per i dispositivi Apple Microsoft ha implementato l'estensione in base a questo schema. Vedere Plug-in Microsoft Enterprise SSO per i dispositivi Apple
Per verificare che sia installato il profilo corretto per l'estensione Microsoft Enterprise SSO, il campo Estensione deve corrispondere a com.microsoft.CompanyPortalMac.ssoextension (UBF8T346G9).
Prendere nota del campo Installato nel profilo di configurazione perché può essere un indicatore utile per la risoluzione dei problemi, quando vengono apportate modifiche alla relativa configurazione.
Se il profilo di configurazione corretto è stato verificato, passare alla sezione Risoluzione dei problemi del flusso di autenticazione dell'applicazione.
Profilo di configurazione MDM mancante
Se il profilo di configurazione dell'estensione SSO non viene visualizzato nell'elenco Profili dopo aver seguito la sezione precedente, è possibile che la configurazione MDM abbia la destinazione User/Device abilitata, che filtra in modo efficace l'utente o il dispositivo dalla ricezione del profilo di configurazione. Rivolgersi all'amministratore MDM e raccogliere i log della console disponibili nella sezione successiva.
Raccogliere log della console specifici di MDM
Dal dispositivo macOS fare doppio clic sulla cartella Applicazioni e quindi fare doppio clic sulla cartella Utilità.
Fare doppio clic sull'applicazione console.
Fare clic sul pulsante Start per abilitare la registrazione della traccia della console.
Chiedere all'amministratore MDM di provare a ridistribuire il profilo di configurazione in questo dispositivo o utente macOS e forzare un ciclo di sincronizzazione.
Digitare subsystem:com.apple.ManagedClient nella barra di ricerca e premere Restituire.
Dove il cursore lampeggia nella barra di ricerca digitare message:Extensible.
Verranno ora visualizzati i log della console MDM filtrati in base alle attività del profilo di configurazione Extensible SSO. Lo screenshot seguente mostra una voce di log Profilo di configurazione installato, che mostra che il profilo di configurazione è stato installato.
Risoluzione dei problemi relativi al flusso di autenticazione dell'applicazione
Le indicazioni contenute in questa sezione presuppongono che il dispositivo macOS abbia un profilo di configurazione distribuito correttamente. Per i passaggi, vedere Convalidare il profilo di configurazione SSO nel dispositivo macOS.
Dopo aver distribuito l'estensione Microsoft Enterprise SSO per i dispositivi Apple, supporta due tipi di flussi di autenticazione dell'applicazione per ogni tipo di applicazione. Quando si esegue la risoluzione dei problemi, è importante comprendere il tipo di applicazione in uso.
Tipi di applicazione
Tipo di applicazione | Autenticazione interattiva | Autenticazione invisibile all'utente | Descrizione | Esempi |
---|---|---|---|---|
App MSAL nativa | X | X | MSAL (Microsoft Authentication Library) è un framework per sviluppatori di applicazioni personalizzato per la creazione di applicazioni con Microsoft Identity Platform (Microsoft Entra ID). Le app basate su MSAL versione 1.1 o successiva sono in grado di integrarsi con l'estensione Microsoft Enterprise SSO. Se l'applicazione è compatibile con l'estensione SSO (broker) che usa l'estensione senza ulteriori configurazioni per altre informazioni, vedere la documentazione di esempio per sviluppatori MSAL. |
Microsoft To-Do |
SSO non MSAL Nativo/Browser | X | Le applicazioni che usano tecnologie di rete Apple o webview possono essere configurate per ottenere credenziali condivise dall'estensione SSO I flag di funzionalità devono essere configurati per garantire che l'ID bundle per ogni app sia autorizzato a ottenere le credenziali condivise (PRT). |
Microsoft Word Safari Microsoft Edge Visual Studio |
Importante
Non tutte le applicazioni native Microsoft usano il framework MSAL. Al momento della pubblicazione di questo articolo, la maggior parte delle applicazioni macOS di Microsoft Office si basa ancora sul framework di libreria ADAL precedente e quindi si basa sul flusso SSO del browser.
Come trovare l'ID bundle per un'applicazione in macOS
Dal dispositivo macOS fare doppio clic sulla cartella Applicazioni e quindi fare doppio clic sulla cartella Utilità.
Fare doppio clic sull'applicazione Terminale.
Quando il terminale apre il tipo
osascript -e 'id of app "<appname>"'
al prompt. Di seguito sono riportati alcuni esempi:% osascript -e 'id of app "Safari"' com.apple.Safari % osascript -e 'id of app "OneDrive"' com.microsoft.OneDrive % osascript -e 'id of app "Microsoft Edge"' com.microsoft.edgemac
Ora che sono stati raccolti gli ID bundle, seguire le linee guida per configurare i flag di funzionalità per assicurarsi che le app SSO non MSAL Native/Browser possano usare l'estensione SSO. Nota: tutti gli ID bundle fanno distinzione tra maiuscole e minuscole per la configurazione del flag di funzionalità.
Attenzione
Le applicazioni che non usano tecnologie di rete Apple (ad esempio WKWebview e NSURLSession) non potranno usare le credenziali condivise dall'estensione SSO. Sia Google Chrome che Mozilla Firefox rientrano in questa categoria. Anche se sono configurati nel profilo di configurazione MDM, il risultato sarà un normale prompt di autenticazione nel browser.
Bootstrap
Per impostazione predefinita, solo le app MSAL richiamano l'estensione SSO e a sua volta l'estensione acquisisce una credenziale condivisa (PRT) da Microsoft Entra ID. Tuttavia, l'applicazione browser Safari o altre applicazioni non MSAL possono essere configurate per acquisire il token di aggiornamento primario. Vedere Consentire agli utenti di accedere dalle applicazioni che non usano MSAL e il browser Safari. Dopo che l'estensione SSO acquisisce una richiesta pull, archivierà le credenziali nell'account di accesso dell'utente Keychain. Verificare quindi che il token di aggiornamento primario sia presente nel keychain dell'utente:
Controllo dell'accesso keychain per PRT
Dal dispositivo macOS fare doppio clic sulla cartella Applicazioni e quindi fare doppio clic sulla cartella Utilità.
Fare doppio clic sull'applicazione Keychain Access.
In Portachiavi predefiniti selezionare elementi locali (o iCloud).
- Verificare che l'opzione Tutti gli elementi sia selezionata.
- Nella barra di ricerca, sul lato destro, digitare
primaryrefresh
(Per filtrare).
Screenshot del callout Componente delle credenziali keychain Descrizione 1 Tutti gli elementi Mostra tutti i tipi di credenziali nell'accesso Keychain 2 Barra di ricerca keychain Consente di filtrare in base alle credenziali. Per filtrare il tipo PRT di Microsoft Entra primaryrefresh
3 Tipologia Fa riferimento al tipo di credenziale. Le credenziali PRT di Microsoft Entra sono un tipo di credenziale della password dell'applicazione 4 Conto Visualizza l'account utente di Microsoft Entra, proprietario del token di aggiornamento primario nel formato: UserObjectId.TenantId-login.windows.net
5 Where Visualizza il nome completo delle credenziali. Le credenziali di Microsoft Entra PRT iniziano con il formato seguente: primaryrefreshtoken-29d9ed98-a469-4536-ade2-f981bc1d605
Il 29d9ed98-a469-4536-ade2-f981bc1d605 è l'ID applicazione per il servizio Microsoft Authentication Broker, responsabile della gestione delle richieste di acquisizione PRT6 Ultima modifica Visualizza l'ultimo aggiornamento delle credenziali. Per le credenziali di Microsoft Entra PRT, ogni volta che le credenziali vengono riavviate o aggiornate da un evento di accesso interattivo, aggiorna la data/ora 7 Keychain Indica il portachiavi in cui risiede la credenziale selezionata. Le credenziali di Microsoft Entra PRT si trovano negli elementi locali o nel Keychain iCloud . Quando iCloud è abilitato nel dispositivo macOS, il keychain elementi locali diventerà il portachiavi iCloud Se il token di aggiornamento primario non viene trovato in Accesso portachiavi, eseguire le operazioni seguenti in base al tipo di applicazione:
- MSAL nativo: verificare che lo sviluppatore dell'applicazione, se l'app è stata compilata con MSAL versione 1.1 o successiva, abbia abilitato l'applicazione a essere a conoscenza del broker. Vedere anche procedura di risoluzione dei problemi di distribuzione per escludere eventuali problemi di distribuzione.
- Non MSAL (Safari): verificare che il flag
browser_sso_interaction_enabled
di funzionalità sia impostato su 1 e non 0 nel profilo di configurazione MDM
Flusso di autenticazione dopo il bootstrap di una richiesta pull
Ora che la richiesta pull (credenziale condivisa) è stata verificata, prima di eseguire una risoluzione dei problemi più approfondita, è utile comprendere i passaggi generali per ogni tipo di applicazione e come interagisce con il plug-in Microsoft Enterprise SSO Extension (app broker). Le animazioni e le descrizioni seguenti dovrebbero aiutare gli amministratori macOS a comprendere lo scenario prima di esaminare i dati di registrazione.
Applicazione MSAL nativa
Scenario: un'applicazione sviluppata per l'uso di MSAL (esempio: client Microsoft To Do) in esecuzione in un dispositivo Apple deve consentire all'utente di accedere al proprio account Microsoft Entra per accedere a un servizio protetto Microsoft Entra (esempio: Microsoft To Do Service).
- Le applicazioni sviluppate da MSAL richiamano direttamente l'estensione SSO e inviano la richiesta pull all'endpoint del token Microsoft Entra insieme alla richiesta dell'applicazione di un token per una risorsa protetta di Microsoft Entra
- Microsoft Entra ID convalida le credenziali PRT e restituisce un token specifico dell'applicazione al broker di estensione SSO
- Il gestore di estensioni SSO passa quindi il token all'applicazione client MSAL, che quindi lo invia alla risorsa protetta di Microsoft Entra
- L'utente è ora connesso all'app e il processo di autenticazione è stato completato
Non-MSAL/Browser SSO
Scenario: un utente in un dispositivo Apple apre il Web browser Safari (o qualsiasi app nativa non MSAL che supporta Apple Networking Stack) per accedere a una risorsa protetta di Microsoft Entra (esempio: https://office.com
).
- Usando un'applicazione non MSAL (ad esempio: Safari), l'utente tenta di accedere a un'applicazione integrata Microsoft Entra (esempio: office.com) e viene reindirizzato per ottenere un token da Microsoft Entra ID
- Se l'applicazione non MSAL è consentita nella configurazione del payload MDM, lo stack di rete Apple intercetta la richiesta di autenticazione e reindirizza la richiesta al broker dell'estensione SSO
- Dopo che l'estensione SSO riceve la richiesta intercettata, il token PRT viene inviato all'endpoint del token Microsoft Entra
- Microsoft Entra ID convalida la richiesta pull e restituisce un token specifico dell'applicazione all'estensione SSO
- Il token specifico dell'applicazione viene assegnato all'applicazione client non MSAL e l'applicazione client invia il token per accedere al servizio protetto Microsoft Entra
- L'utente ha completato l'accesso e il processo di autenticazione è stato completato
Recupero dei log dell'estensione SSO
Uno degli strumenti più utili per risolvere vari problemi con l'estensione SSO sono i log client dal dispositivo Apple.
Salvare i log dell'estensione SSO dall'app Portale aziendale
Dal dispositivo macOS fare doppio clic sulla cartella Applicazioni.
Fare doppio clic sull'applicazione Portale aziendale.
Quando il portale aziendale viene caricato, passare alla barra dei menu in alto: Guida->Salva report di diagnostica. Non è necessario accedere all'app.
Salvare l'archivio log del portale aziendale in un luogo preferito, ad esempio Desktop.
Aprire l'archivio CompanyPortal.zip e aprire il file SSOExtension.log con qualsiasi editor di testo.
Suggerimento
Un modo pratico per visualizzare i log consiste nell'usare Visual Studio Code e installare l'estensioneVisualizzatore Log.
Registrazione dei log dell'estensione SSO su macOS con terminale
Durante la risoluzione dei problemi può essere utile riprodurre un problema durante la coda dei log SSOExtension in tempo reale:
Dal dispositivo macOS fare doppio clic sulla cartella Applicazioni e quindi fare doppio clic sulla cartella Utilità.
Fare doppio clic sull'applicazione Terminale.
Quando si apre il terminale, digitare:
tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/*
Nota
L'elemento finale /* indica che la coda di più log dovrebbe esistere
% tail -F ~/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/* ==> /Users/<username>/Library/Containers/com.microsoft.CompanyPortalMac.ssoextension/Data/Library/Caches/Logs/Microsoft/SSOExtension/SSOExtension 2022-12-25--13-11-52-855.log <== 2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Handling SSO request, requested operation: 2022-12-29 14:49:59:281 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Ignoring this SSO request... 2022-12-29 14:49:59:282 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Finished SSO request. 2022-12-29 14:49:59:599 | I | Beginning authorization request 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_interaction_enabled, value in config 1, value type __NSCFNumber 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Feature flag browser_sso_interaction_enabled is enabled 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag browser_sso_disable_mfa, value in config (null), value type (null) 2022-12-29 14:49:59:599 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag disable_browser_sso_intercept_all, value in config (null), value type (null) 2022-12-29 14:49:59:600 | I | Request does not need UI 2022-12-29 14:49:59:600 | I | TID=783491 MSAL 1.2.4 Mac 13.0.1 [2022-12-29 19:49:59] Checking for feature flag admin_debug_mode_enabled, value in config (null), value type (null)
Quando si riproduce il problema, mantenere aperta la finestra del terminale per osservare l'output dei log SSOExtension della parte finale.
Esportazione dei log dell'estensione SSO in iOS
Non è possibile visualizzare i log dell'estensione SSO iOS in tempo reale, perché si trova in macOS. I log dell'estensione SSO di iOS possono essere esportati dall'app Microsoft Authenticator e quindi esaminati da un altro dispositivo:
Aprire l'app Microsoft Authenticator:
Premere il pulsante di menu in alto a sinistra:
Scegliere l'opzione "Invia commenti e suggerimenti":
Scegliere l'opzione "Problemi":
Premere l'opzione Visualizza dati di diagnostica:
Suggerimento
Se si usa il supporto tecnico Microsoft, in questa fase è possibile premere il pulsante Invia per inviare i log al supporto. In questo modo verrà fornito un ID evento imprevisto, che è possibile fornire al contatto del supporto tecnico Microsoft.
Premere il pulsante "Copia tutto" per copiare i log negli Appunti del dispositivo iOS. È quindi possibile salvare i file di log altrove per esaminarli o inviarli tramite posta elettronica o altri metodi di condivisione file:
Informazioni sui log dell'estensione SSO
L'analisi dei log dell'estensione SSO è un ottimo modo per risolvere i problemi del flusso di autenticazione dalle applicazioni che inviano richieste di autenticazione a Microsoft Entra ID. Ogni volta che viene richiamato Gestore estensioni SSO, una serie di risultati delle attività di registrazione e queste attività sono note come richieste di autorizzazione. I log contengono le informazioni utili seguenti per la risoluzione dei problemi:
- Configurazione del flag di funzionalità
- Tipi di richiesta di autorizzazione
- MSAL nativo
- Non MSAL/Browser SSO
- Interazione con il keychain macOS per le operazioni di ripetizione/archiviazione delle credenziali
- ID di correlazione per gli eventi di accesso di Microsoft Entra
- Acquisizione PRT
- Registrazione del dispositivo
Attenzione
I log dell'estensione SSO sono estremamente dettagliati, soprattutto quando si esaminano le operazioni delle credenziali keychain. Per questo motivo, è sempre consigliabile comprendere lo scenario prima di esaminare i log durante la risoluzione dei problemi.
Struttura di log
I log dell'estensione SSO vengono suddivisi in colonne. Lo screenshot seguente mostra la suddivisione delle colonne dei log:
Colonna | Nome colonna | Descrizione |
---|---|---|
1 | Data/ora locale | Data e ora locali visualizzate |
2 | I-Informazioni W-Avviso E-Errore |
Visualizza informazioni, avvisi o errori |
3 | ID thread (TID) | Visualizza l'ID thread dell'esecuzione dell'app Broker dell'estensione SSO |
4 | Numero di versione MSAL | Il plug-in Broker dell'estensione Microsoft Enterprise SSO viene compilato come app MSAL. Questa colonna indica la versione di MSAL in cui è in esecuzione l'app broker |
5 | Versione di macOS | Visualizzare la versione del sistema operativo macOS |
6 | Data e ora UTC | Data e ora UTC visualizzate |
7 | ID di correlazione | Le righe nei log che hanno a che fare con le operazioni Microsoft Entra ID o Keychain estendono la colonna Data/ora UTC con un ID di correlazione |
8 | Messaggio | Mostra la messaggistica dettagliata dei log. La maggior parte delle informazioni sulla risoluzione dei problemi è disponibile esaminando questa colonna |
Configurazione del flag di funzionalità
Durante la configurazione MDM dell'estensione Microsoft Enterprise SSO, è possibile inviare dati specifici di estensione facoltativi come istruzioni per modificare il comportamento dell'estensione SSO. Queste istruzioni specifiche di configurazione sono note come flag di funzionalità. La configurazione del flag di funzionalità è particolarmente importante per i tipi di richieste di autorizzazione SSO non MSAL/Browser, perché l'ID bundle può determinare se l'estensione viene richiamata o meno. Vedere la documentazione relativa al flag di funzionalità. Ogni richiesta di autorizzazione inizia con un report di configurazione del flag di funzionalità. Lo screenshot seguente illustra una configurazione del flag di funzionalità di esempio:
Callout | Flag di funzionalità | Descrizione |
---|---|---|
1 | browser_sso_interaction_enabled | Il browser Non MSAL o Safari può eseguire il bootstrap di una PRT |
2 | browser_sso_disable_mfa | (Ora deprecato) Durante il bootstrap delle credenziali PRT, per impostazione predefinita è necessaria l'autenticazione a più fattori. Si noti che questa configurazione è impostata su Null, il che significa che la configurazione predefinita viene applicata |
3 | disable_explicit_app_prompt | Sostituisce le richieste di autenticazione prompt=login dalle applicazioni per ridurre le richieste di richiesta |
4 | AppPrefixAllowList | Qualsiasi applicazione non MSAL con ID bundle che inizia con com.micorosoft. può essere intercettata e gestita dal broker di estensione SSO |
Importante
I flag di funzionalità impostati su Null indicano che la configurazione predefinita è attiva. Per altri dettagli, vedere la documentazione relativa al flag di funzionalità
Flusso di accesso dell'applicazione nativa MSAL
La sezione seguente illustra come esaminare i log dell'estensione SSO per il flusso di autenticazione dell'applicazione MSAL nativa. Per questo esempio viene usata l'applicazione di esempio MSAL macOS/iOS come applicazione client e l'applicazione effettua una chiamata all'API Microsoft Graph per visualizzare le informazioni dell'utente di accesso.
MSAL nativo: procedura dettagliata per il flusso interattivo
Per un accesso interattivo riuscito, è necessario eseguire le azioni seguenti:
- L'utente accede all'app di esempio MSAL macOS.
- Microsoft SSO Extension Broker viene richiamato e gestisce la richiesta.
- Microsoft SSO Extension Broker viene sottoposto al processo di bootstrap per acquisire una richiesta pull per l'utente connesso.
- Archiviare il token di aggiornamento primario in Keychain.
- Verificare la presenza di un oggetto Registrazione dispositivi in Microsoft Entra ID (WPJ).
- Restituire un token di accesso all'applicazione client per accedere a Microsoft Graph con ambito User.Read.
Importante
I frammenti di log di esempio che seguono sono stati annotati con intestazioni di commento // che non sono visibili nei log. Essi vengono utilizzati per illustrare un'azione specifica intrapresa. Sono stati documentati i frammenti di log in questo modo per facilitare le operazioni di copia e incolla. Inoltre, gli esempi di log sono stati tagliati in modo da mostrare solo le righe di significatività per la risoluzione dei problemi.
L'utente fa clic sul pulsante chiama l'API Microsoft Graph per richiamare il processo di accesso.
//////////////////////////
//get_accounts_operation//
//////////////////////////
Handling SSO request, requested operation: get_accounts_operation
(Default accessor) Get accounts.
(MSIDAccountCredentialCache) retrieving cached credentials using credential query
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 00001111-aaaa-2222-bbbb-3333cccc4444, scopes (null)
(Default accessor) No accounts found in default accessor.
(Default accessor) No accounts found in other accessors.
Completed get accounts SSO request with a personal device mode.
Request complete
Request needs UI
ADB 3.1.40 -[ADBrokerAccountManager allBrokerAccounts:]
ADB 3.1.40 -[ADBrokerAccountManager allMSIDBrokerAccounts:]
(Default accessor) Get accounts.
No existing accounts found, showing webview
/////////
//login//
/////////
Handling SSO request, requested operation: login
Handling interactive SSO request...
Starting SSO broker request with payload: {
authority = "https://login.microsoftonline.com/common";
"client_app_name" = MSALMacOS;
"client_app_version" = "1.0";
"client_id" = "00001111-aaaa-2222-bbbb-3333cccc4444";
"client_version" = "1.1.7";
"correlation_id" = "aaaa0000-bb11-2222-33cc-444444dddddd";
"extra_oidc_scopes" = "openid profile offline_access";
"instance_aware" = 0;
"msg_protocol_ver" = 4;
prompt = "select_account";
"provider_type" = "provider_aad_v2";
"redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
scope = "user.read";
}
////////////////////////////////////////////////////////////
//Request PRT from Microsoft Authentication Broker Service//
////////////////////////////////////////////////////////////
Using request handler <ADInteractiveDevicelessPRTBrokerRequestHandler: 0x117ea50b0>
(Default accessor) Looking for token with aliases (null), tenant (null), clientId 11112222-bbbb-3333-cccc-4444dddd5555, scopes (null)
Attempting to get Deviceless Primary Refresh Token interactively.
Caching AAD Environements
networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
Resolved authority, validated: YES, error: 0
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Start webview authorization session with webview controller class MSIDAADOAuthEmbeddedWebviewController:
[MSAL] Presenting web view controller.
L'esempio di registrazione può essere suddiviso in tre segmenti:
Segmento | Descrizione |
---|---|
get_accounts_operation |
Verifica se nella cache sono presenti account esistenti - ClientID: ID applicazione registrato in Microsoft Entra ID per questa app MSAL ADB 3.1.40 indica la versione del plug-in Microsoft Enterprise SSO Extension Broker |
login |
Broker gestisce la richiesta per Microsoft Entra ID: - Gestione della richiesta SSO interattiva...: indica una richiesta interattiva - correlation_id: utile per fare riferimento incrociato con i log di accesso lato server Microsoft Entra - ambito: ambito dell'autorizzazione API User.Read richiesto da Microsoft Graph - client_version: versione di MSAL in cui è in esecuzione l'applicazione - redirect_uri: le app MSAL usano il formato msauth.com.<Bundle ID>://auth |
Richiesta PRT | Il processo di bootstrap per acquisire un token di aggiornamento primario in modo interattivo è stato avviato ed esegue il rendering della sessione SSO di Webview Servizio Microsoft Authentication Broker - clientId: 29d9ed98-a469-4536-ade2-f981bc1d605e - Tutte le richieste PRT vengono effettuate al servizio Microsoft Authentication Broker |
Viene visualizzato il controller Webview SSO e all'utente viene richiesto di immettere l'account di accesso di Microsoft Entra (UPN/email)
Nota
Facendo clic su i nell'angolo inferiore sinistro del controller webview vengono visualizzate altre informazioni sull'estensione SSO e sulle specifiche sull'app che l'ha richiamata.
Dopo che l'utente ha immesso correttamente le credenziali di Microsoft Entra, le voci di log seguenti vengono scritte nei log dell'estensione SSO
SSOExtensionLogs
///////////////
//Acquire PRT//
///////////////
[MSAL] -completeWebAuthWithURL: msauth://microsoft.aad.brokerplugin/?code=(not-null)&client_info=(not-null)&state=(not-null)&session_state=(not-null)
[MSAL] Dismissed web view controller.
[MSAL] Result from authorization session callbackURL host: microsoft.aad.brokerplugin , has error: NO
[MSAL] (Default accessor) Looking for token with aliases (
"login.windows.net",
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
), tenant (null), clientId 29d9ed98-a469-4536-ade2-f981bc1d605e, scopes (null)
Saving PRT response in cache since no other PRT was found
[MSAL] Saving keychain item, item info Masked(not-null)
[MSAL] Keychain find status: 0
Acquired PRT.
///////////////////////////////////////////////////////////////////////
//Discover if there is an Azure AD Device Registration (WPJ) present //
//and if so re-acquire a PRT and associate with Device ID //
///////////////////////////////////////////////////////////////////////
WPJ Discovery: do discovery in environment 0
Attempt WPJ discovery using tenantId.
WPJ discovery succeeded.
Using cloud authority from WPJ discovery: https://login.microsoftonline.com/common
ADBrokerDiscoveryAction completed. Continuing Broker Flow.
PRT needs upgrade as device registration state has changed. Device is joined 1, prt is joined 0
Beginning ADBrokerAcquirePRTInteractivelyAction
Attempting to get Primary Refresh Token interactively.
Acquiring broker tokens for broker client id.
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Enrollment id read from intune cache : (null).
Handle silent PRT response Masked(not-null), error Masked(null)
Acquired broker tokens.
Acquiring PRT.
Acquiring PRT using broker refresh token.
Requesting PRT from authority https://login.microsoftonline.com/<TenantID>/oauth2/v2.0/token
[MSAL] (Default accessor) Looking for token with aliases (
"login.windows.net",
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
), tenant (null), clientId (null), scopes (null)
[MSAL] Acquired PRT successfully!
Acquired PRT.
ADBrokerAcquirePRTInteractivelyAction completed. Continuing Broker Flow.
Beginning ADBrokerAcquireTokenWithPRTAction
Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
Resolved authority, validated: YES, error: 0
Handle silent PRT response Masked(not-null), error Masked(null)
//////////////////////////////////////////////////////////////////////////
//Provide Access Token received from Azure AD back to Client Application//
//and complete authorization request //
//////////////////////////////////////////////////////////////////////////
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm TenantID, clientID 00001111-aaaa-2222-bbbb-3333cccc4444, unique user ID dbb22b2f, target User.Read profile openid email
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
payload: Masked(not-null)
Completed interactive SSO request.
Completed interactive SSO request.
Request complete
Completing SSO request...
Finished SSO request.
A questo punto nel flusso di autenticazione/autorizzazione, il token di aggiornamento primario è stato avviato e dovrebbe essere visibile nell'accesso keychain macOS. Vedere Controllo dell'accesso keychain per PRT. L'applicazione di esempio MSAL macOS usa il token di accesso ricevuto da Microsoft SSO Extension Broker per visualizzare le informazioni dell'utente.
Esaminare quindi i log di accesso di Microsoft Entra lato server in base all'ID di correlazione raccolto dai log dell'estensione SSO sul lato client. Per ulteriori informazioni, consultare Log di accesso in Microsoft Entra ID.
Visualizzare i log di accesso di Microsoft Entra in base al filtro ID correlazione
- Aprire gli accessi a Microsoft Entra per il tenant in cui è registrata l'applicazione.
- Selezionare accessi utente (interattivo).
- Selezionare il pulsante di opzione Aggiungi filtri e selezionare il pulsante di opzione Id correlazione.
- Copiare e incollare l'ID di correlazione ottenuto dai log dell'estensione SSO e selezionare Applica.
Per il flusso di accesso interattivo MSAL, si prevede di visualizzare un accesso interattivo per la risorsa servizio Microsoft Authentication Broker. Questo evento è il percorso in cui l'utente ha immesso la password per avviare il token di aggiornamento primario.
Esistono anche eventi di accesso non interattivi, a causa del fatto che il token di aggiornamento primario viene usato per acquisire il token di accesso per la richiesta dell'applicazione client. Seguire il Visualizza i log di accesso di Microsoft Entra in base al filtro ID di correlazione ma nel passaggio 2 selezionare accessi utente (non interattivo).
Attributo del log di accesso | Descrizione |
---|---|
Applicazione | Nome visualizzato della registrazione dell'applicazione nel tenant di Microsoft Entra in cui l'applicazione client esegue l'autenticazione. |
Id applicazione | Si fa riferimento anche all'ID client della registrazione dell'applicazione nel tenant di Microsoft Entra. |
Conto risorse | Risorsa API a cui l'applicazione client sta tentando di ottenere l'accesso. In questo esempio la risorsa è l'API Microsoft Graph. |
Tipo di token in ingresso | Un tipo di token in ingresso del token di aggiornamento primario (PRT) mostra il token di input usato per ottenere un token di accesso per la risorsa. |
Agente utente | La stringa dell'agente utente in questo esempio mostra che l'estensione Microsoft SSO è l'applicazione che elabora questa richiesta. Un indicatore utile che indica che è in uso l'estensione SSO e che è in corso una richiesta di autenticazione del broker. |
Libreria di autenticazione dell'app Microsoft Entra | Quando si usa un'applicazione MSAL, i dettagli della libreria e la piattaforma vengono scritti qui. |
Informazioni sull'ambito Oauth | Informazioni sull'ambito Oauth2 richieste per il token di accesso. (User.Read,profilo,openid,posta elettronica). |
Procedura dettagliata per MSAL Native: Flusso invisibile all'utente
Dopo un periodo di tempo, il token di accesso non sarà più valido. Quindi, se l'utente fa clic sul pulsante Chiama l'API Microsoft Graph. L'estensione SSO tenta di aggiornare il token di accesso con il token di accesso già acquisito.
SSOExtensionLogs
/////////////////////////////////////////////////////////////////////////
//refresh operation: Assemble Request based on User information in PRT /
/////////////////////////////////////////////////////////////////////////
Beginning authorization request
Request does not need UI
Handling SSO request, requested operation: refresh
Handling silent SSO request...
Looking account up by home account ID dbb22b2f, displayable ID auth.placeholder-61945244__domainname.com
Account identifier used for request: Masked(not-null), auth.placeholder-61945244__domainname.com
Starting SSO broker request with payload: {
authority = "https://login.microsoftonline.com/<TenantID>";
"client_app_name" = MSALMacOS;
"client_app_version" = "1.0";
"client_id" = "00001111-aaaa-2222-bbbb-3333cccc4444";
"client_version" = "1.1.7";
"correlation_id" = "aaaa0000-bb11-2222-33cc-444444dddddd";
"extra_oidc_scopes" = "openid profile offline_access";
"home_account_id" = "<UserObjectId>.<TenantID>";
"instance_aware" = 0;
"msg_protocol_ver" = 4;
"provider_type" = "provider_aad_v2";
"redirect_uri" = "msauth.com.microsoft.idnaace.MSALMacOS://auth";
scope = "user.read";
username = "auth.placeholder-61945244__domainname.com";
}
//////////////////////////////////////////
//Acquire Access Token with PRT silently//
//////////////////////////////////////////
Using request handler <ADSSOSilentBrokerRequestHandler: 0x127226a10>
Executing new request
Beginning ADBrokerAcquireTokenSilentAction
Beginning silent flow.
[MSAL] Resolving authority: Masked(not-null), upn: auth.placeholder-61945244__domainname.com
[MSAL] (Default cache) Removing credentials with type AccessToken, environment login.windows.net, realm <TenantID>, clientID 00001111-aaaa-2222-bbbb-3333cccc4444, unique user ID dbb22b2f, target User.Read profile openid email
[MSAL] (MSIDAccountCredentialCache) retrieving cached credentials using credential query
[MSAL] Silent controller with PRT finished with error Masked(null)
ADBrokerAcquireTokenWithPRTAction succeeded.
Composing broker response.
Sending broker response.
Returning to app (msauth.com.microsoft.idnaace.MSALMacOS://auth) - protocol version: 3
hash: AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
payload: Masked(not-null)
Completed silent SSO request.
Request complete
Completing SSO request...
Finished SSO request.
L'esempio di registrazione può essere suddiviso in due segmenti:
Segmento | Descrizione |
---|---|
refresh |
Broker gestisce la richiesta per Microsoft Entra ID: - Gestione della richiesta SSO invisibile all'utente...: indica una richiesta invisibile all'utente - correlation_id: utile per fare riferimento incrociato con i log di accesso lato server Microsoft Entra - ambito: ambito dell'autorizzazione API User.Read richiesto da Microsoft Graph - client_version: versione di MSAL in cui è in esecuzione l'applicazione - redirect_uri: le app MSAL usano il formato msauth.com.<Bundle ID>://auth L'aggiornamento presenta differenze significative per il payload della richiesta: - autorità: contiene l'endpoint dell'URL del tenant di Microsoft Entra anziché l'endpoint comune - home_account_id: mostra l'account utente nel formato <UserObjectId>.<TenantID> - username: formato UPN con hash auth.placeholder-XXXXXXXX__domainname.com |
Aggiornamento PRT e acquisizione del token di accesso | Questa operazione riconvalida la richiesta pull e la aggiorna, se necessario, prima di restituire il token di accesso all'applicazione client chiamante. |
È anche possibile accettare l'ID di correlazione ottenuto dai log dell'estensione SSO sul lato client e fare riferimento incrociato con i log di accesso di Microsoft Entra sul lato server.
L'accesso a Microsoft Entra mostra informazioni identiche alla risorsa Microsoft Graph dell'operazione di accesso nella sezione precedente di accesso interattivo.
Flusso di accesso dell'applicazione SSO non MSAL/Browser
La sezione seguente illustra come esaminare i log dell'estensione SSO per il flusso di autenticazione dell'applicazione non MSAL/Browser. Per questo esempio si usa il browser Apple Safari come applicazione client e l'applicazione effettua una chiamata all'applicazione Web Office.com (OfficeHome).
Procedura dettagliata per il flusso SSO non MSAL/Browser
Per un accesso riuscito, è necessario eseguire le azioni seguenti:
- Si supponga che l'utente che ha già subito il processo di bootstrap abbia un token di aggiornamento primario esistente.
- In un dispositivo, con Microsoft SSO Extension Broker distribuito, i flag di funzionalità configurati vengono controllati per assicurarsi che l'applicazione possa essere gestita dall'estensione SSO.
- Poiché il browser Safari rispetta Apple Networking Stack, l'estensione SSO tenta di intercettare la richiesta di autenticazione di Microsoft Entra.
- Il token pull viene usato per acquisire un token per la risorsa richiesta.
- Se il dispositivo è registrato da Microsoft Entra, passa l'ID dispositivo insieme alla richiesta.
- L'estensione SSO popola l'intestazione della richiesta browser per accedere alla risorsa.
I log dell'estensione SSO sul lato client seguenti mostrano la richiesta gestita in modo trasparente dal gestore di estensioni SSO per soddisfare la richiesta.
SSOExtensionLogs
Created Browser SSO request for bundle identifier com.apple.Safari, cookie SSO include-list (
), use cookie sso for this app 0, initiating origin https://www.office.com
Init MSIDKeychainTokenCache with keychainGroup: Masked(not-null)
[Browser SSO] Starting Browser SSO request for authority https://login.microsoftonline.com/common
[MSAL] (Default accessor) Found 1 tokens
[Browser SSO] Checking PRTs for deviceId 73796663
[MSAL] [Browser SSO] Executing without UI for authority https://login.microsoftonline.com/common, number of PRTs 1, device registered 1
[MSAL] [Browser SSO] Processing request with PRTs and correlation ID in headers (null), query aaaa0000-bb11-2222-33cc-444444dddddd
[MSAL] Resolving authority: Masked(not-null), upn: Masked(null)
[MSAL] No cached preferred_network for authority
[MSAL] Caching AAD Environements
[MSAL] networkHost: login.microsoftonline.com, cacheHost: login.windows.net, aliases: login.microsoftonline.com, login.windows.net, login.microsoft.com, sts.windows.net
[MSAL] networkHost: login.partner.microsoftonline.cn, cacheHost: login.partner.microsoftonline.cn, aliases: login.partner.microsoftonline.cn, login.chinacloudapi.cn
[MSAL] networkHost: login.microsoftonline.de, cacheHost: login.microsoftonline.de, aliases: login.microsoftonline.de
[MSAL] networkHost: login.microsoftonline.us, cacheHost: login.microsoftonline.us, aliases: login.microsoftonline.us, login.usgovcloudapi.net
[MSAL] networkHost: login-us.microsoftonline.com, cacheHost: login-us.microsoftonline.com, aliases: login-us.microsoftonline.com
[MSAL] Resolved authority, validated: YES, error: 0
[MSAL] Found registration registered in login.microsoftonline.com, isSameAsRequestEnvironment: Yes
[MSAL] Passing device header in browser SSO for device id 43cfaf69-0f94-4d2e-a815-c103226c4c04
[MSAL] Adding SSO-cookie header with PRT Masked(not-null)
SSO extension cleared cookies before handling request 1
[Browser SSO] SSO response is successful 0
[MSAL] Keychain find status: 0
[MSAL] (Default accessor) Found 1 tokens
Request does not need UI
[MSAL] [Browser SSO] Checking PRTs for deviceId 73796663
Request complete
Componente del log dell'estensione SSO | Descrizione |
---|---|
Richiesta di accesso Single Sign-On di Browser creata | Tutte le richieste SSO non MSAL/Browser iniziano con questa riga: - identificatore bundle: ID bundle: com.apple.Safari - avvio dell'origine: URL Web a cui il browser accede prima di raggiungere uno degli URL di accesso per Microsoft Entra ID (https://office.com) |
Avvio della richiesta SSO di Browser per l'autorità | Risolve il numero di richieste pull e se il dispositivo è registrato: https://login.microsoftonline.com/common, numero di PRT 1, dispositivo registrato 1 |
ID di correlazione | [Browser SSO] Elaborazione della richiesta con richieste pull e ID di correlazione nelle intestazioni (null), query <CorrelationID>. Questo ID è importante per fare riferimento incrociato con i log di accesso lato server Microsoft Entra |
registrazione del dispositivo | Facoltativamente, se il dispositivo è registrato da Microsoft Entra, l'estensione SSO può passare l'intestazione del dispositivo nelle richieste SSO del browser: - È stata trovata la registrazione registrata in - login.microsoftonline.com, isSameAsRequestEnvironment: Sì Passaggio dell'intestazione del dispositivo nell'accesso SSO del browser per l'ID dispositivo 43cfaf69-0f94-4d2e-a815-c103226c4c04 |
Usare quindi l'ID di correlazione ottenuto dai log dell'estensione SSO del browser per fare riferimento incrociato ai log di accesso di Microsoft Entra.
Attributo del log di accesso | Descrizione |
---|---|
Applicazione | Nome visualizzato della registrazione dell'applicazione nel tenant di Microsoft Entra in cui l'applicazione client esegue l'autenticazione. In questo esempio il nome visualizzato è OfficeHome. |
Id applicazione | Si fa riferimento anche all'ID client della registrazione dell'applicazione nel tenant di Microsoft Entra. |
Conto risorse | Risorsa API a cui l'applicazione client sta tentando di ottenere l'accesso. In questo esempio la risorsa è l'applicazione Web OfficeHome. |
Tipo di token in ingresso | Un tipo di token in ingresso del token di aggiornamento primario (PRT) mostra il token di input usato per ottenere un token di accesso per la risorsa. |
Rilevato metodo di autenticazione | Nella scheda Dettagli autenticazione il valore di plug-in Microsoft Entra SSO indica che l'estensione SSO viene usata per facilitare la richiesta SSO del browser |
Versione dell'estensione Microsoft Entra SSO | Nella scheda Dettagli aggiuntivi questo valore mostra la versione dell'app Microsoft Enterprise SSO Extension Broker. |
ID dispositivo | Se il dispositivo è registrato, l'estensione SSO può passare l'ID dispositivo per gestire le richieste di autenticazione del dispositivo. |
Sistema operativo | Mostra il tipo di sistema operativo. |
Conforme | L'estensione SSO può facilitare i criteri di conformità passando l'intestazione del dispositivo. I requisiti sono: - Registrazione del dispositivo Microsoft Entra - Gestione MDM - Conformità partner di Intune o Intune |
Gestito | Indica che il dispositivo è in fase di gestione. |
Tipo di aggiunta | macOS e iOS, se registrati, possono essere di tipo solo: Microsoft Entra registrato. |
Suggerimento
Se si usa Jamf Connect, è consigliabile seguire le indicazioni più recenti di Jamf sull'integrazione di Jamf Connect con Microsoft Entra ID. Il modello di integrazione consigliato garantisce che Jamf Connect funzioni correttamente con i criteri di accesso condizionale e Microsoft Entra ID Protection.