Associar uma VM do Windows automaticamente a um domínio

Nesta página, explicamos como mesclar uma instância de VM do Windows Compute Engine a um domínio usando o recurso de mesclagem automatizada de domínios no serviço gerenciado para Microsoft Active Directory.

Como o Microsoft AD gerenciado mescla automaticamente uma VM do Windows a um domínio

Para usar o Microsoft AD gerenciado para autenticar os aplicativos em execução nas VMs, você precisa mesclar as VMs ao seu domínio do Microsoft AD gerenciado. O processo de ingresso no domínio geralmente envolve a execução de algumas etapas manuais.

Ao criar ou atualizar uma VM do Windows Compute Engine, é possível associar a VM ao seu domínio do Microsoft AD gerenciado automatizando a abordagem manual com scripts. No entanto, para executar esses scripts em uma VM do Compute Engine, é necessário ter credenciais do AD que precisam ser armazenadas e mantidas com segurança e um ambiente para provisionar e executar esses scripts. Para eliminar a necessidade de credenciais e de um serviço adicional, automatize o processo de mesclagem de domínios com scripts prontos disponíveis no Microsoft AD gerenciado.

Ao criar VMs do Compute Engine, é possível usar scripts para associar automaticamente as VMs ao seu domínio gerenciado do Microsoft AD. Depois que o Compute Engine cria as VMs, o Microsoft AD gerenciado inicia a solicitação de associação e tenta associar as VMs ao seu domínio. Se a solicitação de participação no domínio for bem-sucedida, o Microsoft AD gerenciado associará as VMs criadas ao seu domínio. Se a solicitação de participação no domínio falhar, as VMs criadas continuarão sendo executadas. Por motivos de segurança ou faturamento, é possível personalizar esse comportamento. O Microsoft AD gerenciado pode interromper as VMs quando a solicitação de participação no domínio falha.

Ao atualizar as VMs do Compute Engine, é possível usar scripts para associar automaticamente as VMs atuais ao seu domínio do Microsoft AD gerenciado. Para que a solicitação de participação no domínio seja bem-sucedida, o Microsoft AD gerenciado reinicia as VMs depois de executar os scripts.

Antes de começar

  1. Crie um domínio do Managed Microsoft AD.

  2. Verifique se o nome da VM tem no máximo 15 caracteres.

  3. Verifique se a VM está sendo executada em uma versão do Windows compatível com o Microsoft AD gerenciado.

  4. Configure o peering de domínio entre o domínio do Microsoft AD gerenciado e a rede da VM ou use o domínio do Microsoft AD gerenciado e a VM na mesma rede.

  5. Crie uma conta de serviço com o papel do IAM do agrupamento de identidades gerenciadas do Google Cloud (roles/managedidentities.domainJoin) no projeto que tem o domínio do Microsoft AD gerenciado. Para mais informações, consulte Papéis do Cloud Managed Identities.

  6. Defina o escopo de acesso cloud-platform completo na VM. Para mais informações, consulte Autorização.

Metadados

Você precisa das chaves de metadados abaixo para mesclar uma VM do Windows a um domínio.

Chaves de metadados Descrição
windows-startup-script-url Use essa chave de metadados para especificar o local acessível publicamente do script de inicialização do Windows que a VM executa durante o processo de inicialização. Para usar o script de inicialização do Windows pré-enviado pelo Microsoft AD gerenciado, insira o seguinte URL: https://raw.githubusercontent.com/GoogleCloudPlatform/managed-microsoft-activedirectory/main/domain_join.ps1.

Se a VM não tiver acesso a esse URL, transmita o script de inicialização usando qualquer um dos outros métodos compatíveis. Para mais informações, consulte Como usar scripts de inicialização em VMs do Windows.
managed-ad-domain Use essa chave de metadados para especificar o nome completo do recurso do domínio do Microsoft AD gerenciado que será mesclado, no formato projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME. Por exemplo, projects/my-project-123/locations/global/domains/my-domain.example.com.
managed-ad-domain-join-failure-stop Opcional: por padrão, a VM continua a ser executada mesmo após uma falha na solicitação de participação no domínio. Defina essa chave de metadados como TRUE se quiser interromper a VM quando a solicitação falhar. O Microsoft AD gerenciado pode interromper a VM após você definir essa chave de metadados, mas não exclui a VM.
enable-guest-attributes Opcional: por padrão, os atributos de convidado são desativados em uma VM. É possível definir essa chave de metadados como TRUE se você quiser usar os atributos de convidado da VM para registrar o status de ingresso de domínio após a execução do script de inicialização.

