Como federar o Google Cloud com o Active Directory: provisionar contas de usuário

Neste artigo, mostramos como configurar o provisionamento de usuários e grupos entre o Active Directory e sua conta do Cloud Identity ou do G Suite usando o Google Cloud Directory Sync (GCDS).

Para acompanhar este guia, você precisa ter um usuário do Active Directory com permissão para gerenciar usuários e grupos no Active Directory. Além disso, se você ainda não tiver uma conta do Cloud Identity ou do G Suite, precisará de acesso administrativo à sua zona de DNS para verificar domínios. Se você já tiver uma conta do Cloud Identity ou do G Suite, verifique se o usuário tem privilégios de superadministrador.

Objetivos

  • Instalar o Cloud Directory Sync e conectá-lo ao Active Directory e ao Cloud Identity ou ao G Suite.
  • Configurar o Cloud Directory Sync para provisionar usuários e, como opção, grupos para o Google Cloud.
  • Registrar uma tarefa programada para provisionamento contínuo.

Custos

Se você estiver usando a edição gratuita do Cloud Identity, seguir este guia não usará componentes faturáveis do Google Cloud.

Antes de começar

Como planejar a implantação do Cloud Directory Sync

Como decidir o local para implantação do Cloud Directory Sync

O Cloud Directory Sync provisiona usuários e grupos de um diretório LDAP para o Cloud Identity ou o G Suite. Atuando como intermediário para o servidor LDAP e o Cloud Identity ou o G Suite, o Cloud Directory Sync consulta o diretório LDAP para recuperar as informações necessárias do diretório e usa a API Directory para adicionar, modificar ou excluir usuários na sua conta do Cloud Identity ou do G Suite.

Como o Active Directory Domain Services é baseado no LDAP, o Cloud Directory Sync é adequado para implementar o provisionamento de usuários entre o Active Directory e o Cloud Identity ou o G Suite.

Ao conectar uma infraestrutura local do Active Directory ao Google Cloud, é possível executar o Cloud Directory Sync no local ou em uma máquina virtual do Compute Engine no Google Cloud. Na maioria dos casos, é melhor executar o Cloud Directory Sync no local:

  • Como as informações que o Active Directory gerencia incluem dados de identificação pessoal, que geralmente são considerados confidenciais, convém que o Active Directory não seja acessado de fora da rede local.
  • Por padrão, o Active Directory usa LDAP não criptografado. Se você acessar o Active Directory remotamente pelo Google Cloud, use comunicação criptografada. É possível criptografar a conexão usando LDAP/S ou Cloud VPN, porém, isso aumenta a complexidade da configuração.
  • A comunicação do Cloud Directory Sync para o Cloud Identity ou o G Suite é realizada por meio de HTTPS e requer pouca ou nenhuma alteração na configuração do firewall.

Execute o Cloud Directory Sync no Windows ou no Linux. Embora seja possível implantar o Cloud Directory Sync no controlador de domínio, é melhor executá-lo em uma máquina separada que atenda os requisitos do sistema e tenha acesso LDAP ao Active Directory. Embora não seja um pré-requisito para participar do domínio ou executar o Windows, o Cloud Directory Sync neste guia é executado em uma máquina Windows associada ao domínio.

Para ajudar na configuração do provisionamento, o Cloud Directory Sync inclui uma interface gráfica do usuário (GUI) chamada "Gerenciador de configuração". Se o servidor em que pretende executar o Cloud Directory Sync tiver uma experiência de desktop, execute o Gerenciador de configuração no próprio servidor. Caso contrário, será necessário executar o Gerenciador de configuração localmente e copiar o arquivo de configuração resultante para o servidor, onde poderá usá-lo para executar o Cloud Directory Sync. Neste guia, presume-se que o Gerenciador de configuração será executado em um servidor com uma GUI.

Como decidir o local para recuperação de dados

O Cloud Directory Sync usa LDAP para interagir com o Active Directory e recuperar informações sobre usuários e grupos. Para possibilitar essa interação, o Cloud Directory Sync requer que você forneça um nome do host e uma porta na configuração. Em um ambiente pequeno do Active Directory que executa apenas um servidor de catálogo global, fornecer um nome do host e porta não é um problema, já que o Cloud Directory Sync pode ser apontado diretamente para o servidor de catálogo global.

Em um ambiente mais complexo que execute servidores de catálogo global redundantes, apontar o Cloud Directory Sync para um servidor não é o ideal, já que a redundância não será utilizada. Embora seja possível configurar um balanceador de carga que distribua consultas LDAP em vários servidores de catálogo global e que controle aqueles que podem estar temporariamente indisponíveis, é preferível usar o mecanismo DC Locator para localizar servidores dinamicamente.

O Cloud Directory Sync ainda não é compatível com o uso do mecanismo DC Locator. Neste guia, é possível complementar o Cloud Directory Sync com um pequeno script do PowerShell que ativa o mecanismo DC Locator para que não seja necessário configurar estaticamente os endpoints dos servidores de catálogo global.

Como preparar sua conta do Cloud Identity ou do G Suite

Como criar um usuário para o Cloud Directory Sync

Para permitir que o Cloud Directory Sync interaja com a API do Cloud Identity e do G Suite, o aplicativo precisa de uma conta de usuário com privilégios administrativos.

Ao se inscrever no Cloud Identity ou no G Suite, você já criou um usuário superadministrador. Mesmo que você possa usar esse usuário para o Cloud Directory Sync, é preferível criar um usuário separado para ser usado exclusivamente pelo Cloud Directory Sync:

  1. Abra o Admin Console e faça login usando o usuário superadministrador que você criou ao se inscrever no Cloud Identity ou no G Suite.
  2. No menu, clique em Diretório > Usuários, e então em Adicionar novo usuário para criar um usuário.
  3. Forneça nome e endereço de e-mail adequados, assim:

    1. Nome: Google Cloud
    2. Sobrenome: Directory Sync
    3. E-mail principal: cloud-directory-sync

    Mantenha o domínio principal no endereço de e-mail, mesmo que esse domínio não corresponda à floresta da qual você está provisionando.

  4. Certifique-se de que a opção Gerar automaticamente uma nova senha esteja definida como Desativado e insira uma senha.

  5. Certifique-se de que a opção Solicitar alteração de senha no próximo login esteja definida como Desativado.

  6. Clique em Adicionar novo usuário.

  7. Clique em Concluído.

