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.
- Selecteer het tabblad Certificates
- Klik Change Container type

- Zoek Self-signed or your certificate en klik Change to this container type
- Het self-signed certificaat is 3 jaar geldig, en je kunt optioneel je eigen certificaat uploaden

2 - Maak daarna een SAML 2.0 applicatie in FoxIDs Control Client
- Selecteer het tabblad Applications
- Klik New application
- Klik Web application (SAML 2.0)
- Voeg de Name toe, bijv.
Microsoft Entra ID - Zet Application issuer op
urn:federation:MicrosoftOnline - Zet Assertion consumer service (ACS) URL op
https://login.microsoftonline.com/login.srf
- Klik Create
- Klik Change application om de applicatie in bewerkmodus te openen
- Klik Show advanced
- Zet Authn request binding op Post
- Zet NameID format op
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent - Zet Optional logged out URL en Optional single logout URL op
https://login.microsoftonline.com/login.srf
- Zet Authn response sign type op
Sign assertion
- 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
- Selecteer het tabblad Claims Transform
- 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.
- Zet New claim op
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier- dit is de NameID claim URI - Zet Select claim op
http://schemas.foxids.com/ws/identity/claims/immutableid - 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 claimtypeimmutable_iden de waarde van de Immutable ID in Microsoft Entra ID - deze moet base64 gecodeerd zijn.
Hetimmutable_idclaimtype wordt in FoxIDs gemapt naar de SAML 2.0 claim URIhttp://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.
- Open PowerShell als administrator
- Installeer de Microsoft Graph PowerShell module indien nog niet geïnstalleerd:
Install-Module -Name Microsoft.Graphen kiesA- Optioneel, installeer voor huidige gebruiker:
Install-Module Microsoft.Graph -Scope CurrentUser -Force - Of update de module:
Update-Module -Name Microsoft.Graphen kiesA
- Optioneel, installeer voor huidige gebruiker:
- Maak verbinding met Microsoft Graph:
Connect-MgGraph -Scopes "Domain.ReadWrite.All,Directory.AccessAsUser.All" - 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----- "@ - Configureer de domeinfederatie:
FederatedIdpMfaBehavior kan worden ingesteld op:New-MgDomainFederationConfiguration -DomainId $domainName ` -IssuerUri $idpIssuer ` -PassiveSignInUri $ssoUrl ` -SignOutUri $sloUrl ` -SigningCertificate $signingCertBase64 ` -PreferredAuthenticationProtocol "saml" ` -FederatedIdpMfaBehavior "acceptIfMfaDoneByFederatedIdp"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.
- 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
- Open PowerShell als administrator
- Installeer de Microsoft Graph PowerShell module indien nog niet geïnstalleerd:
Install-Module -Name Microsoft.Graphen kiesA- Optioneel, installeer voor huidige gebruiker:
Install-Module Microsoft.Graph -Scope CurrentUser -Force - Of update de module:
Update-Module -Name Microsoft.Graphen kiesA
- Optioneel, installeer voor huidige gebruiker:
- Maak verbinding met Microsoft Graph:
Connect-MgGraph -Scopes "Domain.ReadWrite.All" - 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. - Configureer de Immutable ID van de gebruiker:
Set-MgUser -UserId $userId -OnPremisesImmutableId $immutableId - 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.
- 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 - Stel de nieuwe Immutable ID in:
$immutableId = "immutable-id" # De Immutable ID van de gebruiker - base64 gecodeerd. Set-MgUser -UserId $userIdTemp -OnPremisesImmutableId $immutableId - 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
- Haal een access token op voor Microsoft Graph API met de vereiste scopes.
- Doe een
PATCHrequest naar het/users/{id | userPrincipalName}endpoint met de volgende JSON body:
Vervang{ "onPremisesImmutableId": "immutable-id" }immutable-iddoor de gewenste Immutable ID die overeenkomt met de NameID claim die door FoxIDs wordt verzonden. - Valideer de configuratie door een
GETrequest te doen naar het/users/{id | userPrincipalName}endpoint en deonPremisesImmutableIdproperty 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.
- Doe een
PATCHrequest naar het/users/{id | userPrincipalName}endpoint om deuserPrincipalNamete wijzigen naar een niet-gefedereerd domein. - Doe een
PATCHrequest om de nieuwe Immutable ID in te stellen. - Doe een
PATCHrequest om deuserPrincipalNameterug te zetten naar het gefedereerde domein. - Valideer de configuratie door een
GETrequest te doen naar het/users/{id | userPrincipalName}endpoint en deonPremisesImmutableIdproperty in de response te controleren.