Azure Active Directory naadloze eenmalige aanmelding: technische grondige kennisAzure Active Directory Seamless Single Sign-On: Technical deep dive

In dit artikel vindt u technische details over de manier waarop de Azure Active Directory naadloze SSO-functie (single Sign-On) werkt.This article gives you technical details into how the Azure Active Directory Seamless Single Sign-On (Seamless SSO) feature works.

Hoe werkt naadloze SSO?How does Seamless SSO work?

Deze sectie heeft drie delen:This section has three parts to it:

  1. De installatie van de functie naadloze SSO.The setup of the Seamless SSO feature.
  2. Hoe een eenmalige gebruiker zich aanmeldt in een webbrowser, werkt met naadloze SSO.How a single user sign-in transaction on a web browser works with Seamless SSO.
  3. Hoe een eenmalige gebruiker zich aanmeldt op een systeem eigen client, werkt met naadloze SSO.How a single user sign-in transaction on a native client works with Seamless SSO.

Hoe werkt het instellen?How does set up work?

Naadloze SSO is ingeschakeld met Azure AD Connect, zoals hierwordt weer gegeven.Seamless SSO is enabled using Azure AD Connect as shown here. De volgende stappen worden uitgevoerd tijdens het inschakelen van de functie:While enabling the feature, the following steps occur:

  • Er wordt een computer account ( AZUREADSSOACC ) gemaakt in uw on-premises Active Directory (AD) in elk AD-forest dat u synchroniseert met Azure AD (met behulp van Azure AD Connect).A computer account (AZUREADSSOACC) is created in your on-premises Active Directory (AD) in each AD forest that you synchronize to Azure AD (using Azure AD Connect).
  • Daarnaast wordt er een aantal Spn's (Service Principal Names) voor Kerberos gemaakt dat wordt gebruikt tijdens het aanmelden bij Azure AD.In addition, a number of Kerberos service principal names (SPNs) are created to be used during the Azure AD sign-in process.
  • De Kerberos-ontsleutelings sleutel van de computer account wordt beveiligd gedeeld met Azure AD.The computer account's Kerberos decryption key is shared securely with Azure AD. Als er meerdere AD-forests zijn, heeft elk computer account een eigen unieke Kerberos-ontsleutelings sleutel.If there are multiple AD forests, each computer account will have its own unique Kerberos decryption key.

Belangrijk

Het AZUREADSSOACC computer account moet om veiligheids redenen sterk worden beveiligd.The AZUREADSSOACC computer account needs to be strongly protected for security reasons. Alleen domein Administrators moeten het computer account kunnen beheren.Only Domain Admins should be able to manage the computer account. Zorg ervoor dat Kerberos-delegering op het computer account is uitgeschakeld en dat geen ander account in Active Directory overdrachts machtigingen heeft voor het AZUREADSSOACC computer account.Ensure that Kerberos delegation on the computer account is disabled, and that no other account in Active Directory has delegation permissions on the AZUREADSSOACC computer account.. Sla het computer account op in een organisatie-eenheid (OE) waar het veilig is tegen onbedoeld verwijderen en waar alleen domein beheerders toegang hebben.Store the computer account in an Organization Unit (OU) where they are safe from accidental deletions and where only Domain Admins have access. De Kerberos-ontsleutelings sleutel op het computer account moet ook als gevoelig worden beschouwd.The Kerberos decryption key on the computer account should also be treated as sensitive. We raden u ten zeerste aan de Kerberos-ontsleutelings sleutel van het AZUREADSSOACC computer account ten minste elke 30 dagen in te voeren.We highly recommend that you roll over the Kerberos decryption key of the AZUREADSSOACC computer account at least every 30 days.

Belangrijk

