Suporte a vários domínios para federação com o Microsoft Entra ID
A documentação a seguir fornece orientação sobre como usar vários domínios e subdomínios de nível superior ao estabelecer uma federação com o Microsoft 365 ou com domínios do Microsoft Entra.
Suporte para vários domínios de nível superior
A federação de vários domínios de nível superior com o Microsoft Entra ID requer alguma configuração extra que não é necessária na federação de um único domínio de nível superior.
Quando um domínio é federado com o Microsoft Entra ID, várias propriedades são definidas no domínio no Azure. Uma delas é IssuerUri. Essa propriedade é um URI usado pelo Microsoft Entra ID para identificar o domínio ao qual o token está associado. O URI não precisa resolver para nada, mas deve ser um URI válido. Por padrão, o Microsoft Entra ID define esse URI como o valor do identificador do serviço de federação em sua configuração local do AD FS.
Observação
O identificador do serviço de federação é um URI que identifica exclusivamente um serviço de federação. O serviço de federação é uma instância do AD FS que funciona como o serviço de token de segurança.
Você pode exibir o IssuerUri usando o comando Get-MsolDomainFederationSettings -DomainName <your domain>
do PowerShell.
Observação
Os módulos Azure AD e MSOnline PowerShell estão preteridos desde 30 de março de 2024. Para saber mais, leia a atualização de preterição. Após essa data, o suporte a esses módulos se limitará à assistência à migração para o SDK do Microsoft Graph PowerShell e às correções de segurança. Os módulos preteridos continuarão funcionando até 30 de março de 2025.
Recomendamos migrar para o Microsoft Graph PowerShell para interagir com o Microsoft Entra ID (antigo Azure AD). Para perguntas comuns sobre migração, consulte as Perguntas Frequentes sobre Migração. Observação: as versões 1.0.x do MSOnline poderão sofrer interrupções após 30 de junho de 2024.
Um problema surge quando você adiciona mais de um domínio de nível superior. Por exemplo, digamos que você tenha configurado a federação entre o Microsoft Entra ID e seu ambiente local. Para este documento, usamos o domínio bmcontoso.com. Agora, adicionamos um segundo domínio de nível superior, bmfabrikam.com.
Quando você tenta converter o domínio bmfabrikam.com em federado, recebe um erro. A razão para isso é que o Microsoft Entra ID tem uma restrição que não permite que a propriedade IssuerUri tenha o mesmo valor para mais de um domínio.
Parâmetro SupportMultipleDomain
Para solucionar essa restrição, você precisa adicionar um IssuerUri diferente. Isso pode ser feito usando o parâmetro -SupportMultipleDomain
. Esse parâmetro é usado com os seguintes cmdlets:
New-MsolFederatedDomain
Convert-MsolDomaintoFederated
Update-MsolFederatedDomain
Esse parâmetro faz o Microsoft Entra ID configurar o IssuerUri para que se baseie no nome do domínio. Esse IssuerUri será exclusivo nos diretórios no Microsoft Entra ID. O uso do parâmetro permite que o comando do PowerShell seja concluído com êxito.
-SupportMultipleDomain
não altera os outros pontos de extremidade, que ainda estão configurados para apontar para o serviço de federação em adfs.bmcontoso.com.
O -SupportMultipleDomain
também garante que o sistema do AD FS inclua o valor de emissor adequado em tokens emitidos para o Microsoft Entra ID. Esse valor é definido colocando a parte do domínio do UPN do usuário e usando-o como o domínio no IssuerUri, ou seja, https://{upn suffix}/adfs/services/trust
.
Portanto, durante a autenticação no Microsoft Entra ID ou Microsoft 365, o elemento IssuerUri no token do usuário é usado para localizar o domínio no Microsoft Entra ID. Se não for possível encontrar uma correspondência, a autenticação falhará.
Por exemplo, se o UPN de um usuário for bsimon@bmcontoso.com, o elemento IssuerUri as emissões do AD FS de token será definido como http://bmcontoso.com/adfs/services/trust
. Esse elemento corresponde à configuração do Microsoft Entra, e à autenticação é bem-sucedida.
A seguinte regra de declaração personalizada implementa essa lógica:
c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, ".+@(?<domain>.+)", "http://${domain}/adfs/services/trust/"));
Importante
Para usar a opção -SupportMultipleDomain quando tentar adicionar um novo domínio ou converter domínios já existentes, você já precisa ter sua confiança federada configurada para dar suporte a eles.
Como atualizar a relação de confiança entre o AD FS e o Microsoft Entra ID
Se você não tiver configurado a confiança federada entre o AD FS e a instância do Microsoft Entra ID, será preciso recriá-la. O motivo é que, quando ele é originalmente configurado sem o parâmetro -SupportMultipleDomain
, o IssuerUri é definido com o valor padrão. Na captura de tela abaixo, veja o IssuerUri definido como https://adfs.bmcontoso.com/adfs/services/trust
.
Se você tiver adicionado com êxito um novo domínio no centro de administração do Microsoft Entra e depois tentar convertê-lo usando Convert-MsolDomaintoFederated -DomainName <your domain>
, receberá o seguinte erro.
Se você tentar adicionar a chave -SupportMultipleDomain
, receberá o seguinte erro:
A simples tentativa de executar Update-MsolFederatedDomain -DomainName <your domain> -SupportMultipleDomain
no domínio original também resultará em erro.
Use as etapas a seguir para adicionar mais um domínio de nível superior. Se você já adicionou um domínio e não usou o parâmetro -SupportMultipleDomain
, comece com as etapas para remover e atualizar o domínio original. Se você ainda não tiver adicionado um domínio de nível superior, poderá começar com as etapas para adicionar um domínio usando o PowerShell do Microsoft Entra Connect.
Use as etapas a seguir para remover a relação de confiança do Microsoft Online e atualizar o domínio original.
- No servidor de federação do AD FS, abra Gerenciamento do AD FS.
- À esquerda, expanda Relações de Confiança e Objeto de Confiança de Terceira Parte Confiável.
- À direita, exclua a entrada Plataforma de Identidade do Microsoft Office 365 .
- Em um computador que tenha o módulo do PowerShell do Azure AD instalado, execute o seguinte PowerShell:
$cred=Get-Credential
. - Insira o nome de usuário e a senha de um Administrador de Identidade Híbrida para o domínio do Microsoft Entra com o qual você está federando.
- No PowerShell, insira
Connect-MsolService -Credential $cred
. - No PowerShell, insira
Update-MSOLFederatedDomain -DomainName <Federated Domain Name> -SupportMultipleDomain
. Essa atualização é para o domínio original. Usando os domínios acima, seria:Update-MsolFederatedDomain -DomainName bmcontoso.com -SupportMultipleDomain
Use as etapas a seguir para adicionar o novo domínio de nível superior usando o PowerShell
- Em um computador que tenha o módulo do PowerShell do Azure AD instalado, execute o seguinte PowerShell:
$cred=Get-Credential
. - Insira o nome de usuário e a senha de um Administrador de Identidade Híbrida para o domínio do Microsoft Entra com o qual você está federando
- No PowerShell, insira
Connect-MsolService -Credential $cred
- No PowerShell, insira
New-MsolFederatedDomain –SupportMultipleDomain –DomainName
Use as etapas a seguir para adicionar o novo domínio de nível superior usando o Microsoft Entra Connect.
- Inicie o Microsoft Entra Connect na área de trabalho ou no menu Iniciar
- Escolha a
- Insira seu Microsoft Entra ID e as credenciais do Active Directory
- Escolha o segundo domínio que você deseja configurar para federação.
- Clique em Instalar
Verifique o novo domínio de nível superior
Usando o comando Get-MsolDomainFederationSettings -DomainName <your domain>
do PowerShell, você pode exibir o IssuerUri atualizado. A captura de tela abaixo mostra que as configurações de federação foram atualizadas no domínio original http://bmcontoso.com/adfs/services/trust
E o IssuerUri no novo domínio foi sido definido como https://bmcontoso.com/adfs/services/trust
Suporte para subdomínios
Quando você adiciona um subdomínio, devido à maneira usada pelo Microsoft Entra ID para tratar domínios, ele herda as configurações do pai. Por isso, o IssuerUri precisa corresponder aos pais.
Digamos, por exemplo, que eu tenha bmcontoso.com e adicione corp.bmcontoso.com. O IssuerUri de um usuário de corp.bmcontoso.com precisa ser http://bmcontoso.com/adfs/services/trust
. No entanto, a regra padrão implementada acima para a o Microsoft Entra ID gera um token com um emissor como http://corp.bmcontoso.com/adfs/services/trust
, que não corresponderá ao valor necessário do domínio e a autenticação falhará.
Como habilitar o suporte para subdomínios
Para solucionar esse comportamento, a relação de confiança de terceira parte confiável do AD FS do Microsoft Online precisa ser atualizada. Para isso, você precisa configurar a regra de declaração personalizada para que ela ignore os subdomínios do sufixo UPN do usuário ao construir o valor de Issuer personalizado.
Use a seguinte declaração:
c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, "^.*@([^.]+\.)*?(?<domain>([^.]+\.?){2})$", "http://${domain}/adfs/services/trust/"));
[!NOTE] O último número na expressão regular definida representa quantos domínios pai há em seu domínio raiz. Aqui usamos bmcontoso.com, então são necessários dois domínios pai. Se você tiver três domínios pai (ou seja, corp.bmcontoso.com), então o número seria três. Por fim, pode ser indicado um intervalo. A quantidade máxima deve corresponder ao máximo de domínios. "{2,3}" corresponde a dois ou três domínios (ou seja, bmfabrikam.com e corp.bmcontoso.com).
Use as etapas a seguir para adicionar uma declaração personalizada que dê suporte aos subdomínios.
- Abra o gerenciamento do AD FS
- Clique com botão direito do mouse na relação de confiança de terceira parte confiável do Microsoft Online e escolha Editar regras de declaração
- Escolha a terceira regra de declaração e substitua
- Substitua a declaração atual:
c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, ".+@(?<domain>.+)","http://${domain}/adfs/services/trust/"));
por
c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, "^.*@([^.]+\.)*?(?<domain>([^.]+\.?){2})$", "http://${domain}/adfs/services/trust/"));
- Clique em OK. Clique em Aplicar. Clique em OK. Feche o gerenciamento do AD FS.
Próximas etapas
Agora que você tem o Microsoft Entra Connect instalado, é possível verificar a instalação e atribuir licenças.
Saiba mais sobre estes recursos, que foram habilitados com a instalação: Atualização automática, impedir exclusões acidentais e Microsoft Entra Connect Health.
Saiba mais sobre estes tópicos comuns: Agendador e como disparar a sincronização.
Saiba mais sobre Integrar suas identidades locais com o Microsoft Entra ID.