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.
- Seleziona la scheda Certificates
- Fai clic su Change Container type

- Trova Self-signed or your certificate e fai clic su Change to this container type
- Il certificato self-signed e valido 3 anni, e facoltativamente puoi caricare il tuo certificato

2 - Poi crea un'applicazione SAML 2.0 in FoxIDs Control Client
- Seleziona la scheda Applications
- Fai clic su New application
- Fai clic su Web application (SAML 2.0)
- Aggiungi il Name, ad esempio
Microsoft Entra ID - Imposta Application issuer su
urn:federation:MicrosoftOnline - Imposta Assertion consumer service (ACS) URL su
https://login.microsoftonline.com/login.srf
- Fai clic su Create
- Fai clic su Change application per aprire l'applicazione in modalita modifica
- Fai clic su Show advanced
- Imposta Authn request binding su Post
- Imposta NameID format su
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent - Imposta Optional logged out URL e Optional single logout URL su
https://login.microsoftonline.com/login.srf
- Imposta Authn response sign type su
Sign assertion
- 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
- Seleziona la scheda Claims Transform
- 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.
- Imposta New claim su
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier- che e l'URI del claim NameID - Imposta Select claim su
http://schemas.foxids.com/ws/identity/claims/immutableid - 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 claimimmutable_ide il valore dell'Immutable ID in Microsoft Entra ID, che deve essere codificato base64.
Il tipo claimimmutable_idviene mappato all'URI claim SAML 2.0http://schemas.foxids.com/ws/identity/claims/immutableidin 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.
- Apri PowerShell come amministratore
- Installa il modulo PowerShell Microsoft Graph se non e gia installato:
Install-Module -Name Microsoft.Graphe selezionaA- Facoltativamente installa per l'utente corrente:
Install-Module Microsoft.Graph -Scope CurrentUser -Force - Oppure aggiorna il modulo:
Update-Module -Name Microsoft.Graphe selezionaA
- Facoltativamente installa per l'utente corrente:
- Connettiti a Microsoft Graph:
Connect-MgGraph -Scopes "Domain.ReadWrite.All,Directory.AccessAsUser.All" - 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----- "@ - Configura la federation del dominio:
FederatedIdpMfaBehavior puo essere impostato su:New-MgDomainFederationConfiguration -DomainId $domainName ` -IssuerUri $idpIssuer ` -PassiveSignInUri $ssoUrl ` -SignOutUri $sloUrl ` -SigningCertificate $signingCertBase64 ` -PreferredAuthenticationProtocol "saml" ` -FederatedIdpMfaBehavior "acceptIfMfaDoneByFederatedIdp"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.
- 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
- Apri PowerShell come amministratore
- Installa il modulo PowerShell Microsoft Graph se non e gia installato:
Install-Module -Name Microsoft.Graphe selezionaA- Facoltativamente installa per l'utente corrente:
Install-Module Microsoft.Graph -Scope CurrentUser -Force - Oppure aggiorna il modulo:
Update-Module -Name Microsoft.Graphe selezionaA
- Facoltativamente installa per l'utente corrente:
- Connettiti a Microsoft Graph:
Connect-MgGraph -Scopes "Domain.ReadWrite.All" - 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. - Configura l'Immutable ID dell'utente:
Set-MgUser -UserId $userId -OnPremisesImmutableId $immutableId - 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.
- 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 - Imposta il nuovo Immutable ID dell'utente:
$immutableId = "immutable-id" # The user's Immutable ID - base64 encoded. Set-MgUser -UserId $userIdTemp -OnPremisesImmutableId $immutableId - 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
- Ottieni un access token per Microsoft Graph API con gli scope richiesti.
- Esegui una richiesta
PATCHall'endpoint/users/{id | userPrincipalName}con il seguente body JSON:
Sostituisci{ "onPremisesImmutableId": "immutable-id" }immutable-idcon il valore desiderato di Immutable ID che corrisponde al claim NameID inviato da FoxIDs. - Valida la configurazione eseguendo una richiesta
GETall'endpoint/users/{id | userPrincipalName}e controllando la proprietaonPremisesImmutableIdnella 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.
- Esegui una richiesta
PATCHall'endpoint/users/{id | userPrincipalName}per cambiareuserPrincipalNameverso un dominio non federato. - Esegui una richiesta
PATCHper impostare il nuovo Immutable ID. - Esegui una richiesta
PATCHper riportareuserPrincipalNameal dominio federato. - Valida la configurazione eseguendo una richiesta
GETall'endpoint/users/{id | userPrincipalName}e controllando la proprietaonPremisesImmutableIdnella risposta.