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.
- Wählen Sie die Registerkarte Certificates
- Klicken Sie Change Container type

- Suchen Sie Self-signed or your certificate und klicken Sie Change to this container type
- Das selbstsignierte Zertifikat ist 3 Jahre gültig, und Sie können optional ein eigenes Zertifikat hochladen

2 - Erstellen Sie anschließend eine SAML 2.0 Anwendung in FoxIDs Control Client
- Wählen Sie die Registerkarte Applications
- Klicken Sie New application
- Klicken Sie Web application (SAML 2.0)
- Fügen Sie den Name hinzu, z. B.
Microsoft Entra ID - Setzen Sie Application issuer auf
urn:federation:MicrosoftOnline - Setzen Sie Assertion consumer service (ACS) URL auf
https://login.microsoftonline.com/login.srf
- Klicken Sie Create
- Klicken Sie Change application, um die Anwendung im Bearbeitungsmodus zu öffnen
- Klicken Sie Show advanced
- Setzen Sie Authn request binding auf Post
- Setzen Sie NameID format auf
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent - Setzen Sie Optional logged out URL und Optional single logout URL auf
https://login.microsoftonline.com/login.srf
- Setzen Sie Authn response sign type auf
Sign assertion
- 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
- Wählen Sie die Registerkarte Claims Transform
- 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.
- Setzen Sie New claim auf
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier- das ist die NameID Claim URI - Setzen Sie Select claim auf
http://schemas.foxids.com/ws/identity/claims/immutableid - 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 Typimmutable_idund dem Wert der Immutable ID in Microsoft Entra ID hinzu - dieser muss base64 codiert sein.
Der Claim Typimmutable_idist in FoxIDs auf die SAML 2.0 Claim URIhttp://schemas.foxids.com/ws/identity/claims/immutableidabgebildet.
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.
- Öffnen Sie PowerShell als Administrator
- Installieren Sie das Microsoft Graph PowerShell Modul, falls es noch nicht installiert ist:
Install-Module -Name Microsoft.Graphund wählen SieA- Optional für den aktuellen Benutzer installieren:
Install-Module Microsoft.Graph -Scope CurrentUser -Force - Oder das Modul aktualisieren:
Update-Module -Name Microsoft.Graphund wählen SieA
- Optional für den aktuellen Benutzer installieren:
- Mit Microsoft Graph verbinden:
Connect-MgGraph -Scopes "Domain.ReadWrite.All,Directory.AccessAsUser.All" - 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----- "@ - Domain Federation konfigurieren:
FederatedIdpMfaBehavior kann gesetzt werden auf:New-MgDomainFederationConfiguration -DomainId $domainName ` -IssuerUri $idpIssuer ` -PassiveSignInUri $ssoUrl ` -SignOutUri $sloUrl ` -SigningCertificate $signingCertBase64 ` -PreferredAuthenticationProtocol "saml" ` -FederatedIdpMfaBehavior "acceptIfMfaDoneByFederatedIdp"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.
- 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
- Öffnen Sie PowerShell als Administrator
- Installieren Sie das Microsoft Graph PowerShell Modul, falls es noch nicht installiert ist:
Install-Module -Name Microsoft.Graphund wählen SieA- Optional für den aktuellen Benutzer installieren:
Install-Module Microsoft.Graph -Scope CurrentUser -Force - Oder das Modul aktualisieren:
Update-Module -Name Microsoft.Graphund wählen SieA
- Optional für den aktuellen Benutzer installieren:
- Mit Microsoft Graph verbinden:
Connect-MgGraph -Scopes "Domain.ReadWrite.All" - 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. - Immutable ID des Benutzers konfigurieren:
Set-MgUser -UserId $userId -OnPremisesImmutableId $immutableId - 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.
- 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 - Neue Immutable ID des Benutzers setzen:
$immutableId = "immutable-id" # Immutable ID des Benutzers - base64 codiert. Set-MgUser -UserId $userIdTemp -OnPremisesImmutableId $immutableId - 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
- Ein access token für Microsoft Graph API mit den erforderlichen Scopes abrufen.
- Einen
PATCHRequest an den Endpunkt/users/{id | userPrincipalName}mit folgendem JSON Body senden:
Ersetzen Sie{ "onPremisesImmutableId": "immutable-id" }immutable-iddurch den gewünschten Immutable ID Wert, der dem von FoxIDs gesendeten NameID Claim entspricht. - Validieren Sie die Konfiguration, indem Sie einen
GETRequest an den Endpunkt/users/{id | userPrincipalName}senden und die EigenschaftonPremisesImmutableIdin 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.
- Einen
PATCHRequest an den Endpunkt/users/{id | userPrincipalName}senden, umuserPrincipalNameauf eine nicht föderierte Domain zu ändern. - Einen
PATCHRequest senden, um die neue Immutable ID zu setzen. - Einen
PATCHRequest senden, umuserPrincipalNamewieder auf die federierte Domain zu ändern. - Validieren Sie die Konfiguration, indem Sie einen
GETRequest an den Endpunkt/users/{id | userPrincipalName}senden und die EigenschaftonPremisesImmutableIdin der Antwort prüfen.