Naadloze SSO ondersteunt de AES256_HMAC_SHA1, AES128_HMAC_SHA1 en RC4_HMAC_MD5 versleutelings typen voor Kerberos.Seamless SSO supports the AES256_HMAC_SHA1, AES128_HMAC_SHA1 and RC4_HMAC_MD5 encryption types for Kerberos. Het is raadzaam om het versleutelings type voor de AzureADSSOAcc $-account in te stellen op AES256_HMAC_SHA1, of een van de AES-typen versus RC4 voor extra beveiliging.It is recommended that the encryption type for the AzureADSSOAcc$ account is set to AES256_HMAC_SHA1, or one of the AES types vs. RC4 for added security. Het versleutelings type wordt opgeslagen in het kenmerk msDS-SupportedEncryptionTypes van het account in uw Active Directory.The encryption type is stored on the msDS-SupportedEncryptionTypes attribute of the account in your Active Directory. Als het versleutelings type AzureADSSOAcc $-account is ingesteld op RC4_HMAC_MD5 en u het wilt wijzigen in een van de AES-versleutelings typen, moet u ervoor zorgen dat u de eerste keer de Kerberos-ontsleutelingssleutel van het AzureADSSOAcc $-account uitschakelt, zoals wordt uitgelegd in het document met veelgestelde vragen onder de relevante vraag, anders wordt naadloze SSO niet uitgevoerd.If the AzureADSSOAcc$ account encryption type is set to RC4_HMAC_MD5, and you want to change it to one of the AES encryption types, please make sure that you first roll over the Kerberos decryption key of the AzureADSSOAcc$ account as explained in the FAQ document under the relevant question, otherwise Seamless SSO will not happen.

Zodra de installatie is voltooid, werkt naadloze SSO op dezelfde manier als andere aanmelding waarbij gebruik wordt gemaakt van geïntegreerde Windows-authenticatie (IWA).Once the set-up is complete, Seamless SSO works the same way as any other sign-in that uses Integrated Windows Authentication (IWA).

Hoe werkt de aanmelding in een webbrowser met naadloze SSO?How does sign-in on a web browser with Seamless SSO work?

