Ligar Microsoft Entra ID com SAML 2.0
Ligue o FoxIDs como identity provider externo para Microsoft Entra ID com SAML 2.0.
Se o FoxIDs substituir o AD FS para a federação de domínio do Microsoft Entra ID, Ligar Microsoft Entra ID com WS-Federation é o método preferido e recomendado. O Microsoft Entra ID trata o FoxIDs como um STS WS-Federation ao estilo do AD FS, dando aos fluxos de início de sessão da Microsoft e do Windows a compatibilidade que esperam do AD FS.
Configurar o FoxIDs
Este guia descreve como configurar o FoxIDs como identity provider externo para Microsoft Entra ID. Os utilizadores são ligados a utilizadores do Microsoft Entra ID através do respetivo Immutable ID.
1 - Comece por configurar um certificado no FoxIDs Control Client
É necessário carregar no Microsoft Entra ID o certificado de assinatura SAML 2.0 usado no FoxIDs. Por isso, é necessário usar no FoxIDs um certificado de longa duração, por exemplo válido durante 3 anos.
- Selecione o separador Certificates
- Clique em Change Container type

- Encontre Self-signed or your certificate e clique em Change to this container type
- O certificado self-signed é válido durante 3 anos e, opcionalmente, pode carregar o seu próprio certificado

