Połącz z Microsoft Entra ID za pomocą SAML 2.0

Połącz FoxIDs jako zewnętrznego dostawcę tożsamości dla Microsoft Entra ID przy użyciu SAML 2.0.

Konfigurując metodę uwierzytelniania OpenID Connect i Microsoft Entra ID jako aplikację SAML 2.0, FoxIDs staje się mostem między OpenID Connect i SAML 2.0 oraz automatycznie konwertuje claimy JWT (OAuth 2.0) na claimy SAML 2.0.

Skonfiguruj Microsoft Entra ID

Ten przewodnik opisuje, jak skonfigurować FoxIDs jako zewnętrznego dostawcę tożsamości dla Microsoft Entra ID. Użytkownicy są powiązani z użytkownikami Microsoft Entra ID poprzez ich Immutable ID.

1 - Zacznij od skonfigurowania certyfikatu w FoxIDs Control Client

Musisz przesłać certyfikat podpisywania SAML 2.0 używany w FoxIDs do Microsoft Entra ID. Dlatego w FoxIDs należy użyć certyfikatu o długim okresie ważności, np. na 3 lata.

  1. Wybierz kartę Certificates
  2. Kliknij Change Container type Change certificate container type in FoxIDs
  3. Znajdź Self-signed or your certificate i kliknij Change to this container type
  4. Certyfikat samopodpisany jest ważny przez 3 lata, a opcjonalnie możesz przesłać własny certyfikat Change certificate in FoxIDs

2 - Następnie utwórz aplikację SAML 2.0 w FoxIDs Control Client

  1. Wybierz kartę Applications
  2. Kliknij New application
  3. Kliknij Web application (SAML 2.0)
  4. Dodaj Name, np. Microsoft Entra ID
  5. Ustaw Application issuer na urn:federation:MicrosoftOnline
  6. Ustaw Assertion consumer service (ACS) URL na https://login.microsoftonline.com/login.srf Add issuer and ACS in FoxIDs
  7. Kliknij Create
  8. Kliknij Change application, aby otworzyć aplikację w trybie edycji
  9. Kliknij Show advanced
  10. Ustaw Authn request binding na Post
  11. Ustaw NameID format na urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
  12. Ustaw Optional logged out URL oraz Optional single logout URL na https://login.microsoftonline.com/login.srf Set binding, NameID format, and logout URLs in FoxIDs
  13. Ustaw Authn response sign type na Sign assertion Sign the assertion
  14. Przejdź na górę aplikacji, znajdź sekcję Application information i kliknij Show more
    • Skopiuj IdP Issuer
    • Skopiuj Single Sign-On URL
    • Skopiuj Single Logout URL
    • Skopiuj IdP Signing Certificate w formacie Base64
  15. Wybierz kartę Claims Transform
  16. Kliknij Add claim transform i kliknij Map, aby dodać claim NameID z Immutable ID użytkownika, zgodnym z Immutable ID użytkownika Microsoft Entra ID.
  17. Ustaw New claim na http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier – to URI claimu NameID
  18. Ustaw Select claim na http://schemas.foxids.com/ws/identity/claims/immutableid
  19. Kliknij Update

Musisz ustawić Immutable ID użytkownika jako claim w FoxIDs.
Aby ustawić Immutable ID dla użytkownika wewnętrznego, wybierz kartę Users, następnie kartę Internal Users, znajdź użytkownika i dodaj claim o typie immutable_id oraz wartości Immutable ID z Microsoft Entra ID – powinno być zakodowane w base64.
Typ claimu immutable_id jest mapowany w FoxIDs na URI claimu SAML 2.0 http://schemas.foxids.com/ws/identity/claims/immutableid.

3 - Następnie skonfiguruj federację domeny w Microsoft Entra ID przy użyciu PowerShell

Nie można skonfigurować zewnętrznego dostawcy tożsamości SAML 2.0 w portalu Microsoft Entra ID. Musisz użyć PowerShell.

  1. Uruchom PowerShell jako administrator
  2. Zainstaluj moduł PowerShell Microsoft Graph, jeśli nie jest jeszcze zainstalowany: Install-Module -Name Microsoft.Graph i wybierz A
    • Opcjonalnie zainstaluj dla bieżącego użytkownika: Install-Module Microsoft.Graph -Scope CurrentUser -Force
    • Albo zaktualizuj moduł: Update-Module -Name Microsoft.Graph i wybierz A
  3. Połącz się z Microsoft Graph:
    Connect-MgGraph -Scopes "Domain.ReadWrite.All,Directory.AccessAsUser.All"
    
  4. Ustaw zmienne konfiguracyjne:
    $domainName = "your-domain.com" # Nazwa domeny do konfiguracji federacji
    $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. Skonfiguruj federację domeny:
    New-MgDomainFederationConfiguration -DomainId $domainName `
      -IssuerUri $idpIssuer `
      -PassiveSignInUri $ssoUrl `
      -SignOutUri $sloUrl `
      -SigningCertificate $signingCertBase64 `
      -PreferredAuthenticationProtocol "saml" `
      -FederatedIdpMfaBehavior "acceptIfMfaDoneByFederatedIdp"
    
    FederatedIdpMfaBehavior można ustawić na:
    • acceptIfMfaDoneByFederatedIdp – Entra akceptuje MFA z FoxIDs; jeśli FoxIDs nie wykonało MFA, Entra wykona MFA.
    • enforceMfaByFederatedIdp – jeśli polityka wymaga MFA, Entra odeśle użytkownika do FoxIDs w celu wykonania MFA.
    • rejectMfaByFederatedIdp – Entra zawsze wykonuje MFA samodzielnie; MFA w FoxIDs jest ignorowane.
  6. Zweryfikuj konfigurację:
    Get-MgDomainFederationConfiguration -DomainId $domainName
    # or
    Get-MgDomain -DomainId $domainName | fl Id, AuthenticationType
    

