Collegare Microsoft Entra ID con SAML 2.0

Collega FoxIDs come identity provider esterno per Microsoft Entra ID con SAML 2.0.

Se FoxIDs sostituisce AD FS per la federazione del dominio Microsoft Entra ID, Collegare Microsoft Entra ID con WS-Federation è il metodo preferito e consigliato. Microsoft Entra ID tratta FoxIDs come un STS WS-Federation in stile AD FS, offrendo ai flussi di accesso Microsoft e Windows la compatibilità che si aspettano da AD FS.

Configurare FoxIDs

Questa guida descrive come configurare FoxIDs come identity provider esterno per Microsoft Entra ID. Gli utenti vengono collegati agli utenti Microsoft Entra ID tramite il loro Immutable ID.

1 - Inizia configurando un certificato in FoxIDs Control Client

E necessario caricare in Microsoft Entra ID il certificato di firma SAML 2.0 usato in FoxIDs. Per questo motivo e necessario usare in FoxIDs un certificato a lunga durata, ad esempio valido 3 anni.

  1. Seleziona la scheda Certificates
  2. Fai clic su Change Container type Change certificate container type in FoxIDs
  3. Trova Self-signed or your certificate e fai clic su Change to this container type
  4. Il certificato self-signed e valido 3 anni, e facoltativamente puoi caricare il tuo certificato Change certificate in FoxIDs

2 - Poi crea un'applicazione SAML 2.0 in FoxIDs Control Client

  1. Seleziona la scheda Applications
  2. Fai clic su New application
  3. Fai clic su Web application (SAML 2.0)
  4. Aggiungi il Name, ad esempio Microsoft Entra ID
  5. Imposta Application issuer su urn:federation:MicrosoftOnline
  6. Imposta Assertion consumer service (ACS) URL su https://login.microsoftonline.com/login.srf Add issuer and ACS in FoxIDs
  7. Fai clic su Create
  8. Fai clic su Change application per aprire l'applicazione in modalita modifica
  9. Fai clic su Show advanced
  10. Imposta Authn request binding su Post
  11. Imposta NameID format su urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
  12. Imposta Optional logged out URL e Optional single logout URL su https://login.microsoftonline.com/login.srf Set binding, NameID format, and logout URLs in FoxIDs
  13. Imposta Authn response sign type su Sign assertion Sign the assertion
  14. Vai in cima all'applicazione, trova la sezione Application information e fai clic su Show more
    • Copia IdP Issuer
    • Copia Single Sign-On URL
    • Copia Single Logout URL
    • Copia IdP Signing Certificate in formato Base64
  15. Seleziona la scheda Claims Transform
  16. Fai clic su Add claim transform e fai clic su Map per aggiungere un claim NameID con l'Immutable ID dell'utente che corrisponde all'Immutable ID dell'utente Microsoft Entra ID.
  17. Imposta New claim su http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier - che e l'URI del claim NameID
  18. Imposta Select claim su http://schemas.foxids.com/ws/identity/claims/immutableid
  19. Fai clic su Update

Devi impostare l'Immutable ID dell'utente come claim in FoxIDs.
Per impostare l'Immutable ID su un utente interno, seleziona la scheda Users e poi la scheda Internal Users, trova l'utente e aggiungi un claim con tipo claim immutable_id e il valore dell'Immutable ID in Microsoft Entra ID, che deve essere codificato base64.
Il tipo claim immutable_id viene mappato all'URI claim SAML 2.0 http://schemas.foxids.com/ws/identity/claims/immutableid in FoxIDs.

Configurare Microsoft Entra ID

3 - Poi configura la federation del dominio in Microsoft Entra ID con PowerShell