Para permitir que o Cloud Directory Sync crie, liste e exclua contas de usuário e grupos, é preciso conceder outros privilégios ao usuário. Além disso, é recomendável remover o Logon único do usuário. Caso contrário, se você tiver problemas com esse serviço, talvez não seja possível autorizar novamente o Cloud Directory Sync. Para isso, transforme o usuário em um superadministrador:

  1. Localize o usuário recém-criado na lista e abra-o.
  2. Em Papéis e privilégios do administrador, clique em Atribuir papéis.
  3. Ative a função de Superadministrador.
  4. Clique em Salvar.

Como configurar o provisionamento de usuários

Como criar um usuário do Active Directory para o Cloud Directory Sync

Para permitir que o Cloud Directory Sync recupere informações de usuários e grupos do Active Directory, o Cloud Directory Sync requer também um usuário de domínio com acesso suficiente. Em vez de reutilizar um usuário atual do Windows para essa finalidade, crie um usuário exclusivo para o Cloud Directory Sync:

  1. Abra o snap-in Usuários e computadores do Active Directory.
  2. Navegue até o domínio e a unidade organizacional em que será criado o usuário. Se houver vários domínios em sua floresta, crie o usuário no mesmo domínio da máquina do Cloud Directory Sync.
  3. Clique com o botão direito do mouse no painel da janela à direita e selecione Novo > Usuário.
  4. Forneça nome e endereço de e-mail adequados, assim:
    1. Nome: Google Cloud
    2. Sobrenome: Directory Sync
    3. Nome de acesso do usuário: gcds
    4. Nome de acesso do usuário (anterior ao Windows 2000): gcds
  5. Clique em Avançar.
  6. Forneça uma senha que atenda sua política de senhas.
  7. Desmarque a opção Usuário precisa alterar a senha no próximo logon.
  8. Selecione a opção Senha nunca expira.
  9. Clique em Próximo e em Concluir.

Agora você tem os pré-requisitos para instalar o Cloud Directory Sync.

Como instalar o Cloud Directory Sync

Na máquina em que será executado o Cloud Directory Sync, faça o download e execute o instalador do Cloud Directory Sync. Em vez de usar um navegador para realizar o download, use o seguinte comando do PowerShell para fazer o download do instalador:

(New-Object net.webclient).DownloadFile("https://dl.google.com/dirsync/dirsync-win64.exe", "$(pwd)\dirsync-win64.exe")

Após a conclusão do download, execute o seguinte comando para ativar o assistente de instalação:

.\dirsync-win64.exe

Como criar uma pasta para configuração do Cloud Directory Sync

As configurações do Cloud Directory Sync são armazenadas em um arquivo XML. Como essa configuração inclui um token OAuth de atualização usado para autenticação do Cloud Directory Sync com o Google, proteja adequadamente a pasta usada para configuração.

Além disso, como o Cloud Directory Sync não requer acesso a outros recursos locais além desta pasta, é preciso configurar essa ferramenta para ser executada como um usuário limitado, LocalService:

  1. Na máquina em que foi instalado o Cloud Directory Sync, faça login usando um domínio ou um usuário administrador local.
  2. Abra um console do PowerShell que tenha privilégios de administrador.
  3. Execute os seguintes comandos para criar uma pasta chamada $Env:ProgramData\gcds para armazenar a configuração e aplicar uma lista de controle de acesso (ACL), assim, apenas o Cloud Directory Sync e os administradores terão acesso:

    $gcdsDataFolder = "$Env:ProgramData\gcds"
    New-Item -ItemType directory -Path  $gcdsDataFolder
    &icacls "$gcdsDataFolder" /inheritance:r
    &icacls "$gcdsDataFolder" /grant:r "CREATOR OWNER:(OI)(CI)F" /T
    &icacls "$gcdsDataFolder" /grant   "BUILTIN\Administrators:(OI)(CI)F" /T
    &icacls "$gcdsDataFolder" /grant   "Domain Admins:(OI)(CI)F" /T
    &icacls "$gcdsDataFolder" /grant   "LOCAL SERVICE:(OI)(CI)F" /T
    
  4. Para determinar o local da pasta ProgramData, execute o comando Write-Host $Env:ProgramData. Nas versões em inglês do Windows, esse caminho geralmente é c:\ProgramData. Você precisará deste caminho mais tarde.

Como conectar-se ao Google

Agora você utilizará o Gerenciador de configuração para preparar as configurações do Cloud Directory Sync. Para seguir estas etapas, basta executar o Gerenciador de configuração no mesmo servidor em que planeja iniciar o Cloud Directory Sync.

