Verbind Microsoft Entra ID met SAML 2.0

Verbind FoxIDs als een externe identity provider voor Microsoft Entra ID met SAML 2.0.

Door een OpenID Connect authenticatiemethode en Microsoft Entra ID als een SAML 2.0 applicatie te configureren wordt FoxIDs een bridge tussen OpenID Connect en SAML 2.0 en zet automatisch JWT (OAuth 2.0) claims om naar SAML 2.0 claims.

Microsoft Entra ID configureren

Deze gids beschrijft hoe je FoxIDs instelt als externe identity provider voor Microsoft Entra ID. Gebruikers worden gekoppeld aan Microsoft Entra ID gebruikers via hun Immutable ID.

1 - Begin met het configureren van een certificaat in FoxIDs Control Client

Je moet het SAML 2.0 signing certificaat dat in FoxIDs gebruikt wordt uploaden naar Microsoft Entra ID. Daarom is het nodig om een langdurig certificaat in FoxIDs te gebruiken, bijv. geldig voor 3 jaar.

  1. Selecteer het tabblad Certificates
  2. Klik Change Container type Wijzig certificaat container type in FoxIDs
  3. Zoek Self-signed or your certificate en klik Change to this container type
  4. Het self-signed certificaat is 3 jaar geldig, en je kunt optioneel je eigen certificaat uploaden Wijzig certificaat in FoxIDs

2 - Maak daarna een SAML 2.0 applicatie in FoxIDs Control Client

  1. Selecteer het tabblad Applications
  2. Klik New application
  3. Klik Web application (SAML 2.0)
  4. Voeg de Name toe, bijv. Microsoft Entra ID
  5. Zet Application issuer op urn:federation:MicrosoftOnline
  6. Zet Assertion consumer service (ACS) URL op https://login.microsoftonline.com/login.srf Voeg issuer en ACS toe in FoxIDs
  7. Klik Create
  8. Klik Change application om de applicatie in bewerkmodus te openen
  9. Klik Show advanced
  10. Zet Authn request binding op Post
  11. Zet NameID format op urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
  12. Zet Optional logged out URL en Optional single logout URL op https://login.microsoftonline.com/login.srf Stel binding, NameID format en logout URLs in FoxIDs in
  13. Zet Authn response sign type op Sign assertion Onderteken de assertion
  14. Ga bovenaan de applicatie naar Application information en klik Show more
    • Kopieer de IdP Issuer
    • Kopieer de Single Sign-On URL
    • Kopieer de Single Logout URL
    • Kopieer de IdP Signing Certificate in Base64 formaat
  15. Selecteer het tabblad Claims Transform
  16. Klik Add claim transform en klik Map om een NameID claim toe te voegen met de Immutable ID van de gebruiker, overeenkomstig de Microsoft Entra ID gebruiker.
  17. Zet New claim op http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier - dit is de NameID claim URI
  18. Zet Select claim op http://schemas.foxids.com/ws/identity/claims/immutableid
  19. Klik Update

Je moet de Immutable ID van de gebruiker als claim in FoxIDs instellen.
Om de Immutable ID op een interne gebruiker in te stellen, selecteer je het tabblad Users en daarna Internal Users, zoek je de gebruiker en voeg je een claim toe met het claimtype immutable_id en de waarde van de Immutable ID in Microsoft Entra ID - deze moet base64 gecodeerd zijn.
Het immutable_id claimtype wordt in FoxIDs gemapt naar de SAML 2.0 claim URI http://schemas.foxids.com/ws/identity/claims/immutableid.

3 - Configureer vervolgens domeinfederatie in Microsoft Entra ID met PowerShell

Het is niet mogelijk om een externe SAML 2.0 identity provider te configureren in de Microsoft Entra ID Portal. Je moet PowerShell gebruiken.

  1. Open PowerShell als administrator
  2. Installeer de Microsoft Graph PowerShell module indien nog niet geïnstalleerd: Install-Module -Name Microsoft.Graph en kies A
    • Optioneel, installeer voor huidige gebruiker: Install-Module Microsoft.Graph -Scope CurrentUser -Force
    • Of update de module: Update-Module -Name Microsoft.Graph en kies A
  3. Maak verbinding met Microsoft Graph:
    Connect-MgGraph -Scopes "Domain.ReadWrite.All,Directory.AccessAsUser.All"
    
  4. Stel de configuratievariabelen in:
    $domainName = "your-domain.com" # De domeinnaam om federatie voor te configureren
    $idpIssuer = "copied IdP Issuer from FoxIDs"
    $ssoUrl = "copied Single Sign-On URL from FoxIDs"
    $sloUrl = "copied Single Logout URL from FoxIDs"
    $signingCertBase64 = @"
    -----BEGIN CERTIFICATE-----
    copied IdP Signing Certificate from FoxIDs
    -----END CERTIFICATE-----
    "@
    
  5. Configureer de domeinfederatie:
    New-MgDomainFederationConfiguration -DomainId $domainName `
      -IssuerUri $idpIssuer `
      -PassiveSignInUri $ssoUrl `
      -SignOutUri $sloUrl `
      -SigningCertificate $signingCertBase64 `
      -PreferredAuthenticationProtocol "saml" `
      -FederatedIdpMfaBehavior "acceptIfMfaDoneByFederatedIdp"
    
    FederatedIdpMfaBehavior kan worden ingesteld op:
    • acceptIfMfaDoneByFederatedIdp - Entra accepteert MFA van FoxIDs; als FoxIDs geen MFA deed, voert Entra MFA uit.
    • enforceMfaByFederatedIdp - Als een policy MFA vereist, stuurt Entra de gebruiker terug naar FoxIDs om MFA te voltooien.
    • rejectMfaByFederatedIdp - Entra voert altijd zelf MFA uit; MFA bij FoxIDs wordt genegeerd.
  6. Valideer de configuratie:
    Get-MgDomainFederationConfiguration -DomainId $domainName
    # or
    Get-MgDomain -DomainId $domainName | fl Id, AuthenticationType
    

