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.

Captura de tela que mostra os resultados depois de inserir o comando

Observação

Os módulos Azure AD e MSOnline do 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, confira 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.

Uma captura de tela que mostra vários domínios de nível superior

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.

Captura de tela que mostra um erro de federação no PowerShell.

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.

Captura de tela que mostra uma conclusão bem-sucedida do comando do PowerShell.

Analisando a captura de tela do domínio bmfabrikam.com, dá para visualizar as seguintes configurações:

Captura de tela que mostra as configurações do domínio

-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 corresponderá à configuração do Microsoft Entra, e à autenticação será 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.

Captura de tela que mostra um erro de federação no PowerShell depois de tentar converter um novo domínio com o comando

Se você tentar adicionar a chave -SupportMultipleDomain, receberá o seguinte erro:

Captura de tela que mostra um erro de federação depois de adicionar a opção

A simples tentativa de executar Update-MsolFederatedDomain -DomainName <your domain> -SupportMultipleDomain no domínio original também resultará em erro.

Erro de federação

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 seu domínio original.

  1. No servidor de federação do AD FS, abra Gerenciamento do AD FS.
  2. À esquerda, expanda Relações de Confiança e Objeto de Confiança de Terceira Parte Confiável.
  3. À direita, exclua a entrada Plataforma de Identidade do Microsoft Office 365 . Remover o Microsoft Online
  4. Em um computador que tenha o módulo do PowerShell do Azure AD instalado, execute o seguinte PowerShell: $cred=Get-Credential.
  5. 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.
  6. No PowerShell, insira Connect-MsolService -Credential $cred.
  7. 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

  1. Em um computador que tenha o módulo do PowerShell do Azure AD instalado, execute o seguinte PowerShell: $cred=Get-Credential.
  2. 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
  3. No PowerShell, insira Connect-MsolService -Credential $cred
  4. 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.

  1. Inicie o Microsoft Entra Connect na área de trabalho ou no menu Iniciar
  2. Escolha a Captura de Tela “Adicionar um Domínio do Microsoft Entra” que mostra a página
  3. Insira seu Microsoft Entra ID e as credenciais do Active Directory
  4. Escolha o segundo domínio que você deseja configurar para federação. Adicionar um domínio adicional do Microsoft Entra
  5. 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

Captura de tela que mostra que as configurações de federação atualizadas no domínio original.

E o IssuerUri no novo domínio foi sido definido como https://bmcontoso.com/adfs/services/trust

Get-MsolDomainFederationSettings

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 precisará ser http://bmcontoso.com/adfs/services/trust . No entanto, a regra padrão implementada acima para o Microsoft Entra ID vai gerar um token com um emissor como http://corp.bmcontoso.com/adfs/services/trust. que não corresponderá ao valor requerido pelo 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. Eventualmente, pode ser indicado um intervalo. A quantidade máxima sempre deve corresponder ao máximo de domínios. "{2,3}" corresponderá de dois a 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 a subdomínios.

  1. Abra o gerenciamento do AD FS

  2. 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

  3. Escolha a terceira regra de declaração e substitua Editar declaração

  4. 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/"));
    

    Substituir declaração

  5. 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.