Se você usar uma máquina diferente para executar o Gerenciador de configuração, o arquivo de configuração deverá ser copiado posteriormente para o servidor do Cloud Directory Sync. Além disso, esteja ciente de que talvez não seja possível testar a configuração em uma máquina diferente.

  1. Inicie o Gerenciador de configuração. Ele está localizado no menu Iniciar do Windows, em Google Cloud Directory Sync > Gerenciador de configuração.
  2. Clique em Configuração do Google Domain > Configurações de conexão.

    Configuração do Google Domain > Configurações de conexão

  3. Em Nome de domínio principal, digite o domínio principal da sua conta do Cloud Identity ou do G Suite. Quando você provisiona de várias florestas diferentes para uma conta do Cloud Identity ou do G Suite, o nome de domínio principal pode corresponder a uma floresta diferente da configurada.

  4. Clique em Autorizar agora.

  5. Na caixa de diálogo, clique em Login para abrir uma janela do navegador e fazer o login. Se você usa a configuração padrão e segura do Internet Explorer, poderão aparecer várias mensagens de aviso. Nesse caso, copie o URL para o computador local e abra-o lá.

    Como autorizar GCDS.

  6. Quando a página de login do Google for exibida, faça login usando o usuário do Google cloud-directory-sync recém-criado e a senha especificada para esse usuário.

    Se você já configurou sua conta do Cloud Identity ou do G Suite para usar o Logon único (SSO), talvez vá automaticamente para a página de login dos Serviços de federação do Active Directory (AD FS, na sigla em inglês), que não permite que você faça login com o usuário cloud-directory-sync. Nesse caso, clique novamente em Login e pressione Escape para interromper o carregamento da página. Na barra de endereço do navegador, remova o parâmetro &hd=[PRIMARY_DOMAIN-name] do URL e pressione Enter. A exibição da página de login do Google é forçada nesta etapa.

  7. Como essa é a primeira vez que você usa a conta de usuário, é necessário aceitar o contrato do Cloud Identity. Se você concordar com os termos, clique em Aceitar.

  8. A tela a seguir solicita que você autorize o usuário cloud-directory-sync a acessar e modificar dados na sua conta do Cloud Identity ou do G Suite. Clique em Permitir para confirmar.

    Como autorizar a sincronização de diretório da nuvem para dados na sua conta do Cloud Identity ou do G Suite.

  9. Feche a janela do navegador depois de ver a mensagem Received verification code.

  10. No menu, clique em Arquivo > Salvar como.

  11. Na caixa de diálogo do arquivo, digite [PROGRAM_DATA]\gcds\config.xml como o nome do arquivo. Substitua [PROGRAM_DATA] pelo caminho até a pasta ProgramData que o comando do PowerShell retornou na execução anterior.

  12. Clique em Salvar e depois em OK.

Como conectar-se ao Active Directory

A próxima etapa é configurar o Cloud Directory Sync para se conectar ao Active Directory:

  1. No Gerenciador de configuração, clique em Configuração do LDAP > Configurações de conexão.
  2. Defina as configurações a seguir:
    1. Tipo de servidor: selecione MS Active Directory.
    2. Tipo de conexão: selecione LDAP padrão.
    3. Nome do Host: digite o nome de um servidor de catálogo global. Esta configuração é usada apenas para testes. Posteriormente, você automatizará a descoberta do servidor de catálogo global.
    4. Porta: 3268. Usar um servidor de catálogo global em vez de um controlador de domínio ajuda a garantir o provisionamento de usuários de todos os domínios da floresta do Active Directory.
    5. Tipo de autenticação: simples
    6. Usuário autorizado: insira o nome de usuário principal (UPN, na sigla em inglês) do usuário do domínio que você criou anteriormente: gcds@[UPN_SUFFIX_DOMAIN]. Substitua [UPN_SUFFIX_DOMAIN] pelo domínio de sufixo UPN adequado para o usuário. Outra opção é especificar o usuário usando a sintaxe [NETBIOS-DOMAIN-NAME]\gcds.
    7. DN de base: deixe este campo vazio para assegurar que as pesquisas sejam realizadas em todos os domínios da floresta.
  3. Para verificar as configurações, clique em Testar conexão. Se a conexão falhar, confirme se você especificou o nome do host de um servidor de catálogo global e se o nome de usuário e a senha estão corretos. Ignore a mensagem de erro solicitando a especificação de um DN de base.
  4. Clique em Fechar.
  5. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco. Depois, clique em OK.

Como decidir o que provisionar

Agora que você conectou o Cloud Directory Sync, é possível decidir quais itens provisionar:

  1. No Gerenciador de configuração, clique em Configurações gerais.
  2. Assegure-se de que a opção Contas de usuário esteja selecionada.
  3. Caso pretenda provisionar grupos, verifique se a opção Grupos está selecionada. Caso contrário, desmarque a caixa de seleção.
  4. A sincronização de unidades organizacionais está além do escopo deste guia, portanto, deixe a caixa de seleção Unidades organizacionais desmarcada.
  5. Deixe Perfis de usuário e Esquemas personalizados desmarcados.
  6. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco. Depois, clique em OK.

Como provisionar usuários

Como configurar mapeamentos de usuários

A próxima etapa é configurar o mapeamento de usuários entre o Active Directory e o Cloud Identity ou o G Suite:

  1. No Gerenciador de configuração, clique em Contas de usuário > Outros atributos do usuário.
  2. Clique em Usar padrões para preencher automaticamente os atributos de Nome e Sobrenome com givenName e sn, respectivamente.

As configurações restantes dependem da intenção de usar o UPN ou do endereço de e-mail para mapear o Active Directory para os usuários no Cloud Identity ou do G Suite e se você precisa aplicar substituições de nomes de domínio. Se não tiver certeza de qual é a melhor opção para você, consulte o artigo sobre como o gerenciamento de identidade do Active Directory pode ser estendido ao Google Cloud.

