Suporte a Vários Domínios para Federação com o Azure ADMultiple Domain Support for Federating with Azure AD

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 Office 365 ou com domínios do Azure AD.The following documentation provides guidance on how to use multiple top-level domains and subdomains when federating with Office 365 or Azure AD domains.

Suporte para vários domínios de nível superiorMultiple top-level domain support

A federação de vários domínios de nível superior com o Azure AD requer configuração adicional que não é necessária na federação de um único domínio de nível superior.Federating multiple, top-level domains with Azure AD requires some additional configuration that is not required when federating with one top-level domain.

Quando um domínio é federado com o Azure AD, várias propriedades são definidas no domínio no Azure.When a domain is federated with Azure AD, several properties are set on the domain in Azure. Uma delas é IssuerUri.One important one is IssuerUri. Essa propriedade é um URI usado pelo Azure AD para identificar o domínio ao qual o token está associado.This property is a URI that is used by Azure AD to identify the domain that the token is associated with. O URI não precisa resolver para nada, mas deve ser um URI válido.The URI doesn’t need to resolve to anything but it must be a valid URI. Por padrão, o Azure AD define esse URI como o valor do identificador do serviço de federação em sua configuração local do AD FS.By default, Azure AD sets the URI to the value of the federation service identifier in your on-premises AD FS configuration.

Observação

O identificador do serviço de federação é um URI que identifica exclusivamente um serviço de federação.The federation service identifier is a URI that uniquely identifies a federation service. O serviço de federação é uma instância do AD FS que funciona como o serviço de token de segurança.The federation service is an instance of AD FS that functions as the security token service.

Você pode exibir o IssuerUri usando o comando Get-MsolDomainFederationSettings -DomainName <your domain> do PowerShell.You can view the IssuerUri by using the PowerShell command Get-MsolDomainFederationSettings -DomainName <your domain>.

Get-MsolDomainFederationSettings

Um problema surge quando você adiciona mais de um domínio de nível superior.A problem arises when you add more than one top-level domain. Por exemplo, digamos que você tenha configurado a federação entre o Azure AD e seu ambiente local.For example, let's say you have set up federation between Azure AD and your on-premises environment. Para este documento, usamos o domínio bmcontoso.com.For this document, the domain, bmcontoso.com is being used. Agora, adicionamos um segundo domínio de nível superior, bmfabrikam.com.Now a second, top-level domain, bmfabrikam.com has been added.

Domínios

Quando você tenta converter o domínio bmfabrikam.com em federado, recebe um erro.When you attempt to convert the bmfabrikam.com domain to be federated, an error occurs. A razão para isso é que o Azure AD tem uma restrição que não permite que a propriedade IssuerUri tenha o mesmo valor para mais de um domínio.The reason is, Azure AD has a constraint that does not allow the IssuerUri property to have the same value for more than one domain.

Erro de federação

Parâmetro SupportMultipleDomainSupportMultipleDomain Parameter

Para solucionar essa restrição, você precisa adicionar um IssuerUri diferente. Isso pode ser feito usando o parâmetro -SupportMultipleDomain.To work around this constraint, you need to add a different IssuerUri, which can be done by using the -SupportMultipleDomain parameter. Esse parâmetro é usado com os seguintes cmdlets:This parameter is used with the following cmdlets:

  • New-MsolFederatedDomain
  • Convert-MsolDomaintoFederated
  • Update-MsolFederatedDomain

Esse parâmetro faz o Azure AD configurar o IssuerUri para se basear no nome do domínio.This parameter makes Azure AD configure the IssuerUri so that it is based on the name of the domain. Esse IssuerUri será exclusivo nos diretórios no Azure AD.The IssuerUri will be unique across directories in Azure AD. O uso do parâmetro permite que o comando do PowerShell seja concluído com êxito.Using the parameter allows the PowerShell command to complete successfully.

Erro de federação

Analisando as configurações do domínio bmfabrikam.com, dá para ver o seguinte:Looking at the settings for the bmfabrikam.com domain you can see the following:

Erro de federação

