Joindre automatiquement une VM Windows à un domaine

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

Comment le service 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 de jonction de domaine implique généralement l'exécution manuelle de quelques étapes.

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 dans le service Microsoft AD géré.

Lorsque vous créez des VM Compute Engine, vous pouvez utiliser des scripts pour associer automatiquement les VM à votre domaine Microsoft AD géré. Une fois que Compute Engine a créé les VM, le service Microsoft AD géré lance la demande de jonction au domaine et tente de joindre les VM à votre domaine. Si la demande de jonction au domaine aboutit, le service Microsoft AD géré joint les VM créées à votre domaine. Si la demande de jonction au domaine échoue, les VM créées continuent de s'exécuter. Pour des raisons de sécurité ou de facturation, vous pouvez personnaliser ce comportement. Le service Microsoft AD géré 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 associer automatiquement les VM existantes à votre domaine Microsoft AD géré. Pour que la demande de jonction de 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 le service 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 roles/managedidentities.domainJoin (Google Cloud Managed Identities Domain Join) sur le projet contenant le domaine Microsoft AD géré. Pour en savoir plus, consultez la page Rôles Cloud Managed Identities.

  6. Définissez l'intégralité du niveau d'accès 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 joindre 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 au public 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 la section 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é à associer, au format projects/PROJECT_ID/locations/global/domains/DOMAIN_NAME. 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 s'exécuter même après l'échec de la demande de jonction de domaine. Vous pouvez définir cette clé de métadonnées sur TRUE si vous souhaitez arrêter la VM lorsque la requête échoue. Le service Microsoft AD géré peut arrêter la VM une fois que vous avez défini cette clé de métadonnées, mais cela ne supprime pas la VM.
enable-guest-attributes Facultatif: Par défaut, les attributs d'invité sont désactivés sur les 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 de domaine après l'exécution du script de démarrage.

Le service Microsoft AD géré écrit l'état de jonction de domaine dans les clés suivantes sous l'espace de noms managed-ad de guest-attributes:
  • domain-join-status: cette clé fournit l'état de la demande de jonction de domaine après l'exécution du script.
  • domain-join-failure-message: si la requête de jonction 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 la jonction de domaine.
    managed-ad-ou-name Facultatif: par défaut, le service Microsoft AD géré joint la VM à l'unité organisationnelle (UO) GCE Instances prédéfinie 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 associer la VM à une UO personnalisée, vous devez créer l'UO personnalisée sous l'UO GCE Instances ou sous 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 l'UO GCE Instances.

    Si vous créez une UO personnalisée sous l'UO Cloud, spécifiez le chemin d'accès de l'UO personnalisée au format suivant: /cloud/SUB_OU1/SUB_OU2/…/CUSTOM_OU. 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 associée à un domaine, le compte d'ordinateur de la VM continue d'exister dans le service Microsoft AD géré. Lorsque vous essayez de rejoindre une autre VM avec le même compte d'ordinateur, la demande de jonction 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 lorsque vous mettez à jour une VM existante. Les sections suivantes expliquent comment utiliser ces clés de métadonnées dans les commandes de 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 à l'aide des autres options disponibles. Pour en savoir plus sur l'utilisation de métadonnées avec une VM Windows Compute Engine, consultez Définir des métadonnées personnalisées.

    Joindre une VM Windows lors de sa création

    Pour créer et joindre une VM Windows Compute Engine, exécutez la commande gcloud CLI 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. Par exemple, my-instance-1.
    • URL: emplacement accessible au public 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 du domaine Microsoft AD géré à associer. Par exemple, projects/my-project-123/locations/global/domains/my-domain.example.com.
    • SERVICE_ACCOUNT: compte de service que vous souhaitez associer à la VM. Par 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 demande de jonction 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.
    • --image-project: vous devez définir cette option 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 Windows compatibles. 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 à la création d'une VM.

    Rejoindre une VM Windows existante

    Vous pouvez mettre à jour les clés de métadonnées sur une VM Windows Compute Engine existante et associer la VM à votre domaine. Après avoir ajouté ces clés de métadonnées à la VM, redémarrez-la pour que la demande de jonction 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 Windows Compute Engine que vous souhaitez joindre. Par exemple, my-instance-1.
    • URL: emplacement accessible au public 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. Par 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. Par 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 demande de jonction 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 Mettre à jour les métadonnées d'une VM en cours d'exécution.

    Nettoyer les VM non associées

    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 jointe au domaine Microsoft AD géré.
    • Si une VM n'a pas pu être jointe au domaine Microsoft AD géré.

    Afficher les journaux de débogage

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

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

    Étapes suivantes