UPN

  1. No Gerenciador de configuração, clique em Contas de usuário > Atributos do usuário.
  2. Defina as configurações a seguir:
    1. Atributo "Endereço de e-mail": userPrincipalName
    2. Atributo "Identificador do usuário": objectGUID
  3. Clique na guia Regras de pesquisa e, em seguida, clique em Adicionar regra de pesquisa.
  4. Insira as seguintes configurações:

    1. Escopo: subárvore
    2. Regra:

      (&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

      Essa regra corresponde todos os usuários não desativados, mas ignora contas de serviço gerenciadas e computadores.

    3. DN de base: deixe em branco para pesquisar todos os domínios na floresta.

  5. Clique em OK para criar a regra.

  6. Clique na guia Regras de exclusão e, em seguida, clique em Adicionar regra de exclusão. Para garantir que o usuário que o Cloud Directory Sync usa para ler no Active Directory não esteja provisionado no Cloud Identity ou no G Suite, digite as seguintes configurações:

    1. Tipo de exclusão: endereço de e-mail do usuário
    2. Tipo de correspondência: correspondência exata
    3. Regra de exclusão: gcds@[UPN_SUFFIX_DOMAIN] Substitua [UPN_SUFFIX_DOMAIN] pelo domínio de sufixo UPN usado no Active Directory.
  7. Clique em OK.

  8. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco. Depois, clique em OK.

UPN: substituição de domínio

  1. No Gerenciador de configuração, clique na guia Contas de usuário > Atributos do usuário.
  2. Defina as configurações a seguir:
    1. Atributo "Endereço de e-mail": userPrincipalName
    2. Atributo "Identificador do usuário": objectGUID
  3. Clique em OK para criar a regra.
  4. Clique na guia Regras de pesquisa e, em seguida, clique em Adicionar regra de pesquisa.
  5. Insira as seguintes configurações:

    1. Escopo: subárvore
    2. Regra:

      (&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

      Essa regra corresponde todos os usuários não desativados, mas ignora contas de serviço gerenciadas e computadores.

    3. DN de base: deixe em branco para pesquisar todos os domínios dentro da floresta.

  6. Clique em OK para criar a regra.

  7. Clique na guia Regras de exclusão e, em seguida, clique em Adicionar regra de exclusão. Para garantir que o usuário que o Cloud Directory Sync usa para ler no Active Directory não esteja provisionado no Cloud Identity ou no G Suite, digite as seguintes configurações:

    1. Tipo de exclusão: endereço de e-mail do usuário
    2. Tipo de correspondência: correspondência exata
    3. Regra de exclusão: gcds@[PRIMARY_DOMAIN] Substitua [PRIMARY_DOMAIN] pelo domínio principal da sua conta do Cloud Identity ou do G Suite.
  8. Clique em OK.

  9. Clique em Configuração do Google Domain > Configurações de conexão e escolha Substituir nomes de domínio em endereços de e-mail LDAP por esse nome de domínio.

  10. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco. Depois, clique em OK.

E-mail

  1. No Gerenciador de configuração, clique em Contas de usuário > Atributos do usuário.
  2. Defina as configurações a seguir:
    1. Atributo "Endereço de e-mail": mail
    2. Atributo "Identificador do usuário": objectGUID
  3. Clique na guia Regras de pesquisa e, em seguida, clique em Adicionar regra de pesquisa.
  4. Insira as seguintes configurações:

    1. Escopo: subárvore
    2. Regra:

      (&(objectCategory=person)(objectClass=user)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

      Essa regra corresponde todos os usuários não desativados a um endereço de e-mail não vazio, mas ignora contas de serviço gerenciadas e computadores.

    3. DN de base: deixe em branco para pesquisar todos os domínios na floresta.

  5. Clique em OK para criar a regra.

  6. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco e clique em OK.

E-mail: substituição de domínio

  1. No Gerenciador de configuração, clique em Contas de usuário > Atributos do usuário.
  2. Defina as configurações a seguir:
    1. Atributo "Endereço de e-mail": mail
    2. Atributo "Identificador do usuário": objectGUID
  3. Clique na guia Regras de pesquisa e, em seguida, clique em Adicionar regra de pesquisa.
  4. Insira as seguintes configurações:

    1. Escopo: subárvore
    2. Regra:

      (&(objectCategory=person)(objectClass=user)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

      Essa regra corresponde todos os usuários não desativados a um endereço de e-mail não vazio, mas ignora contas de serviço gerenciadas e computadores.

    3. DN de base: deixe em branco para pesquisar todos os domínios na floresta.

  5. Clique em OK para criar a regra.

  6. Clique em Configuração do Google Domain > Configurações de conexão e escolha Substituir nomes de domínio em endereços de e-mail LDAP por esse nome de domínio.

  7. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco. Depois, clique em OK.

Política de exclusão

Até o momento, o foco da configuração foi adicionar e atualizar usuários no Cloud Identity ou no G Suite. No entanto, também é importante que os usuários desativados ou excluídos no Active Directory sejam suspensos ou excluídos no Cloud Identity ou no G Suite.

Como parte do processo de provisionamento, o Cloud Directory Sync gera uma lista de usuários no Cloud Identity ou no G Suite que não têm correspondências nos resultados da consulta LDAP do Active Directory. Como a consulta LDAP incorpora a cláusula (!(userAccountControl:1.2.840.113556.1.4.803:=2), qualquer usuário que tenha sido desativado ou excluído no Active Directory desde o último provisionamento será incluído na lista. O comportamento padrão do Cloud Directory Sync é excluir esses usuários no Cloud Identity ou no G Suite, mas é possível personalizar esse comportamento:

  1. No Gerenciador de configuração, clique em Contas de usuário > Atributos do usuário.
  2. Na Política de exclusão/suspensão de usuários do domínio do Google, verifique se a opção Não suspender ou excluir os administradores de domínio do Google não encontrados no LDAP está marcada. Essa configuração garante que o Cloud Directory Sync não suspenda nem exclua o usuário superadministrador usado para configurar sua conta do Cloud Identity ou do G Suite.
  3. Também é possível mudar a política de exclusão para usuários sem privilégios de administrador.
  4. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco e clique em OK.

Se você usa várias instâncias separadas do Cloud Directory Sync para provisionar domínios ou florestas diferentes para uma única conta do Cloud Identity ou do G Suite, verifique se as instâncias do Cloud Directory Sync não interferem umas nas outras. Por padrão, os usuários do Cloud Identity ou do G Suite que foram provisionados de uma fonte diferente serão identificados incorretamente no Active Directory como excluídos. Para evitar essa situação, configure o Cloud Directory Sync para ignorar todos os usuários que estão além do escopo do domínio ou da floresta que você está usando para provisionar.

UPN

  1. No Gerenciador de configuração, clique em Configuração do Google Domain > Regras de exclusão.
  2. Clique em Adicionar regra de exclusão.
  3. Defina as configurações a seguir:

    1. Tipo: endereço de e-mail de usuário
    2. Tipo de correspondência: expressão regular
    3. Regra de exclusão: ao usar um único domínio de sufixo UPN, insira a seguinte expressão regular:

      .*@((?![UPN_SUFFIX_DOMAIN]).*)$

      Substitua [UPN_SUFFIX_DOMAIN] pelo domínio de sufixo UPN, como o exemplo a seguir:

      .*@((?!corp.example.com).*)$

      Caso use mais de um domínio de sufixo UPN, estenda a expressão como mostrado a seguir:

      .*@((?!corp.example.com|branch.example.com).*)$
  4. Clique em OK para criar a regra.

UPN: substituição de domínio

  1. No Gerenciador de configuração, clique em Configuração do Google Domain > Regras de exclusão.
  2. Clique em Adicionar regra de exclusão.
  3. Defina as configurações a seguir:

    1. Tipo: endereço de e-mail de usuário
    2. Tipo de correspondência: expressão regular
    3. Regra de exclusão: ao usar um único domínio de sufixo UPN, insira a seguinte expressão regular:

      .*@((?![SUBSTITUTION_DOMAIN]).*)$

      Substitua [SUBSTITUTION_DOMAIN] pelo domínio usado para substituir o domínio de sufixo UPN, como no exemplo a seguir:

      .*@((?!corp.example.com).*)$
  4. Clique em OK para criar a regra.

E-mail

  1. No Gerenciador de configuração, clique em Configuração do Google Domain > Regras de exclusão.
  2. Clique em Adicionar regra de exclusão.
  3. Defina as configurações a seguir:

    1. Tipo: endereço de e-mail de usuário
    2. Tipo de correspondência: expressão regular
    3. Regra de exclusão: ao usar um único domínio de sufixo UPN, insira a seguinte expressão regular:

      .*@((?![MX_DOMAIN]).*)$

      Substitua [MX_DOMAIN] pelo nome de domínio usado nos endereços de e-mail, como no exemplo a seguir:

      .*@((?!corp.example.com).*)$

      Caso use mais de um domínio de sufixo UPN, estenda a expressão como mostrado a seguir:

      .*@((?!corp.example.com|branch.example.com).*)$
  4. Clique em OK para criar a regra.

E-mail: substituição de domínio

  1. No Gerenciador de configuração, clique em Configuração do Google Domain > Regras de exclusão.
  2. Clique em Adicionar regra de exclusão.
  3. Defina as configurações a seguir:

    1. Tipo: endereço de e-mail de usuário
    2. Tipo de correspondência: expressão regular
    3. Regra de exclusão: ao usar um único domínio de sufixo UPN, insira a seguinte expressão regular:

      .*@((?![SUBSTITUTION_DOMAIN]).*)$

      Substitua [SUBSTITUTION_DOMAIN] pelo domínio usado para substituir o domínio do e-mail, como no exemplo a seguir:

      .*@((?!corp.example.com).*)$
  4. Clique em OK para criar a regra.

Como provisionar grupos

A próxima etapa é configurar como mapear grupos entre o Active Directory e o Cloud Identity ou o G Suite. Esse processo será diferente de acordo com seus planos: mapear grupos por nome real ou endereço de e-mail.

Como configurar mapeamentos de grupos por nome comum

Primeiro, você precisa identificar os tipos de grupos de segurança que quer provisionar e, em seguida, formular uma consulta LDAP apropriada. A tabela a seguir contém consultas comuns que podem ser usadas.

Tipo consulta LDAP
Grupos locais de domínio (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483652))
Grupos globais (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483650))
Grupos universais (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483656))
Grupos globais e universais (&(objectCategory=group)(|(groupType:1.2.840.113556.1.4.803:=2147483650)(groupType:1.2.840.113556.1.4.803:=2147483656)))

A consulta de grupos globais também abrange grupos definidos pelo Active Directory como controladores de domínio. Filtre esses grupos restringindo a pesquisa por unidade organizacional (ou).

As outras configurações dependem da intenção de usar UPN ou endereço de e-mail para mapear o Active Directory para os usuários no Cloud Identity ou no G Suite.

UPN

  1. No Gerenciador de configuração, clique em Grupos > Regras de Pesquisa.
  2. Clique em Adicionar regra de pesquisa para adicionar uma regra que capture usuários e associações a grupos.
  3. Defina as configurações a seguir:
    1. Escopo: subárvore
    2. Regra: insira a consulta LDAP.
    3. DN de base: deixe em branco para consultar grupos em todos os domínios da floresta.
  4. Na caixa Grupos, insira as seguintes configurações:
    1. Atributo "Endereço de e-mail de grupo": cn
    2. Atributo "Nome de exibição de grupo": name
    3. Atributo "Descrição do grupo": description
    4. Atributo "Nome de e-mail do usuário": userPrincipalName
  5. Na caixa Membros, insira as seguintes configurações:
    1. Atributo "Referência de membro": member
    2. Deixe os outros campos em branco.
  6. Na caixa Proprietários, insira as seguintes configurações:
    1. Atributo "Referência do proprietário": managedBy
    2. Deixe os outros campos em branco.
  7. Clique na guia Prefix-Suffix.
  8. Na caixa Endereço de e-mail do grupo, insira as seguintes configurações:
    1. Sufixo: @[PRIMARY_DOMAIN], em que você precisa substituir [PRIMARY_DOMAIN] pelo domínio principal da sua conta do Cloud Identity ou do G Suite. Embora a configuração pareça redundante, já que o Cloud Directory Sync anexará o domínio automaticamente, é preciso especificar explicitamente a configuração para evitar que várias instâncias do Cloud Directory Sync apaguem os membros do grupo que não foram adicionados por eles. Exemplo: @example.com.
    2. Clique em OK.
  9. Clique em Adicionar regra de pesquisa para adicionar outra regra que capture associações em grupos aninhados.
  10. Defina as configurações a seguir:
    1. Escopo: subárvore
    2. Regra: insira a mesma consulta LDAP.
    3. DN de base: deixe em branco para consultar grupos em todos os domínios da floresta.
  11. Na caixa Grupos, insira as seguintes configurações:
    1. Atributo "Endereço de e-mail de grupo": cn
    2. Atributo "Nome de exibição de grupo": name
    3. Atributo "Descrição do grupo": description
    4. Atributo "Nome de e-mail do usuário": cn
  12. Na caixa Membros, insira as seguintes configurações:
    1. Atributo "Referência de membro": member
    2. Deixe os outros campos em branco.
  13. Na caixa Proprietários, insira as seguintes configurações:
    1. Atributo "Referência do proprietário": managedBy
    2. Deixe os outros campos em branco.
  14. Clique na guia Prefix-Suffix.
  15. Na caixa Endereço de e-mail do grupo, insira as seguintes configurações:
    • Sufixo: @[PRIMARY_DOMAIN] em que você precisa substituir [PRIMARY_DOMAIN] pelo domínio principal da sua conta do Cloud Identity ou do G Suite.
  16. Clique em OK.
  17. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco e clique em OK.

E-mail

  1. No Gerenciador de configuração, clique em Grupos > Regras de Pesquisa.
  2. Clique em Adicionar regra de pesquisa para adicionar uma regra que capture grupos e associações.
  3. Defina as configurações a seguir:
    1. Escopo: subárvore
    2. Regra: insira a consulta LDAP.
    3. DN de base: deixe em branco para consultar grupos em todos os domínios da floresta.
  4. Na caixa Grupos, insira as seguintes configurações:
    1. Atributo "Endereço de e-mail de grupo": cn
    2. Atributo "Nome de exibição de grupo": name
    3. Atributo "Descrição do grupo": description
    4. Atributo "Nome de e-mail do usuário": mail
  5. Na caixa Membros, insira as seguintes configurações:
    1. Atributo "Referência de membro": member
    2. Deixe os outros campos em branco.
  6. Na caixa Proprietários, insira as seguintes configurações:
    1. Atributo "Referência do proprietário": managedBy
    2. Deixe os outros campos em branco.
  7. Clique em OK.
  8. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco. Depois, clique em OK.

As mesmas configurações também se aplicarão caso você tenha usado a substituição de domínio ao mapear usuários.

Como configurar mapeamentos de grupos por endereço de e-mail

Primeiro, você precisa identificar os tipos de grupos de segurança que quer provisionar e, em seguida, formular uma consulta LDAP apropriada. A tabela a seguir contém consultas comuns que podem ser usadas.

Tipo consulta LDAP
Grupos locais de domínio com endereço de e-mail (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483652)(mail=*))
Grupos globais com endereço de e-mail (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483650)(mail=*))
Grupos universais com endereço de e-mail (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483656)(mail=*))
Grupos globais e universais com endereço de e-mail (&(objectCategory=group)(|(groupType:1.2.840.113556.1.4.803:=2147483650)(groupType:1.2.840.113556.1.4.803:=2147483656))(mail=*))

