Anslut Microsoft Entra ID med SAML 2.0

Anslut FoxIDs som en extern identity provider för Microsoft Entra ID med SAML 2.0.

Genom att konfigurera en OpenID Connect autentiseringsmetod och Microsoft Entra ID som en SAML 2.0 applikation blir FoxIDs en bridge mellan OpenID Connect och SAML 2.0 och konverterar automatiskt JWT (OAuth 2.0) claims till SAML 2.0 claims.

Konfigurera Microsoft Entra ID

Den här guiden beskriver hur du sätter upp FoxIDs som en extern identity provider för Microsoft Entra ID. Användare kopplas till Microsoft Entra ID användare med deras Immutable ID.

1 - Börja med att konfigurera ett certifikat i FoxIDs Control Client

Du behöver ladda upp SAML 2.0 signeringscertifikatet som används i FoxIDs till Microsoft Entra ID. Därför är det nödvändigt att använda ett långlivat certifikat i FoxIDs, t.ex. giltigt i 3 år.

  1. Välj fliken Certificates
  2. Klicka Change Container type Ändra certifikat container type i FoxIDs
  3. Hitta Self-signed or your certificate och klicka Change to this container type
  4. Det self-signed certifikatet är giltigt i 3 år, och du kan valfritt ladda upp ditt eget certifikat Ändra certifikat i FoxIDs

2 - Skapa sedan en SAML 2.0 applikation i FoxIDs Control Client

  1. Välj fliken Applications
  2. Klicka New application
  3. Klicka Web application (SAML 2.0)
  4. Lägg till Name t.ex. Microsoft Entra ID
  5. Sätt Application issuer till urn:federation:MicrosoftOnline
  6. Sätt Assertion consumer service (ACS) URL till https://login.microsoftonline.com/login.srf Lägg till issuer och ACS i FoxIDs
  7. Klicka Create
  8. Klicka Change application för att öppna applikationen i redigeringsläge
  9. Klicka Show advanced
  10. Sätt Authn request binding till Post
  11. Sätt NameID format till urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
  12. Sätt Optional logged out URL och Optional single logout URL till https://login.microsoftonline.com/login.srf Sätt binding, NameID format och logout URLs i FoxIDs
  13. Sätt Authn response sign type till Sign assertion Signera assertion
  14. Gå till toppen av applikationen, hitta sektionen Application information och klicka Show more
    • Kopiera IdP Issuer
    • Kopiera Single Sign-On URL
    • Kopiera Single Logout URL
    • Kopiera IdP Signing Certificate i Base64 format
  15. Välj fliken Claims Transform
  16. Klicka Add claim transform och klicka Map för att lägga till en NameID claim med användarens Immutable ID som matchar Microsoft Entra ID användarens Immutable ID.
  17. Sätt New claim till http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier - vilket är NameID claim URI
  18. Sätt Select claim till http://schemas.foxids.com/ws/identity/claims/immutableid
  19. Klicka Update

Du måste sätta användarens Immutable ID som en claim i FoxIDs.
För att sätta Immutable ID på en intern användare, välj fliken Users och sedan Internal Users, hitta användaren och lägg till en claim med claim typen immutable_id och värdet av Immutable ID i Microsoft Entra ID - den ska vara base64 kodad.
Claim typen immutable_id mappas till SAML 2.0 claim URI http://schemas.foxids.com/ws/identity/claims/immutableid i FoxIDs.

3 - Konfigurera sedan domänfederering i Microsoft Entra ID med PowerShell