-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.-SupportMultipleDomain does not change the other endpoints, which are still configured to point to the federation service on adfs.bmcontoso.com.

O -SupportMultipleDomain também garante que o sistema de AD FS inclua o valor de emissor adequado em tokens emitidos para o Azure AD.Another thing that -SupportMultipleDomain does is that it ensures that the AD FS system includes the proper Issuer value in tokens issued for Azure AD. Esse valor é definido usando a parte do domínio do UPN dos usuários e configurando-o como o domínio no IssuerUri, ou seja, https://{upn suffix}/adfs/services/trust.This value is set by taking the domain portion of the users UPN and setting it as the domain in the IssuerUri, i.e. https://{upn suffix}/adfs/services/trust.

Dessa forma, durante a autenticação no Azure AD ou Office 365, o elemento IssuerURI no token do usuário é usado para localizar o domínio no Azure AD.Thus during authentication to Azure AD or Office 365, the IssuerUri element in the user’s token is used to locate the domain in Azure AD. Se não houver correspondência, a autenticação falhará.If, a match cannot be found, the authentication will fail.

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.For example, if a user’s UPN is bsimon@bmcontoso.com, the IssuerUri element in the token, AD FS issues, will be set to http://bmcontoso.com/adfs/services/trust. Esse elemento corresponderá à configuração do Azure AD, e à autenticação será bem-sucedida.This element will match the Azure AD configuration, and authentication will succeed.

Abaixo vemos a regra de declaração personalizada que implementa essa lógica:The following is the customized claim rule that implements this logic:

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.In order to use the -SupportMultipleDomain switch when attempting to add new or convert already existing domains, your federated trust needs to have already been set up to support them.

Como atualizar a relação de confiança entre o AD FS e o Azure ADHow to update the trust between AD FS and Azure AD

Se você não tiver configurado a confiança federada entre o AD FS e a instância do Azure AD, será preciso recriá-la.If you did not set up the federated trust between AD FS and your instance of Azure AD, you may need to re-create this trust. Isso ocorre porque quando ela é originalmente configurada sem o parâmetro -SupportMultipleDomain, o IssuerUri é definido com o valor padrão.The reason is, when it is originally set up without the -SupportMultipleDomain parameter, the IssuerUri is set with the default value. Na captura de tela abaixo, veja o IssuerUri definido como https://adfs.bmcontoso.com/adfs/services/trust.In the screenshot below, you can see the IssuerUri is set to https://adfs.bmcontoso.com/adfs/services/trust.

Se você conseguir adicionar um novo domínio no Portal do Azure AD e tentar convertê-lo usando Convert-MsolDomaintoFederated -DomainName <your domain>, obterá o seguinte erro.If you have successfully added a new domain in the Azure AD portal and then attempt to convert it using Convert-MsolDomaintoFederated -DomainName <your domain>, you will get the following error.

Erro de federação

Se você tentar adicionar a opção -SupportMultipleDomain, receberá o seguinte erro:If you try to add the -SupportMultipleDomain switch, you will receive the following error:

Erro de federação

A simples tentativa de executar Update-MsolFederatedDomain -DomainName <your domain> -SupportMultipleDomain no domínio original também resultará em erro.Simply trying to run Update-MsolFederatedDomain -DomainName <your domain> -SupportMultipleDomain on the original domain will also result in an error.

Erro de federação

Use as etapas a seguir para adicionar mais um domínio de nível superior.Use the steps below to add an additional top-level domain. Se você já tiver adicionado um domínio e não usou o parâmetro -SupportMultipleDomain, utilize as etapas para remover e atualizar o domínio original.If you have already added a domain, and did not use the -SupportMultipleDomain parameter, start with the steps for removing and updating your original domain. 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 Azure AD Connect.If you have not added a top-level domain yet, you can start with the steps for adding a domain using PowerShell of Azure AD Connect.