As outras configurações dependem da intenção de usar UPN ou endereço de e-mail para mapear o Active Directory para os usuários no Cloud Identity ou no G Suite.

UPN

  1. No Gerenciador de configuração, clique em Grupos > Regras de Pesquisa.
  2. Clique em Adicionar regra de pesquisa para adicionar uma regra que capture grupos e associações.
  3. Defina as configurações a seguir:
    1. Escopo: subárvore
    2. Regra: insira a consulta LDAP.
    3. DN de base: deixe em branco para consultar grupos em todos os domínios da floresta.
  4. Na caixa Grupos, insira as seguintes configurações:
    1. Atributo "Endereço de e-mail de grupo": mail
    2. Atributo "Nome de exibição de grupo": name
    3. Atributo "Descrição do grupo": description
    4. Atributo "Nome de e-mail do usuário": userPrincipalName
  5. Na caixa Membros, insira as seguintes configurações:
    1. Atributo "Referência de membro": member
    2. Deixe os outros campos em branco.
  6. Na caixa Proprietários, insira as seguintes configurações:
    1. Atributo "Referência do proprietário": managedBy
    2. Deixe os outros campos em branco.
  7. Clique em OK.
  8. Clique em Adicionar regra de pesquisa para adicionar outra regra que capture associações em grupos aninhados.
  9. Defina as configurações a seguir:
    1. Escopo: subárvore
    2. Regra: insira a mesma consulta LDAP.
    3. DN de base: deixe em branco para consultar grupos em todos os domínios da floresta.
  10. Na caixa Grupos, insira as seguintes configurações:
    1. Atributo "Endereço de e-mail de grupo": mail
    2. Atributo "Nome de exibição de grupo": name
    3. Atributo "Descrição do grupo": description
    4. Atributo "Nome de e-mail do usuário": mail
  11. Na caixa Membros, insira as seguintes configurações:
    1. Atributo "Referência de membro": member
    2. Deixe os outros campos em branco.
  12. Na caixa Proprietários, insira as seguintes configurações:
    1. Atributo "Referência do proprietário": managedBy
    2. Deixe os outros campos em branco.
  13. Clique em OK.
  14. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco. Depois, clique em OK.