4a - Configureer vervolgens de Immutable ID van de gebruiker in Microsoft Entra ID met PowerShell

  1. Open PowerShell als administrator
  2. Installeer de Microsoft Graph PowerShell module indien nog niet geïnstalleerd: Install-Module -Name Microsoft.Graph en kies A
    • Optioneel, installeer voor huidige gebruiker: Install-Module Microsoft.Graph -Scope CurrentUser -Force
    • Of update de module: Update-Module -Name Microsoft.Graph en kies A
  3. Maak verbinding met Microsoft Graph: Connect-MgGraph -Scopes "Domain.ReadWrite.All"
  4. Stel de configuratievariabelen in:
    $userId = "user-id@my-domain.com" # De User Principal Name (UPN) of Object ID van de gebruiker
    $immutableId = "immutable-id" # De Immutable ID van de gebruiker - base64 gecodeerd.
    
  5. Configureer de Immutable ID van de gebruiker:
    Set-MgUser -UserId $userId -OnPremisesImmutableId $immutableId
    
  6. Valideer de configuratie:
    Get-MgUser -UserId $userId | fl Id, OnPremisesImmutableId
    

Als de gebruiker al een Immutable ID heeft, moet je de gebruiker van het gefedereerde domein afhalen, de Immutable ID instellen, en de gebruiker daarna terugzetten naar het gefedereerde domein.

  1. Verplaats de gebruiker naar een niet-gefedereerd domein:
    $userId = "user-id@my-domain.com"
    $userIdTemp = "user-id@yourtenant.onmicrosoft.com"
    Update-MgUser -UserId $userId -UserPrincipalName $userIdTemp
    
  2. Stel de nieuwe Immutable ID in:
    $immutableId = "immutable-id" # De Immutable ID van de gebruiker - base64 gecodeerd.
    Set-MgUser -UserId $userIdTemp -OnPremisesImmutableId $immutableId
    
  3. Verplaats de gebruiker terug naar het gefedereerde domein:
    Update-MgUser -UserId $userIdTemp -UserPrincipalName $userId
    

4b - Of configureer de Immutable ID van de gebruiker in Microsoft Entra ID met Graph API

  1. Haal een access token op voor Microsoft Graph API met de vereiste scopes.
  2. Doe een PATCH request naar het /users/{id | userPrincipalName} endpoint met de volgende JSON body:
    {
      "onPremisesImmutableId": "immutable-id"
    }
    
    Vervang immutable-id door de gewenste Immutable ID die overeenkomt met de NameID claim die door FoxIDs wordt verzonden.
  3. Valideer de configuratie door een GET request te doen naar het /users/{id | userPrincipalName} endpoint en de onPremisesImmutableId property in de response te controleren.

Als de gebruiker al een Immutable ID heeft, moet je de gebruiker van het gefedereerde domein afhalen, de Immutable ID instellen, en de gebruiker daarna terugzetten naar het gefedereerde domein.

  1. Doe een PATCH request naar het /users/{id | userPrincipalName} endpoint om de userPrincipalName te wijzigen naar een niet-gefedereerd domein.
  2. Doe een PATCH request om de nieuwe Immutable ID in te stellen.
  3. Doe een PATCH request om de userPrincipalName terug te zetten naar het gefedereerde domein.
  4. Valideer de configuratie door een GET request te doen naar het /users/{id | userPrincipalName} endpoint en de onPremisesImmutableId property in de response te controleren.

Uw privacy

We gebruiken cookies om uw ervaring op onze websites te verbeteren. Klik op de knop 'Alle cookies accepteren' om akkoord te gaan met het gebruik van cookies. Om niet-noodzakelijke cookies te weigeren, klikt u op 'Alleen noodzakelijke cookies'.

Bezoek onze privacyverklaring voor meer informatie