O Microsoft AD gerenciado grava o status de mesclagem do domínio nas chaves a seguir no namespace managed-ad de guest-attributes:
  • domain-join-status: esta chave fornece o status da solicitação de junção do domínio após a execução do script.
  • domain-join-failure-message: se a solicitação de participação no domínio falhar, esta chave vai mostrar a mensagem de erro.
  • Quando você recebe os atributos de convidado, é possível usar esses namespaces e chaves para ver o status de mesclagem do domínio.
    managed-ad-ou-name Opcional: por padrão, o Microsoft AD gerenciado mescla a VM à unidade organizacional (UO) GCE Instances, que é pré-criada na UO Cloud para gerenciar melhor as políticas. Veja mais informações sobre a unidade organizacional Cloud em Unidades organizacionais.

    Se você quiser mesclar a VM a uma UO personalizada, precisará criar a UO personalizada na UO GCE Instances ou Cloud no Microsoft AD gerenciado e usar essa chave de metadados para especificar a UO personalizada. O Microsoft AD gerenciado não é compatível com uma UO personalizada criada em qualquer lugar que não seja a UO Cloud ou GCE Instances.

    Se você criar uma unidade organizacional personalizada na unidade organizacional Cloud, especifique o caminho dela no seguinte formato: /cloud/SUB_OU1/SUB_OU2/…/CUSTOM_OU. Por exemplo, /cloud/my-sub-ou/my-custom-ou.

    Para mais informações sobre como gerenciar objetos do AD no Microsoft AD gerenciado, consulte Gerenciar objetos do Active Directory.
    managed-ad-force Opcional: quando você exclui uma VM associada a um domínio, a conta do computador da VM continua existindo no Microsoft AD gerenciado. Quando você tenta ingressar em outra VM com a mesma conta de computador, a solicitação de participação no domínio falha por padrão. O Microsoft AD gerenciado poderá reutilizar uma conta de computador se você definir esta chave de metadados como TRUE.

    Participar da VM do Windows

    Use essas chaves de metadados ao criar uma VM do Windows ou atualizar uma VM atual. As seções a seguir ilustram como usar essas chaves de metadados nos comandos da CLI gcloud ao criar ou atualizar uma VM.

    No entanto, também é possível usar essas chaves de metadados com uma VM usando as outras opções disponíveis. Para saber mais sobre como usar metadados com uma VM do Windows Compute Engine, consulte Definir metadados personalizados.

    Participar de uma VM do Windows durante a criação

    Para criar e participar de uma VM do Windows Compute Engine, execute o seguinte comando da CLI gcloud:

    gcloud compute instances create INSTANCE_NAME \
        --metadata=windows-startup-script-url=URL,managed-ad-domain=DOMAIN_RESOURCE_PATH,managed-ad-domain-join-failure-stop=TRUE,enable-guest-attributes=TRUE \
        --service-account=SERVICE_ACCOUNT \
        --scopes=https://www.googleapis.com/auth/cloud-platform \
        --image-project windows-cloud \
        --image-family IMAGE_FAMILY
    

    Substitua:

    • INSTANCE_NAME: nome da VM do Windows Compute Engine a ser criada. Por exemplo, my-instance-1.
    • URL: um local acessível publicamente do script de inicialização do Windows que a VM executa durante o processo de inicialização.
    • DOMAIN_RESOURCE_PATH: nome completo do recurso do domínio do Microsoft AD gerenciado a ser usado. Por exemplo, projects/my-project-123/locations/global/domains/my-domain.example.com.
    • SERVICE_ACCOUNT: uma conta de serviço que você quer anexar à VM. Por exemplo, my-sa-123@my-project-123.iam.gserviceaccount.com.
    • --scopes: os escopos de acesso padrão configurados na VM restringem a solicitação de participação no domínio. Você precisa definir o escopo de acesso cloud-platform completo na VM. Para mais informações, consulte Autorização.
    • --image-project: defina essa sinalização como windows-cloud para criar uma VM do Windows. Veja mais informações em gcloud compute instances create.
    • IMAGE_FAMILY: especifique uma das famílias de imagens públicas que têm imagens para as versões compatíveis do Windows. Por exemplo, windows-2019-core.

    Para mais informações sobre como adicionar metadados durante a criação da VM, consulte Definir metadados durante a criação da VM.

    Participar de uma VM do Windows atual

    Atualize as chaves de metadados em uma VM atual do Windows Compute Engine e associe a VM ao seu domínio. Depois de adicionar essas chaves de metadados à VM, reinicie-a para que a solicitação de participação no domínio seja bem-sucedida.

    Para ingressar em uma VM atual do Compute Engine no Windows, execute o seguinte comando da CLI gcloud:

    gcloud compute instances add-metadata INSTANCE_NAME \
        --metadata=windows-startup-script-url=URL,managed-ad-domain=DOMAIN_RESOURCE_PATH,managed-ad-domain-join-failure-stop=TRUE,enable-guest-attributes=TRUE \
        --service-account=SERVICE_ACCOUNT \
        --scopes=https://www.googleapis.com/auth/cloud-platform
    

    Substitua:

    • INSTANCE_NAME: nome da VM do Windows Compute Engine que você quer mesclar. Por exemplo, my-instance-1.
    • URL: um local acessível publicamente do script de inicialização do Windows que a VM executa após a reinicialização.
    • DOMAIN_RESOURCE_PATH: nome completo do recurso do domínio do Microsoft AD gerenciado a ser usado. Por exemplo, projects/my-project-123/locations/global/domains/my-domain.example.com.
    • SERVICE_ACCOUNT: a conta de serviço que você anexou à VM durante a criação. Por exemplo, my-sa-123@my-project-123.iam.gserviceaccount.com.
    • --scopes: os escopos de acesso padrão configurados na VM restringem a solicitação de participação no domínio. Você precisa definir o escopo de acesso cloud-platform completo na VM. Para mais informações, consulte Autorização.

    Para mais informações sobre como adicionar metadados a uma VM, consulte Como atualizar metadados em uma VM em execução.

    Limpar VMs desvinculadas

    Recomendamos excluir a conta do computador manualmente do Microsoft AD gerenciado nos seguintes cenários:

    • Se você excluir uma VM associada ao domínio do Microsoft AD gerenciado.
    • Se ocorrer uma falha na mesclagem de uma VM com o domínio gerenciado do Microsoft AD.

    Ver registros de depuração

    Se a solicitação de participação no domínio falhar, verifique os registros do script de inicialização para identificar e resolver o problema. Para verificar os registros do script de inicialização, você pode ver a saída da porta serial 1. Se você tiver ativado os atributos de convidado na VM, poderá receber os atributos de convidado para visualizar os registros.

    Para informações sobre os erros comuns que podem ocorrer ao associar uma VM a um domínio, consulte Não é possível mesclar uma VM do Windows automaticamente a um domínio.

    A seguir