E-mail

  1. No Gerenciador de configuração, clique em Grupos > Regras de Pesquisa.
  2. Clique em Adicionar regra de pesquisa para adicionar uma regra que capture grupos e associações.
  3. Defina as configurações a seguir:
    1. Escopo: subárvore
    2. Regra: insira a consulta LDAP.
    3. DN de base: deixe em branco para consultar grupos em todos os domínios da floresta.
  4. Na caixa Grupos, insira as seguintes configurações:
    1. Atributo "Endereço de e-mail de grupo": mail
    2. Atributo "Nome de exibição de grupo": name
    3. Atributo "Descrição do grupo": description
    4. Atributo "Nome de e-mail do usuário": mail
  5. Na caixa Membros, insira as seguintes configurações:
    1. Atributo "Referência de membro": member
    2. Deixe os outros campos em branco.
  6. Na caixa Proprietários, insira as seguintes configurações:
    1. Atributo "Referência do proprietário": managedBy
    2. Deixe os outros campos em branco.
  7. Clique em OK.
  8. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco. Depois, clique em OK.

As mesmas configurações também se aplicarão caso você tenha usado a substituição de domínio ao mapear usuários.

Política de exclusão

O Cloud Directory Sync processa a exclusão de grupos de maneira similar à exclusão de usuários. Se você usa várias instâncias separadas do Cloud Directory Sync para provisionar domínios ou florestas diferentes para uma única conta do Cloud Identity ou do G Suite, verifique se as instâncias do Cloud Directory Sync não interferem umas nas outras.

Por padrão, o usuário no Cloud Identity ou no G Suite que foi provisionado de uma origem diferente será identificado incorretamente no Active Directory como excluído. Para evitar essa situação, configure o Cloud Directory Sync para ignorar todos os usuários que estão além do escopo do domínio ou da floresta que você está usando para provisionar.