Non e possibile configurare un identity provider SAML 2.0 esterno nel portale Microsoft Entra ID. Devi usare PowerShell.

  1. Apri PowerShell come amministratore
  2. Installa il modulo PowerShell Microsoft Graph se non e gia installato: Install-Module -Name Microsoft.Graph e seleziona A
    • Facoltativamente installa per l'utente corrente: Install-Module Microsoft.Graph -Scope CurrentUser -Force
    • Oppure aggiorna il modulo: Update-Module -Name Microsoft.Graph e seleziona A
  3. Connettiti a Microsoft Graph:
    Connect-MgGraph -Scopes "Domain.ReadWrite.All,Directory.AccessAsUser.All"
    
  4. Imposta le variabili di configurazione:
    $domainName = "your-domain.com" # The domain name to configure federation for
    $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. Configura la federation del dominio:
    New-MgDomainFederationConfiguration -DomainId $domainName `
      -IssuerUri $idpIssuer `
      -PassiveSignInUri $ssoUrl `
      -SignOutUri $sloUrl `
      -SigningCertificate $signingCertBase64 `
      -PreferredAuthenticationProtocol "saml" `
      -FederatedIdpMfaBehavior "acceptIfMfaDoneByFederatedIdp"
    
    FederatedIdpMfaBehavior puo essere impostato su:
    • acceptIfMfaDoneByFederatedIdp - Entra accetta MFA da FoxIDs; se FoxIDs non ha eseguito MFA, la eseguira Entra.
    • enforceMfaByFederatedIdp - Se una policy richiede MFA, Entra rimandera l'utente a FoxIDs per completare MFA.
    • rejectMfaByFederatedIdp - Entra esegue sempre MFA da sola; l'MFA in FoxIDs viene ignorato.
  6. Valida la configurazione:
    Get-MgDomainFederationConfiguration -DomainId $domainName
    # or
    Get-MgDomain -DomainId $domainName | fl Id, AuthenticationType
    

4a - Poi configura l'Immutable ID dell'utente in Microsoft Entra ID con PowerShell

  1. Apri PowerShell come amministratore
  2. Installa il modulo PowerShell Microsoft Graph se non e gia installato: Install-Module -Name Microsoft.Graph e seleziona A
    • Facoltativamente installa per l'utente corrente: Install-Module Microsoft.Graph -Scope CurrentUser -Force
    • Oppure aggiorna il modulo: Update-Module -Name Microsoft.Graph e seleziona A
  3. Connettiti a Microsoft Graph: Connect-MgGraph -Scopes "Domain.ReadWrite.All"
  4. Imposta le variabili di configurazione:
    $userId = "user-id@my-domain.com" # The user's User Principal Name (UPN) or the Object ID
    $immutableId = "immutable-id" # The user's Immutable ID - base64 encoded.
    
  5. Configura l'Immutable ID dell'utente:
    Set-MgUser -UserId $userId -OnPremisesImmutableId $immutableId
    
  6. Valida la configurazione:
    Get-MgUser -UserId $userId | fl Id, OnPremisesImmutableId
    

Se l'utente ha gia un Immutable ID impostato, devi spostare l'utente fuori dal dominio federato, impostare l'Immutable ID e poi riportare l'utente nel dominio federato.

  1. Sposta l'utente in un dominio non federato:
    $userId = "user-id@my-domain.com"
    $userIdTemp = "user-id@yourtenant.onmicrosoft.com"
    Update-MgUser -UserId $userId -UserPrincipalName $userIdTemp
    
  2. Imposta il nuovo Immutable ID dell'utente:
    $immutableId = "immutable-id" # The user's Immutable ID - base64 encoded.
    Set-MgUser -UserId $userIdTemp -OnPremisesImmutableId $immutableId
    
  3. Riporta l'utente al dominio federato:
    Update-MgUser -UserId $userIdTemp -UserPrincipalName $userId
    

4b - In alternativa configura l'Immutable ID dell'utente in Microsoft Entra ID con Graph API

  1. Ottieni un access token per Microsoft Graph API con gli scope richiesti.
  2. Esegui una richiesta PATCH all'endpoint /users/{id | userPrincipalName} con il seguente body JSON:
    {
      "onPremisesImmutableId": "immutable-id"
    }
    
    Sostituisci immutable-id con il valore desiderato di Immutable ID che corrisponde al claim NameID inviato da FoxIDs.
  3. Valida la configurazione eseguendo una richiesta GET all'endpoint /users/{id | userPrincipalName} e controllando la proprieta onPremisesImmutableId nella risposta.

Se l'utente ha gia un Immutable ID impostato, devi spostare l'utente fuori dal dominio federato, impostare l'Immutable ID e poi riportare l'utente nel dominio federato.

  1. Esegui una richiesta PATCH all'endpoint /users/{id | userPrincipalName} per cambiare userPrincipalName verso un dominio non federato.
  2. Esegui una richiesta PATCH per impostare il nuovo Immutable ID.
  3. Esegui una richiesta PATCH per riportare userPrincipalName al dominio federato.
  4. Valida la configurazione eseguendo una richiesta GET all'endpoint /users/{id | userPrincipalName} e controllando la proprieta onPremisesImmutableId nella risposta.
La tua privacy

La tua privacy

Usiamo i cookie per migliorare la tua esperienza sui nostri siti. Fai clic sul pulsante 'Accetta tutti i cookie' per acconsentire all'uso dei cookie. Per rifiutare i cookie non essenziali, fai clic su 'Solo cookie necessari'.

Visita la nostra pagina di Informativa sulla privacy per saperne di più