Use as etapas a seguir para remover a relação de confiança do Microsoft Online e atualizar seu domínio original.Use the following steps to remove the Microsoft Online trust and update your original domain.

  1. No servidor de Federação do AD FS, abra Gerenciamento do AD FS.On your AD FS federation server open AD FS Management.
  2. À esquerda, expanda Relações de Confiança e Terceira Parte ConfiávelOn the left, expand Trust Relationships and Relying Party Trusts
  3. À direita, exclua a entrada Plataforma de Identidade do Microsoft Office 365 .On the right, delete the Microsoft Office 365 Identity Platform entry. Remover o Microsoft OnlineRemove Microsoft Online
  4. Em um computador que tenha o Módulo do Azure Active Directory para Windows PowerShell instalado, execute o seguinte: $cred=Get-Credential.On a machine that has Azure Active Directory Module for Windows PowerShell installed on it run the following: $cred=Get-Credential.
  5. Insira o nome de usuário e a senha de um administrador global para o domínio do Azure AD com o qual você está federando.Enter the username and password of a global administrator for the Azure AD domain you are federating with.
  6. No PowerShell, insira Connect-MsolService -Credential $credIn PowerShell, enter Connect-MsolService -Credential $cred
  7. No PowerShell, insira Update-MSOLFederatedDomain -DomainName <Federated Domain Name> -SupportMultipleDomain.In PowerShell, enter Update-MSOLFederatedDomain -DomainName <Federated Domain Name> -SupportMultipleDomain. Essa atualização é para o domínio original.This update is for the original domain. Usando os domínios acima, seria: Update-MsolFederatedDomain -DomainName bmcontoso.com -SupportMultipleDomainSo using the above domains it would be: Update-MsolFederatedDomain -DomainName bmcontoso.com -SupportMultipleDomain

Use as etapas a seguir para adicionar o novo domínio de nível superior usando o PowerShellUse the following steps to add the new top-level domain using PowerShell

  1. Em um computador que tenha o Módulo do Azure Active Directory para Windows PowerShell instalado, execute o seguinte: $cred=Get-Credential.On a machine that has Azure Active Directory Module for Windows PowerShell installed on it run the following: $cred=Get-Credential.
  2. Insira o nome de usuário e a senha de um administrador global para o domínio do Azure AD com o qual você está federandoEnter the username and password of a global administrator for the Azure AD domain you are federating with
  3. No PowerShell, insira Connect-MsolService -Credential $credIn PowerShell, enter Connect-MsolService -Credential $cred
  4. No PowerShell, insira New-MsolFederatedDomain –SupportMultipleDomain –DomainNameIn PowerShell, enter New-MsolFederatedDomain –SupportMultipleDomain –DomainName

Use as etapas a seguir para adicionar o novo domínio de nível superior usando o Azure AD Connect.Use the following steps to add the new top-level domain using Azure AD Connect.

  1. Inicie o Azure AD Connect na área de trabalho ou no menu IniciarLaunch Azure AD Connect from the desktop or start menu
  2. Escolha "Adicionar um domínio do Azure AD" Adicionar um domínio do Azure ADChoose “Add an additional Azure AD Domain” Add an additional Azure AD domain
  3. Insira as credenciais do Azure AD e do Active DirectoryEnter your Azure AD and Active Directory credentials
  4. Escolha o segundo domínio que você deseja configurar para federação.Select the second domain you wish to configure for federation. Adicionar um domínio do Azure ADAdd an additional Azure AD domain
  5. Clique em InstalarClick Install

Verifique o novo domínio de nível superiorVerify the new top-level domain

Usando o comando Get-MsolDomainFederationSettings -DomainName <your domain>do PowerShell, você pode exibir o IssuerUri atualizado.By using the PowerShell command Get-MsolDomainFederationSettings -DomainName <your domain>you can view the updated IssuerUri. A captura de tela abaixo mostra que as configurações de federação foram atualizadas no domínio original http://bmcontoso.com/adfs/services/trustThe screenshot below shows the federation settings were updated on the original domain http://bmcontoso.com/adfs/services/trust

Get-MsolDomainFederationSettings

E o IssuerUri no novo domínio foi sido definido como https://bmfabrikam.com/adfs/services/trustAnd the IssuerUri on the new domain has been set to https://bmfabrikam.com/adfs/services/trust