UPN

  1. Clique em Configuração do Google Domain > Regras de exclusão.
  2. Clique em Adicionar regra de exclusão.
  3. Defina as configurações a seguir:

    1. Tipo: endereço de e-mail de membro do grupo
    2. Tipo de correspondência: expressão regular
    3. Regra de exclusão: ao usar um único domínio de sufixo UPN, insira a seguinte expressão regular:

      .*@((?![UPN_SUFFIX_DOMAIN]).*)$

      Substitua [UPN_SUFFIX_DOMAIN] pelo domínio de sufixo UPN, como o exemplo a seguir:

      .*@((?!corp.example.com).*)$

      Caso use mais de um domínio de sufixo UPN, estenda a expressão como mostrado a seguir:

      .*@((?!corp.example.com|branch.example.com).*)$
  4. Clique em OK para criar a regra.

UPN: substituição de domínio

  1. Clique em Configuração do Google Domain > Regras de exclusão.
  2. Clique em Adicionar regra de exclusão.
  3. Defina as configurações a seguir:

    1. Tipo: endereço de e-mail de membro do grupo
    2. Tipo de correspondência: expressão regular
    3. Regra de exclusão: ao usar um único domínio de sufixo UPN, insira a seguinte expressão regular:

      .*@((?![SUBSTITUTION_DOMAIN]).*)$

      Substitua [SUBSTITUTION_DOMAIN] pelo domínio usado para substituir o domínio de sufixo UPN, como no exemplo a seguir:

      .*@((?!corp.example.com).*)$
  4. Clique em OK para criar a regra.

E-mail

  1. Clique em Configuração do Google Domain > Regras de exclusão.
  2. Clique em Adicionar regra de exclusão.
  3. Defina as configurações a seguir:

    1. Tipo: endereço de e-mail de membro do grupo
    2. Tipo de correspondência: expressão regular
    3. Regra de exclusão: ao usar um único domínio de sufixo UPN, insira a seguinte expressão regular:

      .*@((?![MX_DOMAIN]).*)$

      Substitua [MX_DOMAIN] pelo nome de domínio usado nos endereços de e-mail, como no exemplo a seguir:

      .*@((?!corp.example.com).*)$

      Caso use mais de um domínio de sufixo UPN, estenda a expressão como mostrado a seguir:

      .*@((?!corp.example.com|branch.example.com).*)$
  4. Clique em OK para criar a regra.

E-mail: substituição de domínio

  1. Clique em Configuração do Google Domain > Regras de exclusão.
  2. Clique em Adicionar regra de exclusão.
  3. Defina as configurações a seguir:

    1. Tipo: endereço de e-mail de membro do grupo
    2. Tipo de correspondência: expressão regular
    3. Regra de exclusão: ao usar um único domínio de sufixo UPN, insira a seguinte expressão regular:

      .*@((?![SUBSTITUTION_DOMAIN]).*)$

      Substitua [SUBSTITUTION_DOMAIN] pelo domínio usado para substituir o domínio do e-mail, como no exemplo a seguir:

      .*@((?!corp.example.com).*)$
    4. Clique em OK para criar a regra.

Como configurar registros e notificações

Para manter os usuários sincronizados, execute o Cloud Directory Sync de maneira programada. Para monitorar a atividade do Cloud Directory Sync e os possíveis problemas, configure o Cloud Directory Sync para gravar um arquivo de registros:

  1. No Gerenciador de configuração, clique em Logging.
  2. Defina Nome do arquivo como [PROGRAM_DATA]\gcds\gcds_sync.log. Substitua [PROGRAM_DATA] pelo caminho até a pasta ProgramData que o comando do PowerShell retornou na execução anterior.
  3. Clique em Arquivo > Salvar para confirmar as alterações de configuração no disco e clique em OK.

Além de criar registros, o Cloud Directory Sync pode enviar notificações por e-mail. Para ativar este serviço, clique em Notificações e forneça informações de conexão para o servidor de e-mail.

Como simular o provisionamento de usuários

Você concluiu a configuração do Cloud Directory Sync. Para verificar se a configuração funciona conforme o esperado, simule uma execução de provisionamento de usuário. Durante a simulação, o GCDS não realiza nenhuma alteração no Cloud Identity, mas informa quais alterações ele executaria durante uma execução de provisionamento regular.

  1. No Gerenciador de configuração, clique em Sincronizar.
  2. Na parte inferior da tela, selecione Limpar cache e clique em Simular sincronização.
  3. Depois que o processo for concluído, revise a seção Alterações propostas do registro exibido na metade inferior da caixa de diálogo e verifique se pelo menos um usuário está sendo criado ou modificado.

Provisionamento inicial de usuários

Agora é possível acionar o provisionamento inicial de usuários:

Avisos

  • Ao acionar um provisionamento, serão feitas alterações permanentes nos usuários e grupos em sua conta do Cloud Identity ou G Suite.
  • Se houver um grande número de usuários para provisionar, altere temporariamente a consulta LDAP para corresponder apenas a um subconjunto desses usuários. Ao usar esse subconjunto de usuários, teste o processo e ajuste as configurações, se necessário. Depois de validar com sucesso os resultados, volte para a consulta LDAP e provisione os usuários restantes.
  • Evite modificar ou excluir repetidamente um grande número de usuários ao testar, porque essas ações podem ser sinalizadas como comportamento abusivo.

Acione uma provisionamento da seguinte maneira:

  1. No Gerenciador de configuração, clique em Sincronizar.
  2. Na parte inferior da tela, selecione Limpar o cache e clique em Sincronizar e aplicar as alterações.

    Uma caixa de diálogo é exibida mostrando o status.

  3. Após a conclusão do processo, verifique o registro mostrado na metade inferior da caixa de diálogo:

    1. Em Alterações bem-sucedidas do usuário, verifique se pelo menos um usuário foi criado.
    2. Em Falhas, verifique se nenhuma falha ocorreu.

Se você escolher provisionar grupos, os outros registros poderão conter vários avisos, que geralmente podem ser ignorados.

Como programar

