Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Riassunto
Questo articolo illustra come risolvere i problemi relativi al codice AADSTS50020 di errore restituito se un utente guest di un provider di identità (IdP) non riesce ad accedere a un tenant di risorse in Microsoft Entra ID.
Sintomi
Quando un utente guest tenta di accedere a un'applicazione o a una risorsa nel tenant della risorsa, l'accesso ha esito negativo e viene visualizzato il messaggio di errore seguente:
AADSTS50020: L'account utente 'user@domain.com' fornito dal provider di identità {IdentityProviderURL} non esiste nel tenant {ResourceTenantName}.
Quando un amministratore esamina i log di accesso nel tenant principale, una voce di codice di errore "90072" indica un errore di accesso. Il messaggio di errore indica:
L'account utente {email} dal provider di identità {idp} non esiste nel tenant {tenant} e non può accedere all'applicazione {appId}({appName}) in tale tenant. L'account deve prima essere aggiunto come utente esterno nel tenant. Effettua il logout e accedi nuovamente con un altro account utente Microsoft Entra.
Causa 1:Gli utenti accedono all'interfaccia di amministrazione di Microsoft Entra usando account Microsoft personali
Quando si tenta di accedere all'interfaccia di amministrazione di Microsoft Entra usando gli account Microsoft personali (Outlook, Hotmail o OneDrive), si è connessi al tenant dei servizi Microsoft per impostazione predefinita. All'interno del tenant predefinito non esiste alcuna directory collegata per l'esecuzione di alcuna azione. Si tratta di un comportamento previsto.
Nell'esperienza precedente, viene creata una directory (ad esempio: UserNamehotmail735.onmicrosoft.com) e collegata all'account personale ed è possibile eseguire azioni come la creazione di account utente nella directory. Il comportamento è stato modificato.
Soluzione: Creare un account Azure con un nuovo tenant
Se si intende avere una directory, è necessario creare un account Azure e un nuovo tenant:
- Passare al sito Web dell'account Azure e quindi selezionare Prova azure gratuitamente.
- Seguire le istruzioni per creare un account Azure.
- Un tenant verrà generato insieme all'account Azure e verrà designato automaticamente come amministratore globale. In questo modo si concede l'accesso completo a tutte le opzioni all'interno del tenant.
Causa 2: Tipo di account non supportato (account multiutenza e personali)
Se la registrazione dell'app è impostata su un tipo di account a tenant singolo, gli utenti di altre directory o provider di identità non possono accedere a tale applicazione.
Soluzione: Modificare l'impostazione del gruppo di destinatari di accesso nel manifesto di registrazione dell'app
Per assicurarsi che la registrazione dell'app non sia un tipo di account a tenant singolo, seguire questa procedura:
Nel portale di Azure, cerca e seleziona Registrazioni app.
Selezionare il nome della registrazione dell'app.
Nella barra laterale selezionare Manifesto.
Nel codice JSON trovare l'impostazione signInAudience .
Controllare se l'impostazione contiene uno dei valori seguenti:
- AzureADandPersonalMicrosoftAccount
- AzureADMultipleOrgs
- Account personale Microsoft
Se l'impostazione signInAudience non contiene uno di questi valori, ricreare la registrazione dell'app selezionando il tipo di account corretto. Attualmente non è possibile modificare signInAudience nel manifesto.
Per altre informazioni su come registrare le applicazioni, vedere Guida introduttiva: Registrare un'applicazione con Microsoft Identity Platform.
Causa 3: Usato l'endpoint errato (account personali e dell'organizzazione)
La chiamata di autenticazione deve avere come destinazione un URL corrispondente alla selezione se il tipo di account supportato dalla registrazione dell'app è stato impostato su uno dei valori seguenti:
Account in qualsiasi directory organizzativa (qualsiasi directory di Microsoft Entra - Multitenant)
Account in qualsiasi directory organizzativa (qualsiasi directory di Microsoft Entra - multi-tenant) e account Microsoft personali (ad esempio Skype, Xbox)
Account Microsoft personali solo
Se si usa https://login.microsoftonline.com/<YourTenantNameOrID>, gli utenti di altre organizzazioni non possono accedere all'applicazione. È necessario aggiungere questi utenti come guest nel tenant specificato nella richiesta. In tal caso, l'autenticazione dovrebbe essere eseguita solo nel tenant. Questo scenario causa l'errore di accesso se ci si aspetta che gli utenti eseguano l'accesso utilizzando la federazione con un altro tenant o un altro provider di identità.
Soluzione: usare l'URL di accesso corretto
Usare l'URL di accesso corrispondente per il tipo di applicazione specifico, come indicato nella tabella seguente:
| Tipo di applicazione | URL di accesso |
|---|---|
| Applicazioni multi-tenant | https://login.microsoftonline.com/organizations |
| Account multi-tenant e personali | https://login.microsoftonline.com/common |
| Solo account personali | https://login.microsoftonline.com/consumers |
Nel codice dell'applicazione applicare questo valore URL nell'impostazione Authority . Per altre informazioni su Authority, vedere Opzioni di configurazione dell'applicazione Microsoft Identity Platform.
Causa 4: Accesso al tenant errato
Quando gli utenti tentano di accedere all'applicazione, vengono inviati un collegamento diretto all'applicazione oppure tentano di ottenere l'accesso tramite https://myapps.microsoft.com. In entrambi i casi, gli utenti vengono reindirizzati all'accesso all'applicazione. In alcuni casi, l'utente potrebbe avere già una sessione attiva che usa un account personale diverso da quello che deve essere usato. Oppure hanno una sessione che usa l'account dell'organizzazione anche se intende usare un account guest personale (o viceversa).
Per verificare che questo scenario sia il problema, cercare i valori all'interno di User account e Identity provider nel messaggio di errore. Questi valori corrispondono o meno alla combinazione prevista? Ad esempio, un utente ha eseguito l'accesso al tuo tenant utilizzando il proprio account dell'organizzazione anziché il tenant personale. Oppure un utente si è connesso al provider di identità live.com usando un account personale diverso da quello già invitato?
Soluzione: disconnettersi, quindi accedere di nuovo da un browser diverso o da una sessione del browser privato
Indicare all'utente di aprire una nuova sessione del browser privato o di tentare l'accesso da un browser diverso. In questo caso, gli utenti devono disconnettersi dalla sessione attiva e quindi riprovare ad accedere.
Causa 5: L'utente guest non è stato invitato
L'utente ospite che ha tentato di accedere non è stato invitato al tenant.
Soluzione: invitare l'utente ospite
Assicurarsi di seguire la procedura descritta in Avvio rapido: Aggiungere utenti guest alla directory nel portale di Azure per invitare l'utente guest.
Causa 6: L'app richiede l'assegnazione dell'utente
Se l'applicazione è un'applicazione aziendale che richiede l'assegnazione dell'utente, si verifica un errore AADSTS50020 se l'utente non è presente nell'elenco di utenti autorizzati a cui è assegnato l'accesso all'applicazione. Per verificare se l'applicazione aziendale richiede l'assegnazione utente:
Nel portale di Azure cercare e selezionare Applicazioni aziendali.
Selezionare l'applicazione aziendale.
Nella barra laterale selezionare Proprietà.
Controllare se l'opzione Assegnazione obbligatoria è impostata su Sì.
Soluzione: Assegnare l'accesso agli utenti singolarmente o come parte di un gruppo
Usare una delle opzioni seguenti per assegnare l'accesso agli utenti:
Per assegnare singolarmente l'accesso utente all'applicazione, vedere Assegnare un account utente a un'applicazione aziendale.
Per assegnare gli utenti se sono membri di un gruppo assegnato o di un gruppo dinamico, vedere Gestire l'accesso a un'applicazione.
Causa 7: Si è tentato di usare un flusso di credenziali password del proprietario della risorsa per gli account personali
Se un utente tenta di usare il flusso ROPC (Resource Owner Password Credentials) per gli account personali, si verifica un errore AADSTS50020 . Microsoft Identity Platform supporta ROPC solo nei tenant di Microsoft Entra, non negli account personali.
Soluzione: usare un endpoint specifico per il tenant o l'organizzazione
Usare un endpoint specifico del tenant (https://login.microsoftonline.com/<TenantIDOrName>) o l'endpoint dell'organizzazione. Gli account personali che sono invitati in un tenant di Microsoft Entra non possono usare ROPC. Per ulteriori informazioni, vedere Piattaforma Microsoft Identity e le credenziali del proprietario della risorsa della password OAuth 2.0.
Causa 8: Un nome utente precedentemente eliminato è stato ricreato dall'amministratore del tenant principale
L'errore AADSTS50020 può verificarsi se il nome di un utente guest eliminato in un tenant di risorse viene ricreato dall'amministratore del tenant principale. Per verificare che l'account utente ospite nel tenant della risorsa non sia associato a un account utente nel tenant principale, usare una delle opzioni seguenti:
Verifica: usare gli strumenti seguenti per verificare lo stato dell'utente guest in Microsoft Entra ID
Per verificare se l'utente guest del tenant della risorsa è più vecchio dell'account utente del tenant principale, si può usare Microsoft Graph, Microsoft Entra PowerShell o Microsoft Graph PowerShell SDK.
Microsoft Graph
Eseguire una richiesta all'API Microsoft Graph per esaminare la data di creazione dell'utente, come indicato di seguito:
GET https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}/createdDateTime
Quindi, controllare la data di creazione dell'utente ospite nel tenant della risorsa e confrontarla con la data di creazione dell'account utente nel tenant principale. Lo scenario viene confermato se l'utente guest è stato creato prima della creazione dell'account utente del tenant principale.
Microsoft Entra PowerShell
Eseguire il cmdlet Di PowerShell Get-EntraUser per esaminare la data di creazione dell'utente, come indicato di seguito:
Get-EntraUser -UserId {id | userPrincipalName} | Select-Object id, userPrincipalName, createdDateTime
Quindi, controllare la data di creazione dell'utente ospite nel tenant della risorsa e confrontarla con la data di creazione dell'account utente nel tenant principale. Lo scenario viene confermato se l'utente guest è stato creato prima della creazione dell'account utente del tenant principale.
SDK PowerShell di Microsoft Graph
Eseguire il cmdlet Di PowerShell Get-MgUser per esaminare la data di creazione dell'utente, come indicato di seguito:
$p = @('Id', 'UserPrincipalName', 'CreatedDateTime')
Get-MgUser -UserId {id | userPrincipalName} -Property $p| Select-Object $p
Quindi, controllare la data di creazione dell'utente ospite nel tenant della risorsa e confrontarla con la data di creazione dell'account utente nel tenant principale. Lo scenario viene confermato se l'utente guest è stato creato prima della creazione dell'account utente del tenant principale.
Soluzione: reimpostare lo stato di riscatto dell'account utente ospite
Reimpostare lo stato di riscatto dell'account utente guest nel tenant della risorsa. È quindi possibile mantenere l'oggetto utente guest senza dover eliminare e quindi ricreare l'account guest. È possibile reimpostare lo stato di riscatto usando il portale di Azure, Azure PowerShell o l'API Microsoft Graph. Per le istruzioni, vedere Reimpostare lo stato di riscatto per un utente ospite.