4a - Następnie skonfiguruj Immutable ID użytkownika w Microsoft Entra ID przy użyciu PowerShell

  1. Uruchom PowerShell jako administrator
  2. Zainstaluj moduł PowerShell Microsoft Graph, jeśli nie jest jeszcze zainstalowany: Install-Module -Name Microsoft.Graph i wybierz A
    • Opcjonalnie zainstaluj dla bieżącego użytkownika: Install-Module Microsoft.Graph -Scope CurrentUser -Force
    • Albo zaktualizuj moduł: Update-Module -Name Microsoft.Graph i wybierz A
  3. Połącz się z Microsoft Graph: Connect-MgGraph -Scopes "Domain.ReadWrite.All"
  4. Ustaw zmienne konfiguracyjne:
    $userId = "user-id@my-domain.com" # UPN użytkownika lub Object ID
    $immutableId = "immutable-id" # Immutable ID użytkownika – zakodowany w base64.
    
  5. Skonfiguruj Immutable ID użytkownika:
    Set-MgUser -UserId $userId -OnPremisesImmutableId $immutableId
    
  6. Zweryfikuj konfigurację:
    Get-MgUser -UserId $userId | fl Id, OnPremisesImmutableId
    

Jeśli użytkownik ma już ustawiony Immutable ID, musisz przenieść użytkownika poza domenę federowaną, ustawić Immutable ID, a następnie przenieść go z powrotem do domeny federowanej.

  1. Przenieś użytkownika do domeny niefederowanej:
    $userId = "user-id@my-domain.com"
    $userIdTemp = "user-id@yourtenant.onmicrosoft.com"
    Update-MgUser -UserId $userId -UserPrincipalName $userIdTemp
    
  2. Ustaw nowe Immutable ID użytkownika:
    $immutableId = "immutable-id" # Immutable ID użytkownika – zakodowany w base64.
    Set-MgUser -UserId $userIdTemp -OnPremisesImmutableId $immutableId
    
  3. Przenieś użytkownika z powrotem do domeny federowanej:
    Update-MgUser -UserId $userIdTemp -UserPrincipalName $userId
    

4b - Alternatywnie skonfiguruj Immutable ID użytkownika w Microsoft Entra ID przez Graph API

  1. Uzyskaj token dostępu dla Microsoft Graph API z wymaganymi zakresami.
  2. Wykonaj żądanie PATCH do endpointu /users/{id | userPrincipalName} z następującym JSON-em:
    {
      "onPremisesImmutableId": "immutable-id"
    }
    
    Zastąp immutable-id docelową wartością Immutable ID zgodną z claimem NameID wysyłanym z FoxIDs.
  3. Zweryfikuj konfigurację, wykonując żądanie GET do endpointu /users/{id | userPrincipalName} i sprawdzając właściwość onPremisesImmutableId w odpowiedzi.

Jeśli użytkownik ma już ustawiony Immutable ID, musisz przenieść użytkownika poza domenę federowaną, ustawić Immutable ID, a następnie przenieść go z powrotem do domeny federowanej.

  1. Wykonaj żądanie PATCH do endpointu /users/{id | userPrincipalName} w celu zmiany userPrincipalName na domenę niefederowaną.
  2. Wykonaj żądanie PATCH, aby ustawić nowe Immutable ID.
  3. Wykonaj żądanie PATCH, aby przywrócić userPrincipalName do domeny federowanej.
  4. Zweryfikuj konfigurację, wykonując żądanie GET do endpointu /users/{id | userPrincipalName} i sprawdzając właściwość onPremisesImmutableId w odpowiedzi.

Twoja prywatność

Używamy plików cookie, aby poprawić korzystanie z naszych stron internetowych. Kliknij przycisk „Akceptuj wszystkie pliki cookie”, aby wyrazić zgodę na ich użycie. Aby zrezygnować z nieistotnych plików cookie, kliknij „Tylko niezbędne pliki cookie”.

Odwiedź naszą politykę prywatności, aby dowiedzieć się więcej