Mit Microsoft Entra ID über SAML 2.0 verbinden

Verbinden Sie FoxIDs als externen Identity Provider für Microsoft Entra ID mit SAML 2.0.

Durch die Konfiguration einer OpenID Connect Authentifizierungsmethode und Microsoft Entra ID als SAML 2.0 Anwendung wird FoxIDs zu einer Brücke zwischen OpenID Connect und SAML 2.0 und konvertiert JWT (OAuth 2.0) Claims automatisch in SAML 2.0 Claims.

Microsoft Entra ID konfigurieren

Diese Anleitung beschreibt, wie FoxIDs als externer Identity Provider für Microsoft Entra ID eingerichtet wird. Benutzer werden mit Microsoft Entra ID Benutzern über ihre Immutable ID verknüpft.

1 - Beginnen Sie mit der Konfiguration eines Zertifikats in FoxIDs Control Client

Sie müssen das SAML 2.0 Signaturzertifikat, das in FoxIDs verwendet wird, in Microsoft Entra ID hochladen. Dafür ist ein langlebiges Zertifikat in FoxIDs erforderlich, z. B. 3 Jahre gültig.

  1. Wählen Sie die Registerkarte Certificates
  2. Klicken Sie Change Container type Change certificate container type in FoxIDs
  3. Suchen Sie Self-signed or your certificate und klicken Sie Change to this container type
  4. Das selbstsignierte Zertifikat ist 3 Jahre gültig, und Sie können optional ein eigenes Zertifikat hochladen Change certificate in FoxIDs

2 - Erstellen Sie anschließend eine SAML 2.0 Anwendung in FoxIDs Control Client

  1. Wählen Sie die Registerkarte Applications
  2. Klicken Sie New application
  3. Klicken Sie Web application (SAML 2.0)
  4. Fügen Sie den Name hinzu, z. B. Microsoft Entra ID
  5. Setzen Sie Application issuer auf urn:federation:MicrosoftOnline
  6. Setzen Sie Assertion consumer service (ACS) URL auf https://login.microsoftonline.com/login.srf Add issuer and ACS in FoxIDs
  7. Klicken Sie Create
  8. Klicken Sie Change application, um die Anwendung im Bearbeitungsmodus zu öffnen
  9. Klicken Sie Show advanced
  10. Setzen Sie Authn request binding auf Post
  11. Setzen Sie NameID format auf urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
  12. Setzen Sie Optional logged out URL und Optional single logout URL auf https://login.microsoftonline.com/login.srf Set binding, NameID format, and logout URLs in FoxIDs
  13. Setzen Sie Authn response sign type auf Sign assertion Sign the assertion
  14. Gehen Sie zum Anfang der Anwendung, finden Sie den Abschnitt Application information und klicken Sie Show more
    • Kopieren Sie IdP Issuer
    • Kopieren Sie Single Sign-On URL
    • Kopieren Sie Single Logout URL
    • Kopieren Sie IdP Signing Certificate im Base64 Format
  15. Wählen Sie die Registerkarte Claims Transform
  16. Klicken Sie Add claim transform und dann Map, um einen NameID Claim mit der Immutable ID des Benutzers hinzuzufügen, der der Immutable ID des Microsoft Entra ID Benutzers entspricht.
  17. Setzen Sie New claim auf http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier - das ist die NameID Claim URI
  18. Setzen Sie Select claim auf http://schemas.foxids.com/ws/identity/claims/immutableid
  19. Klicken Sie Update

Sie müssen die Immutable ID des Benutzers als Claim in FoxIDs setzen.
Um die Immutable ID bei einem internen Benutzer zu setzen, wählen Sie die Registerkarte Users und dann Internal Users, suchen Sie den Benutzer und fügen Sie einen Claim mit dem Claim Typ immutable_id und dem Wert der Immutable ID in Microsoft Entra ID hinzu - dieser muss base64 codiert sein.
Der Claim Typ immutable_id ist in FoxIDs auf die SAML 2.0 Claim URI http://schemas.foxids.com/ws/identity/claims/immutableid abgebildet.

3 - Konfigurieren Sie anschließend die Domain Federation in Microsoft Entra ID mit PowerShell