Det går inte att konfigurera en extern SAML 2.0 identity provider i Microsoft Entra ID portalen. Du behöver använda PowerShell.

  1. Öppna PowerShell som administratör
  2. Installera Microsoft Graph PowerShell modulen om den inte redan är installerad: Install-Module -Name Microsoft.Graph och välj A
    • Valfritt, installera för aktuell användare: Install-Module Microsoft.Graph -Scope CurrentUser -Force
    • Eller uppdatera modulen: Update-Module -Name Microsoft.Graph och välj A
  3. Anslut till Microsoft Graph:
    Connect-MgGraph -Scopes "Domain.ReadWrite.All,Directory.AccessAsUser.All"
    
  4. Sätt konfigurationsvariablerna:
    $domainName = "your-domain.com" # Domännamnet att konfigurera federering för
    $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. Konfigurera domänfedereringen:
    New-MgDomainFederationConfiguration -DomainId $domainName `
      -IssuerUri $idpIssuer `
      -PassiveSignInUri $ssoUrl `
      -SignOutUri $sloUrl `
      -SigningCertificate $signingCertBase64 `
      -PreferredAuthenticationProtocol "saml" `
      -FederatedIdpMfaBehavior "acceptIfMfaDoneByFederatedIdp"
    
    FederatedIdpMfaBehavior kan ställas in till:
    • acceptIfMfaDoneByFederatedIdp - Entra accepterar MFA från FoxIDs; om FoxIDs inte gjorde MFA kommer Entra göra det.
    • enforceMfaByFederatedIdp - Om en policy kräver MFA skickar Entra användaren tillbaka till FoxIDs för att slutföra MFA.
    • rejectMfaByFederatedIdp - Entra gör alltid MFA själv; MFA i FoxIDs ignoreras.
  6. Validera konfigurationen:
    Get-MgDomainFederationConfiguration -DomainId $domainName
    # or
    Get-MgDomain -DomainId $domainName | fl Id, AuthenticationType
    

4a - Konfigurera sedan användarens Immutable ID i Microsoft Entra ID med PowerShell

  1. Öppna PowerShell som administratör
  2. Installera Microsoft Graph PowerShell modulen om den inte redan är installerad: Install-Module -Name Microsoft.Graph och välj A
    • Valfritt, installera för aktuell användare: Install-Module Microsoft.Graph -Scope CurrentUser -Force
    • Eller uppdatera modulen: Update-Module -Name Microsoft.Graph och välj A
  3. Anslut till Microsoft Graph: Connect-MgGraph -Scopes "Domain.ReadWrite.All"
  4. Sätt konfigurationsvariablerna:
    $userId = "user-id@my-domain.com" # Användarens User Principal Name (UPN) eller Object ID
    $immutableId = "immutable-id" # Användarens Immutable ID - base64 kodad.
    
  5. Konfigurera användarens Immutable ID:
    Set-MgUser -UserId $userId -OnPremisesImmutableId $immutableId
    
  6. Validera konfigurationen:
    Get-MgUser -UserId $userId | fl Id, OnPremisesImmutableId
    

Om användaren redan har en Immutable ID måste du flytta användaren bort från den federerade domänen, sätta Immutable ID och sedan flytta användaren tillbaka till den federerade domänen.

  1. Flytta användaren till en icke-federerad domän:
    $userId = "user-id@my-domain.com"
    $userIdTemp = "user-id@yourtenant.onmicrosoft.com"
    Update-MgUser -UserId $userId -UserPrincipalName $userIdTemp
    
  2. Sätt användarens nya Immutable ID:
    $immutableId = "immutable-id" # Användarens Immutable ID - base64 kodad.
    Set-MgUser -UserId $userIdTemp -OnPremisesImmutableId $immutableId
    
  3. Flytta användaren tillbaka till den federerade domänen:
    Update-MgUser -UserId $userIdTemp -UserPrincipalName $userId
    

4b - Eller konfigurera användarens Immutable ID i Microsoft Entra ID med Graph API

  1. Hämta en access token för Microsoft Graph API med nödvändiga scopes.
  2. Gör en PATCH request till /users/{id | userPrincipalName} endpointet med följande JSON body:
    {
      "onPremisesImmutableId": "immutable-id"
    }
    
    Ersätt immutable-id med önskat Immutable ID värde som matchar NameID claim som skickas från FoxIDs.
  3. Validera konfigurationen genom att göra en GET request till /users/{id | userPrincipalName} endpointet och kontrollera onPremisesImmutableId property i svaret.

Om användaren redan har en Immutable ID måste du flytta användaren bort från den federerade domänen, sätta Immutable ID och sedan flytta användaren tillbaka till den federerade domänen.

  1. Gör en PATCH request till /users/{id | userPrincipalName} endpointet för att ändra userPrincipalName till en icke-federerad domän.
  2. Gör en PATCH request för att sätta den nya Immutable ID.
  3. Gör en PATCH request för att ändra userPrincipalName tillbaka till den federerade domänen.
  4. Validera konfigurationen genom att göra en GET request till /users/{id | userPrincipalName} endpointet och kontrollera onPremisesImmutableId property i svaret.

Din integritet

Vi använder cookies för att göra din upplevelse av våra webbplatser bättre. Klicka på 'Acceptera alla cookies' för att godkänna användningen av cookies. För att avstå från icke-nödvändiga cookies, klicka på 'Endast nödvändiga cookies'.

Besök vår integritetspolicy för mer