2 - Depois crie uma aplicação SAML 2.0 no FoxIDs Control Client
- Selecione o separador Applications
- Clique em New application
- Clique em Web application (SAML 2.0)
- Adicione o Name, por exemplo
Microsoft Entra ID - Defina Application issuer como
urn:federation:MicrosoftOnline - Defina Assertion consumer service (ACS) URL como
https://login.microsoftonline.com/login.srf
- Clique em Create
- Clique em Change application para abrir a aplicação em modo de edição
- Clique em Show advanced
- Defina Authn request binding como Post
- Defina NameID format como
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent - Defina Optional logged out URL e Optional single logout URL como
https://login.microsoftonline.com/login.srf
- Defina Authn response sign type como
Sign assertion
- Vá ao topo da aplicação, encontre a secção Application information e clique em Show more
- Copie o IdP Issuer
- Copie o Single Sign-On URL
- Copie o Single Logout URL
- Copie o IdP Signing Certificate em formato Base64
- Selecione o separador Claims Transform
- Clique em Add claim transform e clique em Map para adicionar um claim NameID com o Immutable ID do utilizador correspondente ao Immutable ID do utilizador Microsoft Entra ID.
- Defina New claim como
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier- que é o URI do claim NameID - Defina Select claim como
http://schemas.foxids.com/ws/identity/claims/immutableid - Clique em Update
Tem de definir o Immutable ID do utilizador como claim no FoxIDs.
Para definir o Immutable ID num utilizador interno, selecione o separador Users e depois o separador Internal Users, encontre o utilizador e adicione um claim com o tipoimmutable_ide o valor do Immutable ID no Microsoft Entra ID - deve estar codificado em base64.
O tipo de claimimmutable_idé mapeado para o URI de claim SAML 2.0http://schemas.foxids.com/ws/identity/claims/immutableidno FoxIDs.
Configurar Microsoft Entra ID
3 - Depois configure a federation do domínio no Microsoft Entra ID com PowerShell
Não é possível configurar um identity provider SAML 2.0 externo no portal Microsoft Entra ID. Tem de usar PowerShell.
- Abra o PowerShell como administrador
- Instale o módulo PowerShell Microsoft Graph se ainda não estiver instalado:
Install-Module -Name Microsoft.Graphe selecioneA- Opcionalmente, instale para o utilizador atual:
Install-Module Microsoft.Graph -Scope CurrentUser -Force - Ou atualize o módulo:
Update-Module -Name Microsoft.Graphe selecioneA
- Opcionalmente, instale para o utilizador atual:
- Ligue-se ao Microsoft Graph:
Connect-MgGraph -Scopes "Domain.ReadWrite.All,Directory.AccessAsUser.All" - Defina as variáveis de configuração:
$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----- "@ - Configure a federation do domínio:
FederatedIdpMfaBehavior pode ser definido como:New-MgDomainFederationConfiguration -DomainId $domainName ` -IssuerUri $idpIssuer ` -PassiveSignInUri $ssoUrl ` -SignOutUri $sloUrl ` -SigningCertificate $signingCertBase64 ` -PreferredAuthenticationProtocol "saml" ` -FederatedIdpMfaBehavior "acceptIfMfaDoneByFederatedIdp"acceptIfMfaDoneByFederatedIdp- o Entra aceita MFA do FoxIDs; se o FoxIDs não tiver feito MFA, o Entra fá-lo-á.enforceMfaByFederatedIdp- se uma policy exigir MFA, o Entra reenviará o utilizador para o FoxIDs para concluir MFA.rejectMfaByFederatedIdp- o Entra faz sempre MFA por si; a MFA no FoxIDs é ignorada.
- Valide a configuração:
Get-MgDomainFederationConfiguration -DomainId $domainName # or Get-MgDomain -DomainId $domainName | fl Id, AuthenticationType
4a - Depois configure o Immutable ID do utilizador no Microsoft Entra ID com PowerShell
- Abra o PowerShell como administrador
- Instale o módulo PowerShell Microsoft Graph se ainda não estiver instalado:
Install-Module -Name Microsoft.Graphe selecioneA- Opcionalmente, instale para o utilizador atual:
Install-Module Microsoft.Graph -Scope CurrentUser -Force - Ou atualize o módulo:
Update-Module -Name Microsoft.Graphe selecioneA
- Opcionalmente, instale para o utilizador atual:
- Ligue-se ao Microsoft Graph:
Connect-MgGraph -Scopes "Domain.ReadWrite.All" - Defina as variáveis de configuração:
$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. - Configure o Immutable ID do utilizador:
Set-MgUser -UserId $userId -OnPremisesImmutableId $immutableId - Valide a configuração:
Get-MgUser -UserId $userId | fl Id, OnPremisesImmutableId
Se o utilizador já tiver um Immutable ID definido, precisa de mover o utilizador para fora do domínio federado, definir o Immutable ID e depois mover o utilizador de volta para o domínio federado.
- Mova o utilizador para um domínio não federado:
$userId = "user-id@my-domain.com" $userIdTemp = "user-id@yourtenant.onmicrosoft.com" Update-MgUser -UserId $userId -UserPrincipalName $userIdTemp - Defina o novo Immutable ID do utilizador:
$immutableId = "immutable-id" # The user's Immutable ID - base64 encoded. Set-MgUser -UserId $userIdTemp -OnPremisesImmutableId $immutableId - Mova o utilizador de volta para o domínio federado:
Update-MgUser -UserId $userIdTemp -UserPrincipalName $userId
4b - Ou, em alternativa, configure o Immutable ID do utilizador no Microsoft Entra ID com Graph API
- Obtenha um access token para a Microsoft Graph API com os scopes necessários.
- Faça um pedido
PATCHao endpoint/users/{id | userPrincipalName}com o seguinte body JSON:
Substitua{ "onPremisesImmutableId": "immutable-id" }immutable-idpelo valor pretendido de Immutable ID que corresponde ao claim NameID enviado pelo FoxIDs. - Valide a configuração fazendo um pedido
GETao endpoint/users/{id | userPrincipalName}e verificando a propriedadeonPremisesImmutableIdna resposta.
Se o utilizador já tiver um Immutable ID definido, precisa de mover o utilizador para fora do domínio federado, definir o Immutable ID e depois mover o utilizador de volta para o domínio federado.
- Faça um pedido
PATCHao endpoint/users/{id | userPrincipalName}para alterar ouserPrincipalNamepara um domínio não federado. - Faça um pedido
PATCHpara definir o novo Immutable ID. - Faça um pedido
PATCHpara alterar ouserPrincipalNamede volta para o domínio federado. - Valide a configuração fazendo um pedido
GETao endpoint/users/{id | userPrincipalName}e verificando a propriedadeonPremisesImmutableIdna resposta.