O365 – Sincronização de grupos em ambientes multi-forest

By: Cesar Hara e Caio Ribeiro César

Cada ambiente possui uma necessidade diferente. Já trabalhamos em cenários em que o administrador não lista o sincronismo de Active Directory como uma necessidade; outros, em que se o sincronismo falhar, estamos tratando de uma perda de funcionalidade crítica.

Alguns cenários precisam de mais customizações, uma estrutura maior geralmente demanda mais trabalho e um planejamento em qualquer atualização ou implementação. Na área de tecnologia, planejar significa diminuir possíveis impactos que uma mudança pode trazer.

Vamos então ao cenário: ambiente multi-forest com sincronismo de AD<>WAAD, um grupo criado na floresta “A” é sincronizado porém não contém a informação de usuários (group membership) da floresta “B”.

A primeira pergunta que devemos responder: o que é um ambiente multi-forest? O artigoWhat are domains and forests” possui a resposta:

Components of the Active Directory Logical Structure:

Forests A forest is a complete instance of Active Directory. Each forest acts as a top-level container in that it houses all domain containers for that particular Active Directory instance. A forest can contain one or more domain container objects, all of which share a common logical structure, global catalog, directory schema, and directory configuration, as well as automatic two-way transitive trust relationships. The first domain in the forest is called the forest root domain. The name of that domain refers to the forest, such as Nwtraders.msft. By default, information in Active Directory is shared only within the forest. In this way, the forest is a security boundary for the information that is contained in that instance of Active Directory.

Já que sabemos o que uma floresta significa, sabemos que um ambiente “multi-forest” possui mais de uma floresta. Ou seja, temos o “trust” entre florestas e então o sincronismo dos dados para o tenant no O365. multi1

Então, vamos a segunda pergunta: quais as suportabilidades destes ambientes, quando falamos de sincronismo com o WAAD?

Para responder, vamos primeiro entender o que é “suportabilidade”. Para isto, iremos fazer uma referência a um excelente artigo MSDN:

Supportability —How effectively a software system or component can be kept running after deployment, based on resources that include quality documentation, diagnostic information, and both knowledgeable and available technical staff.

Quando um ambiente não é “suportado”, significa que:

  1. A Microsoft testou esta configuração e concluiu que ela não funciona conforme o esperado;
  2. Não foi testado o suficiente para chegar ao ponto de clientes selecionarem esta opção.

Para que este ambiente seja suportado, temos que seguir as topologias de sincronismo do AADConnect com o WAAD. No exemplo deste artigo, a configuração suportada é de multi-forest com um único Azure AD:

multi2

“When you have multiple forests, all forests must be reachable by single Azure AD Connect sync server. You do not have to join the server to a domain. If necessary to reach all forest, the server can be placed in a network DMZ.”

Alguns clientes publicam o servidor na DMZ, para que ele possa se comunicar com todas as florestas.

Assim que confirmamos que o único Azure AD Connect se comunicava com as florestas em questão, fomos para os próximos passos.

Eis o desafio para o leitor: após as respostas abaixo, você consegue desvendar o problema?

  • Qual o erro para que o grupo não seja sincronizado? Não foi encontrado nenhum erro em questão.
  • O IDFix encontra algum problema para este objeto? Não.
  • Qual a versão do Azure AD Connect? Latest.
  • Algum filtro customizado para que o sync não seja efetuado? Não, está com o setup default.

Para revelar o segredo, veja abaixo.

scroll scroll

Um ambiente multi-forest não é um ambiente que segue a configuração padrão. Para que o group membership seja sincronizado, precisamos selecionar o container “ ForeignSecurityPrincipals ”:

container

“The ForeignSecurityPrincipals container should be selected if you have multiple forests with trusts. This container allows cross-forest security group membership to be resolved”

Assim que habilitamos, fizemos um full sync e o grupo foi sincronizado com todos os respectivos membros.

Este artigo contém maiores detalhes sobre este container.