Para garantir que as alterações realizadas no Active Directory sejam propagadas para o Cloud Identity, configure uma tarefa programada que acione uma execução de provisionamento a cada hora:

  1. Abra um console do PowerShell como Administrador.
  2. Verifique se o módulo PowerShell do Active Directory está disponível em sistema:

    import-module ActiveDirectory

    Se o comando falhar, faça o download e instale as Ferramentas de administração de servidor remoto e tente novamente.

  3. No Bloco de Notas, crie um arquivo, copie o conteúdo abaixo nele e salve o arquivo em $Env:ProgramData\gcds\sync.ps1. Quando terminar, feche o arquivo.

    [CmdletBinding()]
    Param(
        [Parameter(Mandatory=$True, Position=1)]
        [string]$config,
    
        [Parameter(Mandatory=$True, Position=1)]
        [string]$gcdsInstallationDir
    )
    
    import-module ActiveDirectory
    
    # Stop on error.
    $ErrorActionPreference ="stop"
    
    # Ensure it's an absolute path.
    $rawConfigPath = [System.IO.Path]::Combine((pwd).Path, $config)
    
    # Discover closest GC in current domain.
    $dc = Get-ADDomainController -discover -Service "GlobalCatalog" -NextClosestSite
    Write-Host ("Using Global Catalog server {0} of domain {1} as LDAP source" -f [string]$dc.HostName, $dc.Domain)
    
    # Load XML and replace the endpoint.
    $dom = [xml](Get-Content $rawConfigPath)
    $ldapConfigNode = $dom.SelectSingleNode("//plugin[@class='com.google.usersyncapp.plugin.ldap.LDAPPlugin']/config")
    
    # Tweak the endpoint.
    $ldapConfigNode.hostname = [string]$dc.HostName
    $ldapConfigNode.ldapCredMachineName = [string]$dc.HostName
    $ldapConfigNode.port = "3268"   # Always use Global Catalog port
    
    # Tweak the tsv files location
    $googleConfigNode = $dom.SelectSingleNode("//plugin[@class='com.google.usersyncapp.plugin.google.GooglePlugin']/config")
    $googleConfigNode.nonAddressPrimaryKeyMapFile = [System.IO.Path]::Combine((pwd).Path, "nonAddressPrimaryKeyFile.tsv")
    $googleConfigNode.passwordTimestampFile = [System.IO.Path]::Combine((pwd).Path, "passwordTimestampCache.tsv")
    
    # Save resulting config.
    $targetConfigPath = $rawConfigPath + ".autodiscover"
    
    $writer = New-Object System.IO.StreamWriter($targetConfigPath, $False, (New-Object System.Text.UTF8Encoding($False)))
    $dom.Save($writer)
    $writer.Close()
    
    # Start provisioning.
    Start-Process -FilePath "$gcdsInstallationDir\sync-cmd" `
        -Wait -ArgumentList "--apply --loglevel INFO --config ""$targetConfigPath"""
    
  4. O Gerenciador de configuração criou uma chave secreta para criptografar as credenciais no arquivo de configuração. Para garantir que o Cloud Directory Sync ainda consiga ler a configuração quando ela for executada como uma tarefa programada, execute os seguintes comandos para copiar essa chave secreta do seu perfil para o perfil de NT AUTHORITY\LOCAL SERVICE:

    New-Item -Path Registry::HKEY_USERS\S-1-5-19\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp -Force
    
    Copy-Item -Path Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp\util `
        -Destination Microsoft.PowerShell.Core\Registry::HKEY_USERS\S-1-5-19\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp\util
    

    Se os comandos falharem, verifique se o console do PowerShell foi iniciado como Administrador.

  5. Crie uma tarefa agendada com a execução dos comandos a seguir. A tarefa programada será acionada a cada uma hora e invocará o script sync.ps1 como NT AUTHORITY\LOCAL SERVICE.

    $taskName = "Synchronize to Cloud Identity"
    $gcdsDir = "$Env:ProgramData\gcds"
    
    $action = New-ScheduledTaskAction -Execute 'PowerShell.exe' `
      -Argument "-ExecutionPolicy Bypass -NoProfile $gcdsDir\sync.ps1 -config $gcdsDir\config.xml -gcdsInstallationDir '$Env:Programfiles\Google Cloud Directory Sync'" `
      -WorkingDirectory $gcdsDir
    $trigger = New-ScheduledTaskTrigger `
      -Once `
      -At (Get-Date) `
      -RepetitionInterval (New-TimeSpan -Minutes 60) `
      -RepetitionDuration (New-TimeSpan -Days (365 * 20))
    
    $principal = New-ScheduledTaskPrincipal -UserID "NT AUTHORITY\LOCAL SERVICE" -LogonType ServiceAccount
    Register-ScheduledTask -Action $action -Trigger $trigger -Principal $principal -TaskName $taskName
    
    $task = Get-ScheduledTask -TaskName "$taskName"
    $task.Settings.ExecutionTimeLimit = "PT12H"
    Set-ScheduledTask $task
    

Como testar o provisionamento de usuários

Você concluiu a instalação e a configuração do Cloud Directory Sync, e a tarefa programada acionará uma execução a cada hora.

Para acionar uma execução de provisionamento manualmente, alterne para o console do PowerShell e execute o seguinte comando:

$taskName = "Synchronize to Cloud Identity"
Start-ScheduledTask $taskName

Como fazer a limpeza

Para remover o Cloud Directory Sync, execute as seguintes etapas:

  1. Abra o Painel de Controle do Windows e clique em Programas > Desinstalar um programa.
  2. Selecione Google Cloud Directory Sync e clique em Desinstalar/alterar para iniciar o assistente de desinstalação. Em seguida, siga as instruções no assistente.
  3. Abra o console do PowerShell e execute o seguinte comando para remover a tarefa programada:

    $taskName = "Synchronize to Cloud Identity"
    Unregister-ScheduledTask -TaskName $taskName -Confirm:$False
    
  4. Execute o comando a seguir para excluir os arquivos de configuração e registro:

    Remove-Item -Recurse -Force "$Env:ProgramData\gcds"
    Remove-Item -Recurse -Path Registry::HKEY_USERS\S-1-5-19\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp
    

A seguir