Get-MsolDomainFederationSettings

Suporte para subdomíniosSupport for subdomains

Quando você adiciona um subdomínio, devido à maneira usada pelo Azure AD para tratar domínios, ele herda as configurações do pai.When you add a subdomain, because of the way Azure AD handled domains, it will inherit the settings of the parent. Por isso, o IssuerUri precisa corresponder aos pais.So, the IssuerUri, needs to match the parents.

Digamos, por exemplo, que eu tenha bmcontoso.com e adicione corp.bmcontoso.com.So lets say, for example, that I have bmcontoso.com and then add corp.bmcontoso.com. O IssuerUri de um usuário de corp.bmcontoso.com precisará ser http://bmcontoso.com/adfs/services/trust.The IssuerUri for a user from corp.bmcontoso.com will need to be http://bmcontoso.com/adfs/services/trust. No entanto, a regra padrão implementada acima para o Azure AD irá gerar um token com um emissor como http://corp.bmcontoso.com/adfs/services/trust.However the standard rule implemented above for Azure AD, will generate a token with an issuer as http://corp.bmcontoso.com/adfs/services/trust. , que não corresponderá ao domínio do valor obrigatório e fará com que a autenticação falhe.which will not match the domain's required value and authentication will fail.

Como habilitar o suporte para subdomíniosHow To enable support for subdomains

Para solucionar esse comportamento, a relação de confiança de terceira parte confiável do AD FS do Microsoft Online precisa ser atualizada.In order to work around this behavior, the AD FS relying party trust for Microsoft Online needs to be updated. 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.To do this, you must configure a custom claim rule so that it strips off any subdomains from the user’s UPN suffix when constructing the custom Issuer value.

A declaração a seguir fará isso:The following claim will do this:

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.The last number in the regular expression set is how many parent domains there are in your root domain. Aqui usamos bmcontoso.com, então são necessários dois domínios pai.Here bmcontoso.com is used, so two parent domains are necessary. Se você tiver três domínios pai (por exemplo: corp.bmcontoso.com), então o número seria três.If three parent domains were to be kept (i.e.: corp.bmcontoso.com), then the number would have been three. Eventualmente, pode ser indicado um intervalo. A quantidade máxima sempre deve corresponder ao máximo de domínios.Eventually a range can be indicated, the match will always be made to match the maximum of domains. "{2,3}" corresponderá a dois a três domínios (ou seja: bmfabrikam.com e corp.bmcontoso.com)."{2,3}" will match two to three domains (i.e.: bmfabrikam.com and corp.bmcontoso.com).

Use as etapas a seguir para adicionar uma declaração personalizada que dê suporte a subdomínios.Use the following steps to add a custom claim to support subdomains.

  1. Abra o gerenciamento do AD FSOpen AD FS Management

  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çãoRight-click the Microsoft Online RP trust and choose Edit Claim rules

  3. Escolha a terceira regra de declaração e substitua Editar declaraçãoSelect the third claim rule, and replace Edit claim

  4. Substitua a declaração atual:Replace the current claim:

     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/"));
    
    with
    
     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.Click Ok. Clique em Aplicar.Click Apply. Clique em OK.Click Ok. Feche o gerenciamento do AD FS.Close AD FS Management.

Próximas etapasNext steps

Agora que você tem o Azure AD Connect instalado, é possível verificar a instalação e atribuir licenças.Now that you have Azure AD Connect installed you can verify the installation and assign licenses.

Saiba mais sobre estes recursos, que foram habilitados com a instalação: Atualização automática, Impedir exclusões acidentais e Azure AD Connect Health.Learn more about these features, which were enabled with the installation: Automatic upgrade, Prevent accidental deletes, and Azure AD Connect Health.

Saiba mais sobre estes tópicos comuns: Agendador e como disparar a sincronização.Learn more about these common topics: scheduler and how to trigger sync.

Saiba mais sobre Como integrar suas identidades locais ao Active Directory do Azure.Learn more about Integrating your on-premises identities with Azure Active Directory.