Joindre automatiquement une VM Windows à un domaine

Cette page explique comment joindre une instance de VM Windows Compute Engine à un domaine à l'aide de la fonctionnalité de jonction de domaine automatisée du service géré pour Microsoft Active Directory.

Comment Microsoft AD géré associe automatiquement une VM Windows à un domaine

Pour utiliser le service Microsoft AD géré afin d'authentifier les applications exécutées sur vos VM, vous devez associer les VM à votre domaine Microsoft AD géré. Le processus d'association au domaine implique généralement d'effectuer certaines étapes manuelles.

Lorsque vous créez ou mettez à jour une VM Windows Compute Engine, vous pouvez l'associer à votre domaine Microsoft AD géré en automatisant l'approche manuelle à l'aide de scripts. Toutefois, pour exécuter ces scripts sur une VM Compute Engine, vous avez besoin d'identifiants AD qui doivent être stockés et gérés de manière sécurisée, ainsi que d'un environnement pour provisionner et exécuter ces scripts. Pour éliminer le besoin d'identifiants et d'un service supplémentaire, vous pouvez automatiser le processus de jonction de domaine à l'aide de scripts prêts à l'emploi disponibles depuis le service Microsoft AD géré.

Lorsque vous créez des VM Compute Engine, vous pouvez utiliser des scripts pour les joindre automatiquement à votre domaine Microsoft AD géré. Une fois que Compute Engine a créé les VM, Microsoft AD géré lance la requête d'association au domaine et tente d'associer les VM à votre domaine. Si la demande d'association au domaine aboutit, le service Microsoft AD géré associe les VM créées à votre domaine. Si la demande d'association au domaine échoue, les VM créées continuent de fonctionner. Pour des raisons de sécurité ou de facturation, vous pouvez personnaliser ce comportement. Managed Microsoft AD peut arrêter les VM lorsque la requête de jonction au domaine échoue.

Lorsque vous mettez à jour des VM Compute Engine, vous pouvez utiliser des scripts pour joindre automatiquement les VM existantes à votre domaine Microsoft AD géré. Pour que la demande de jointure du domaine aboutisse, le service Microsoft AD géré redémarre les VM après l'exécution des scripts.

Avant de commencer

  1. Créez un domaine Microsoft AD géré.

  2. Assurez-vous que le nom de la VM ne comporte pas plus de 15 caractères.

  3. Assurez-vous que la VM s'exécute sur une version de Windows compatible avec Microsoft AD géré.

  4. Configurez l'appairage de domaines entre le domaine Microsoft AD géré et le réseau de la VM, ou placez le domaine Microsoft AD géré et la VM sur le même réseau.

  5. Créez un compte de service avec le rôle IAM Google Cloud Managed Identities Domain Join (roles/managedidentities.domainJoin) dans le projet contenant le domaine Microsoft AD géré. Pour en savoir plus, consultez la section Rôles des identités gérées dans le cloud.

  6. Définissez le niveau d'accès complet cloud-platform sur la VM. Pour en savoir plus, consultez la section Autorisation.

Métadonnées

Vous avez besoin des clés de métadonnées suivantes pour associer une VM Windows à un domaine.

Clés de métadonnées Description
windows-startup-script-url Utilisez cette clé de métadonnées pour spécifier l'emplacement accessible publiquement du script de démarrage Windows que la VM exécute au cours du processus de démarrage. Pour utiliser le script de démarrage Windows pré-diffusé par le service Microsoft AD géré, vous pouvez saisir l'URL suivante: https://raw.githubusercontent.com/GoogleCloudPlatform/managed-microsoft-activedirectory/main/domain_join.ps1.

Si la VM n'a pas accès à cette URL, vous pouvez transmettre le script de démarrage à l'aide de l'une des autres méthodes compatibles. Pour en savoir plus, consultez Utiliser des scripts de démarrage sur des VM Windows.
managed-ad-domain Utilisez cette clé de métadonnées pour spécifier le nom complet de la ressource du domaine Microsoft AD géré à joindre, au format projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME. Par exemple, projects/my-project-123/locations/global/domains/my-domain.example.com.
managed-ad-domain-join-failure-stop Facultatif: Par défaut, la VM continue de fonctionner même après l'échec de la demande d'association au domaine. Vous pouvez définir cette clé de métadonnées sur TRUE si vous souhaitez arrêter la VM en cas d'échec de la requête. Microsoft AD géré peut arrêter la VM après avoir défini cette clé de métadonnées, mais il ne la supprime pas.
enable-guest-attributes Facultatif: Par défaut, les attributs d'invité sont désactivés sur une VM. Vous pouvez définir cette clé de métadonnées sur TRUE si vous souhaitez utiliser les attributs d'invité de la VM pour consigner l'état de la jonction au domaine après l'exécution du script de démarrage.