Es ist nicht möglich, einen externen SAML 2.0 Identity Provider im Microsoft Entra ID Portal zu konfigurieren. Sie müssen PowerShell verwenden.

  1. Öffnen Sie PowerShell als Administrator
  2. Installieren Sie das Microsoft Graph PowerShell Modul, falls es noch nicht installiert ist: Install-Module -Name Microsoft.Graph und wählen Sie A
    • Optional für den aktuellen Benutzer installieren: Install-Module Microsoft.Graph -Scope CurrentUser -Force
    • Oder das Modul aktualisieren: Update-Module -Name Microsoft.Graph und wählen Sie A
  3. Mit Microsoft Graph verbinden:
    Connect-MgGraph -Scopes "Domain.ReadWrite.All,Directory.AccessAsUser.All"
    
  4. Konfigurationsvariablen einrichten:
    $domainName = "your-domain.com" # Der Domainname, der für Federation konfiguriert werden soll
    $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. Domain Federation konfigurieren:
    New-MgDomainFederationConfiguration -DomainId $domainName `
      -IssuerUri $idpIssuer `
      -PassiveSignInUri $ssoUrl `
      -SignOutUri $sloUrl `
      -SigningCertificate $signingCertBase64 `
      -PreferredAuthenticationProtocol "saml" `
      -FederatedIdpMfaBehavior "acceptIfMfaDoneByFederatedIdp"
    
    FederatedIdpMfaBehavior kann gesetzt werden auf:
    • acceptIfMfaDoneByFederatedIdp - Entra akzeptiert MFA von FoxIDs; wenn FoxIDs kein MFA durchgeführt hat, übernimmt Entra das.
    • enforceMfaByFederatedIdp - Wenn eine Richtlinie MFA erfordert, sendet Entra den Benutzer zurück zu FoxIDs, um MFA abzuschließen.
    • rejectMfaByFederatedIdp - Entra führt MFA immer selbst durch; MFA bei FoxIDs wird ignoriert.
  6. Konfiguration validieren:
    Get-MgDomainFederationConfiguration -DomainId $domainName
    # or
    Get-MgDomain -DomainId $domainName | fl Id, AuthenticationType
    

4a - Konfigurieren Sie anschließend die Immutable ID des Benutzers in Microsoft Entra ID mit PowerShell

  1. Öffnen Sie PowerShell als Administrator
  2. Installieren Sie das Microsoft Graph PowerShell Modul, falls es noch nicht installiert ist: Install-Module -Name Microsoft.Graph und wählen Sie A
    • Optional für den aktuellen Benutzer installieren: Install-Module Microsoft.Graph -Scope CurrentUser -Force
    • Oder das Modul aktualisieren: Update-Module -Name Microsoft.Graph und wählen Sie A
  3. Mit Microsoft Graph verbinden: Connect-MgGraph -Scopes "Domain.ReadWrite.All"
  4. Konfigurationsvariablen einrichten:
    $userId = "user-id@my-domain.com" # User Principal Name (UPN) oder Object ID des Benutzers
    $immutableId = "immutable-id" # Immutable ID des Benutzers - base64 codiert.
    
  5. Immutable ID des Benutzers konfigurieren:
    Set-MgUser -UserId $userId -OnPremisesImmutableId $immutableId
    
  6. Konfiguration validieren:
    Get-MgUser -UserId $userId | fl Id, OnPremisesImmutableId
    

Wenn der Benutzer bereits eine Immutable ID gesetzt hat, müssen Sie den Benutzer aus der federierten Domain heraus verschieben, die Immutable ID setzen und den Benutzer anschließend wieder in die federierte Domain zurück verschieben.

  1. Benutzer in eine nicht föderierte Domain verschieben:
    $userId = "user-id@my-domain.com"
    $userIdTemp = "user-id@yourtenant.onmicrosoft.com"
    Update-MgUser -UserId $userId -UserPrincipalName $userIdTemp
    
  2. Neue Immutable ID des Benutzers setzen:
    $immutableId = "immutable-id" # Immutable ID des Benutzers - base64 codiert.
    Set-MgUser -UserId $userIdTemp -OnPremisesImmutableId $immutableId
    
  3. Benutzer zurück in die federierte Domain verschieben:
    Update-MgUser -UserId $userIdTemp -UserPrincipalName $userId
    

4b - Alternativ die Immutable ID des Benutzers in Microsoft Entra ID mit Graph API konfigurieren

  1. Ein access token für Microsoft Graph API mit den erforderlichen Scopes abrufen.
  2. Einen PATCH Request an den Endpunkt /users/{id | userPrincipalName} mit folgendem JSON Body senden:
    {
      "onPremisesImmutableId": "immutable-id"
    }
    
    Ersetzen Sie immutable-id durch den gewünschten Immutable ID Wert, der dem von FoxIDs gesendeten NameID Claim entspricht.
  3. Validieren Sie die Konfiguration, indem Sie einen GET Request an den Endpunkt /users/{id | userPrincipalName} senden und die Eigenschaft onPremisesImmutableId in der Antwort prüfen.

Wenn der Benutzer bereits eine Immutable ID gesetzt hat, müssen Sie den Benutzer aus der federierten Domain heraus verschieben, die Immutable ID setzen und den Benutzer anschließend wieder in die federierte Domain zurück verschieben.

  1. Einen PATCH Request an den Endpunkt /users/{id | userPrincipalName} senden, um userPrincipalName auf eine nicht föderierte Domain zu ändern.
  2. Einen PATCH Request senden, um die neue Immutable ID zu setzen.
  3. Einen PATCH Request senden, um userPrincipalName wieder auf die federierte Domain zu ändern.
  4. Validieren Sie die Konfiguration, indem Sie einen GET Request an den Endpunkt /users/{id | userPrincipalName} senden und die Eigenschaft onPremisesImmutableId in der Antwort prüfen.

Ihre Privatsphäre

Wir verwenden Cookies, um Ihre Erfahrung auf unseren Websites zu verbessern. Klicken Sie auf 'Alle Cookies akzeptieren', um der Verwendung von Cookies zuzustimmen. Um nicht notwendige Cookies abzulehnen, klicken Sie auf 'Nur notwendige Cookies'.

Weitere Informationen finden Sie in unserer Datenschutzerklärung