De aanmeldings stroom van een webbrowser is als volgt:The sign-in flow on a web browser is as follows:

  1. De gebruiker probeert toegang te krijgen tot een webtoepassing (bijvoorbeeld de Outlook Web app- https://outlook.office365.com/owa/) van een bedrijfs apparaat dat lid is van een domein in uw bedrijfs netwerk.The user tries to access a web application (for example, the Outlook Web App - https://outlook.office365.com/owa/) from a domain-joined corporate device inside your corporate network.

  2. Als de gebruiker nog niet is aangemeld, wordt de gebruiker omgeleid naar de aanmeldings pagina van Azure AD.If the user is not already signed in, the user is redirected to the Azure AD sign-in page.

  3. De gebruiker typt de gebruikers naam in de aanmeldings pagina van Azure AD.The user types in their user name into the Azure AD sign-in page.

    Notitie

    Voor bepaalde toepassingenworden stap 2 & 3 overgeslagen.For certain applications, steps 2 & 3 are skipped.

  4. Met behulp van Java script kunt u met Azure AD via een 401 niet-geautoriseerde reactie een Kerberos-ticket aanbieden aan de browser.Using JavaScript in the background, Azure AD challenges the browser, via a 401 Unauthorized response, to provide a Kerberos ticket.

  5. De browser vraagt op zijn beurt een ticket aan bij Active Directory voor het AZUREADSSOACC computer account (dat staat voor Azure AD).The browser, in turn, requests a ticket from Active Directory for the AZUREADSSOACC computer account (which represents Azure AD).

  6. Active Directory het computer account zoekt en een Kerberos-ticket retourneert naar de browser die is versleuteld met het geheim van het computer account.Active Directory locates the computer account and returns a Kerberos ticket to the browser encrypted with the computer account's secret.

  7. De browser stuurt het Kerberos-ticket dat is verkregen van Active Directory naar Azure AD.The browser forwards the Kerberos ticket it acquired from Active Directory to Azure AD.

  8. Azure AD ontsleutelt het Kerberos-ticket, dat de identiteit bevat van de gebruiker die is aangemeld bij het bedrijfs apparaat, met behulp van de eerder gedeelde sleutel.Azure AD decrypts the Kerberos ticket, which includes the identity of the user signed into the corporate device, using the previously shared key.

  9. Na de evaluatie retourneert Azure AD een token terug naar de toepassing of vraagt de gebruiker om extra proeven uit te voeren, zoals Multi-Factor Authentication.After evaluation, Azure AD either returns a token back to the application or asks the user to perform additional proofs, such as Multi-Factor Authentication.

  10. Als de gebruiker zich aanmeldt, kan de gebruiker toegang krijgen tot de toepassing.If the user sign-in is successful, the user is able to access the application.

In het volgende diagram ziet u alle onderdelen en de betrokken stappen.The following diagram illustrates all the components and the steps involved.

Naadloze stroom voor eenmalige aanmelding op Web-apps

Naadloze SSO is opportunistisch, wat betekent dat als dit mislukt, de aanmeldings ervaring weer normaal is. de gebruiker moet het wacht woord invoeren om zich aan te melden.Seamless SSO is opportunistic, which means if it fails, the sign-in experience falls back to its regular behavior - i.e, the user needs to enter their password to sign in.

Hoe werkt aanmelden op een systeem eigen client met naadloze SSO?How does sign-in on a native client with Seamless SSO work?

De aanmeldings stroom op een systeem eigen client is als volgt:The sign-in flow on a native client is as follows:

  1. De gebruiker probeert toegang te krijgen tot een systeem eigen toepassing (bijvoorbeeld de Outlook-client) vanuit een bedrijfs apparaat dat lid is van een domein in uw bedrijfs netwerk.The user tries to access a native application (for example, the Outlook client) from a domain-joined corporate device inside your corporate network.
  2. Als de gebruiker nog niet is aangemeld, haalt de systeem eigen toepassing de gebruikers naam van de gebruiker op uit de Windows-sessie van het apparaat.If the user is not already signed in, the native application retrieves the username of the user from the device's Windows session.
  3. De app verzendt de gebruikers naam naar Azure AD en haalt het WS-Trust MEX-eind punt van uw Tenant op.The app sends the username to Azure AD, and retrieves your tenant's WS-Trust MEX endpoint. Dit WS-Trust-eind punt wordt uitsluitend gebruikt door de functie naadloze SSO en is geen algemene implementatie van het WS-Trust-protocol op Azure AD.This WS-Trust endpoint is used exclusively by the Seamless SSO feature, and is not a general implementation of the WS-Trust protocol on Azure AD.
  4. De app stuurt vervolgens een query naar het WS-Trust MEX-eind punt om te zien of er een geïntegreerd verificatie-eind punt beschikbaar is.The app then queries the WS-Trust MEX endpoint to see if integrated authentication endpoint is available. Het geïntegreerde verificatie-eind punt wordt uitsluitend gebruikt door de functie naadloze SSO.The integrated authentication endpoint is used exclusively by the Seamless SSO feature.
  5. Als stap 4 slaagt, wordt er een Kerberos-vraag gegeven.If step 4 succeeds, a Kerberos challenge is issued.
  6. Als de app het Kerberos-ticket kan ophalen, wordt deze doorgestuurd naar het geïntegreerde verificatie-eind punt van Azure AD.If the app is able to retrieve the Kerberos ticket, it forwards it up to Azure AD's integrated authentication endpoint.
  7. Het Kerberos-ticket wordt door Azure AD ontsleuteld en gevalideerd.Azure AD decrypts the Kerberos ticket and validates it.
  8. Azure AD ondertekent de gebruiker in en geeft een SAML-token door aan de app.Azure AD signs the user in, and issues a SAML token to the app.
  9. De app verzendt vervolgens het SAML-token naar het OAuth2-token eindpunt van Azure AD.The app then submits the SAML token to Azure AD's OAuth2 token endpoint.
  10. Azure AD valideert het SAML-token en verleent aan de app een toegangs token en een vernieuwings token voor de opgegeven resource en een id-token.Azure AD validates the SAML token, and issues to the app an access token and a refresh token for the specified resource, and an id token.
  11. De gebruiker krijgt toegang tot de resource van de app.The user gets access to the app's resource.

In het volgende diagram ziet u alle onderdelen en de betrokken stappen.The following diagram illustrates all the components and the steps involved.

Naadloze stroom voor eenmalige aanmelding op de eigen app

Volgende stappenNext steps