Managed Microsoft AD écrit l'état de l'association au domaine dans les clés suivantes sous l'espace de noms managed-ad de guest-attributes :
  • domain-join-status : cette clé indique l'état de la requête d'association au domaine après l'exécution du script.
  • domain-join-failure-message : si la requête d'association au domaine échoue, cette clé fournit le message d'erreur.
  • Lorsque vous obtenez les attributs d'invité, vous pouvez utiliser cet espace de noms et ces clés pour afficher l'état de l'association au domaine.
    managed-ad-ou-name Facultatif: Par défaut, le service Microsoft AD géré associe la VM à l'unité organisationnelle (UO) GCE Instances pré-créée dans l'UO Cloud afin de mieux gérer les règles. Pour en savoir plus sur l'UO Cloud, consultez Unités organisationnelles.

    Si vous souhaitez joindre la VM à une UO personnalisée, vous devez créer l'UO personnalisée soit dans l'UO GCE Instances, soit dans l'UO Cloud dans le service Microsoft AD géré, et utiliser cette clé de métadonnées pour spécifier l'UO personnalisée. Le service Microsoft AD géré n'est pas compatible avec les UO personnalisées que vous créez ailleurs que sous l'UO Cloud ou GCE Instances.

    Si vous créez une UO personnalisée sous l'UO Cloud, spécifiez le chemin de l'UO personnalisée au format suivant: /cloud/SUB_OU1/SUB_OU2/…/CUSTOM_OU. Par exemple, /cloud/my-sub-ou/my-custom-ou.

    Pour en savoir plus sur la gestion des objets AD dans le service Microsoft AD géré, consultez Gérer les objets Active Directory.
    managed-ad-force Facultatif: Lorsque vous supprimez une VM que vous avez jointe à un domaine, le compte d'ordinateur de la VM continue d'exister dans le service Microsoft AD géré. Lorsque vous essayez de joindre une autre VM avec le même compte d'ordinateur, la demande d'association au domaine échoue par défaut. Le service Microsoft AD géré peut réutiliser un compte d'ordinateur existant si vous définissez cette clé de métadonnées sur TRUE.

    Rejoindre la VM Windows

    Vous pouvez utiliser ces clés de métadonnées lorsque vous créez une VM Windows ou mettez à jour une VM existante. Les sections suivantes expliquent comment utiliser ces clés de métadonnées dans les commandes gcloud CLI lorsque vous créez ou mettez à jour une VM.

    Toutefois, vous pouvez également utiliser ces clés de métadonnées avec une VM en utilisant les autres options disponibles. Pour en savoir plus sur l'utilisation des métadonnées avec une VM Compute Engine Windows, consultez la page Définir des métadonnées personnalisées.

    Rejoindre une VM Windows lors de la création

    Pour créer et rejoindre une VM Windows Compute Engine, exécutez la commande CLI gcloud suivante :

    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
    

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de la VM Windows Compute Engine à créer. Exemple :my-instance-1
    • URL: emplacement accessible publiquement du script de démarrage Windows que la VM exécute au cours du processus de démarrage.
    • DOMAIN_RESOURCE_PATH : nom complet de la ressource de votre domaine Microsoft AD géré à rejoindre. Exemple :projects/my-project-123/locations/global/domains/my-domain.example.com
    • SERVICE_ACCOUNT: compte de service que vous souhaitez associer à la VM. Exemple :my-sa-123@my-project-123.iam.gserviceaccount.com
    • --scopes : les niveaux d'accès par défaut configurés dans la VM limitent la requête d'association au domaine. Vous devez définir le niveau d'accès cloud-platform complet sur la VM. Pour en savoir plus, consultez la section Autorisation.
    • --image-project: vous devez définir cet indicateur sur windows-cloud pour créer une VM Windows. Pour en savoir plus, consultez la section consacrée à gcloud compute instances create.
    • IMAGE_FAMILY: spécifiez l'une des familles d'images publiques contenant des images pour les versions compatibles de Windows. Par exemple, windows-2019-core.

    Pour en savoir plus sur l'ajout de métadonnées lors de la création d'une VM, consultez Définir des métadonnées lors de la création de la VM.

    Rejoindre une VM Windows existante

    Vous pouvez mettre à jour les clés de métadonnées sur une VM Compute Engine Windows existante et la joindre à votre domaine. Après avoir ajouté ces clés de métadonnées à la VM, redémarrez-la pour que la requête d'association au domaine aboutisse.

    Pour joindre une VM Compute Engine Windows existante, exécutez la commande gcloud CLI suivante:

    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
    

    Remplacez les éléments suivants :

    • INSTANCE_NAME: nom de la VM Compute Engine Windows que vous souhaitez rejoindre. Exemple :my-instance-1
    • URL: emplacement accessible publiquement du script de démarrage Windows que la VM exécute après le redémarrage.
    • DOMAIN_RESOURCE_PATH: nom complet de la ressource du domaine Microsoft AD géré à associer. Exemple :projects/my-project-123/locations/global/domains/my-domain.example.com
    • SERVICE_ACCOUNT : compte de service auquel vous avez associé la VM lors de sa création. Exemple :my-sa-123@my-project-123.iam.gserviceaccount.com
    • --scopes : les niveaux d'accès par défaut configurés dans la VM limitent la requête d'association au domaine. Vous devez définir l'intégralité du niveau d'accès cloud-platform sur la VM. Pour en savoir plus, consultez la section Autorisation.

    Pour en savoir plus sur l'ajout de métadonnées à une VM existante, consultez la page Mettre à jour les métadonnées sur une VM en cours d'exécution.

    Nettoyer les VM non jointes

    Nous vous recommandons de supprimer manuellement le compte d'ordinateur du service Microsoft AD géré dans les cas suivants:

    • Vous supprimez une VM que vous avez associée au domaine Microsoft AD géré.
    • Si une VM n'a pas pu se joindre au domaine Microsoft AD géré.

    Afficher les journaux de débogage

    Si la demande de jointure de domaine échoue, vous pouvez consulter le script de démarrage dans les journaux afin d'identifier et de résoudre le problème. Pour vérifier les journaux du script de démarrage, vous pouvez afficher la sortie du port série 1. Si vous avez activé les attributs d'invité sur la VM, vous pouvez obtenir les attributs d'invité pour afficher les journaux.

    Pour en savoir plus sur les erreurs courantes que vous pouvez rencontrer lors de la jonction d'une VM à un domaine, consultez Impossible de joindre automatiquement une VM Windows à un domaine.

    Étape suivante