L'objectif de la fonctionnalité de mise en attente sélective à des fins d'analyse consiste à fournir des données précises et non modifiées pour répondre aux besoins juridiques, de sécurité et opérationnels. Le cas d'utilisation actuellement pris en charge permet, de manière périodique, de capturer en direct les données associées au poste de travail d'un utilisateur lorsque celui-ci est mis en attente sélective pour des raisons juridiques, de réponse aux incidents ou opérationnelles. Mettre un utilisateur en attente sélective à des fins d'analyse rend les postes de travail de l'utilisateur temporairement persistants, ce qui évite l'actualisation ou la suppression (« recréation d'images ») du poste de travail et offre à l'administrateur la possibilité d'accéder au poste de travail de l'utilisateur à des fins d'investigation avec un effet minimal sur l'expérience de l'utilisateur.

Fonctionnement de la fonctionnalité de mise en attente sélective à des fins d'analyse

  • Contrôle d'accès basé sur les rôles

    La fonctionnalité d'analyse est contrôlée par le privilège global ANALYSE. Le super administrateur peut attribuer ce privilège à un autre administrateur, qui est appelé administrateur d'analyses, mais ce privilège n'est pas activé pour le super administrateur par défaut. Pour plus d'informations, reportez-vous à la section « Privilèges globaux » dans le document Administration d'Horizon 8.

  • Banque de données d'archivage

    La banque de données d'archivage est un ensemble NFS ou VMFS monté globalement dans LDAP. Horizon 8 lit ce paramètre depuis LDAP pour déterminer où placer les données archivées. Par défaut, le paramètre consiste à utiliser la même banque de données que celle sur laquelle se trouve le pool.

  • Workflow de mise en attente sélective
    • Mettre les utilisateurs en attente
      Une mise en attente ne peut être appliquée qu'à un niveau d'utilisateur AD individuel. Lorsque l'administrateur d'analyse met un utilisateur en attente à l'aide de l'API, la situation suivante se produit :
      • Si l'utilisateur utilise déjà une machine virtuelle, la mise en attente s'applique à la machine virtuelle à laquelle il est actuellement connecté et à toutes les autres machines virtuelles attribuées à l'utilisateur.
      • Lorsque cet utilisateur se connecte à une machine virtuelle, Horizon 8 modifie l'état de la machine virtuelle d'Instant Clone de sans état à avec état, mais laisse la machine virtuelle avec état dans son pool d'origine.
      • L'utilisateur en attente continue de se reconnecter à la même machine virtuelle et de voir toutes les modifications précédentes qu'il a apportées à son poste de travail. Horizon 8 ne modifie en aucune manière le contenu de la machine virtuelle.
      • Un indicateur d'état dans la console d'administration indique que la machine virtuelle est en attente.
      • La machine virtuelle est marquée dans vCenter afin que les administrateurs vCenter sachent qu'il ne doit pas être modifié.
    • Pendant la période de retenue
      Une fois qu'un utilisateur est mis en attente, l'équipe d'analyse peut accéder au poste de travail avec état pour effectuer des investigations et capturer les données en direct à la volée. Pour cette capture de données, l'administrateur des analyses dispose des options suivantes.
      • Utilisez l'API Archive. L'API Archive peut fonctionner sur plusieurs machines virtuelles et plusieurs utilisateurs. Vous ne pouvez archiver une machine virtuelle individuelle que lorsque l'utilisateur n'est pas connecté. Si l'utilisateur est connecté, la commande d'archivage doit être retardée jusqu'à ce que l'utilisateur se déconnecte.
        L'opération d'analyse fonctionne comme suit :
        • La machine virtuelle est arrêtée.
        • Tous les disques sont consolidés.
        • Tous les snapshots sont consolidés.
        • Le fichier VMDK est copié dans l'emplacement d'archive sélectionné.
        • La machine virtuelle est resynchronisée avec l'image cible.
      • Utilisez vos propres scripts ou outils tiers. Dans ce cas, vous pouvez choisir d'archiver uniquement la mémoire de l'hyperviseur, uniquement les VMDK des machines virtuelles ou la mémoire et les VMDK de l'hyperviseur.

        La variable d'environnement isHeldUser indique si l'utilisateur qui se connecte à la session est mis en attente. En fonction de la valeur de cette variable, vous pouvez déclencher des scripts de collecte de données lorsqu'un utilisateur mis en attente se connecte à un poste de travail. Un script peut être déclenché lorsque le service d'hôte de script est en cours d'exécution sur la VM du Serveur de connexion. Pour plus d'informations, reportez-vous à la section « Activer le service de l'hôte de script VMware Horizon View » du document Fonctionnalités de poste de travail distant et objets de stratégie de groupe Horizon.

      Éléments à noter pendant la période de mise en attente :
      • Une machine virtuelle en attente ne peut pas être actualisée, récupérée, supprimée ou placée en mode de maintenance. Cela s'applique uniquement à la machine virtuelle mise en attente, pas à d'autres machines virtuelles du même pool.
      • Un pool contenant des machines virtuelles en attente ne peut pas être supprimé.
      • Lorsque la capacité de réduction automatique du pool est définie, Horizon 8 hiérarchise la machine virtuelle en attente afin qu'elle ne soit pas perdue.
      • Lorsque le pool d'Instant Clone doit procéder à l'actualisation du pool ou à la mise à jour du correctif, deux options sont possibles :
        • Lorsqu'un pool contenant des machines virtuelles en attente doit être actualisé et que la banque de données d'archive n'est pas définie, l'image de transfert ignore ces machines virtuelles avec état. Cela permet de conserver les machines virtuelles mises en attente à des fins d'analyse, et l'utilisateur continue à être dirigé vers cette machine virtuelle persistante lorsqu'il se connecte. Ces machines virtuelles doivent ensuite être corrigées avec des outils distincts, tels que des machines virtuelles persistantes.
        • Lorsqu'un pool contenant des machines virtuelles mises en attente doit être actualisé et que la banque de données d'archive est définie, Horizon 8 effectue d'abord une image de transfert sur toutes les autres machines virtuelles du pool, puis archive les machines virtuelles mises en attente. Une fois les machines virtuelles en attente archivées, Horizon 8 effectue un processus d'image de transfert normal sur celles-ci. Lorsque l'utilisateur mis en attente se connecte de nouveau, il obtient une machine virtuelle vierge, qui se transforme en machine virtuelle avec état, et le processus se répète. Notez que chaque fois qu'une opération de correctif se produit, un stockage supplémentaire est requis pour copier et archiver la machine virtuelle avec état.
    • Suppression des utilisateurs du groupe en attente

      Lorsque l'administrateur d'analyse libère un utilisateur de l'attente à l'aide de l'API, la situation suivante se produit.

      • Horizon 8 transforme la machine virtuelle en une machine virtuelle sans état.
      • Lors de la prochaine déconnexion de l'utilisateur, la machine virtuelle est supprimée et recréée à partir de l'image standard, ce qui rétablit un état vierge.
  • Opérations d'analyse dans la base de données des événements

    Toutes les opérations, y compris l'octroi du privilège ANALYSE et la rétention/libération d'utilisateurs, sont capturées dans la base de données d'événements. Cela peut être utilisé pour notifier tous les scripts qui doivent s'exécuter.

Utilisation d'API pour effectuer des mises en attente sélectives à des fins d'analyse

Vous pouvez utiliser les API Horizon pour effectuer des mises en attente sélectives à des fins d'analyse, comme décrit ci-dessous. Pour chaque API, un lien vers sa documentation est affiché sur le site Web de VMware {code}.

  • Créer un rôle d'administrateur et attribuer un utilisateur
    1. Créez le rôle d'administrateur d'analyse personnalisé à l'aide de l'API suivante :
      /config/v1/roles

      La documentation de cette API est disponible ici.

    2. Attribuez le rôle Administrateur d'analyse en suivant les instructions de la section « Créer un administrateur dans Horizon Console » du guide Administration d'Horizon 8.
  • Désigner une banque de données pour l'archive
    Pour désigner une banque de données pour l'archive des disques virtuels et de la mémoire. Utilisez l'API suivante :
    /config/v1/virtual-centers/{id}/action/mark-datastores-for-archival

    La documentation de cette API est disponible ici.

  • Mettre l'utilisateur en attente
    Pour mettre un utilisateur en attente, utilisez l'API suivante :
    /external/v1/ad-users-or-groups/action/hold
    L'API renvoie l'ID de poste de travail, l'ID de pool et l'état de la machine pour tous les postes de travail attribués à l'utilisateur mis en attente. Vous pouvez utiliser ces informations d'alerte pour déclencher la collecte de données basée sur un script. La documentation de cette API est disponible ici.

    Dans vCenter, la balise ForensicHold est appliquée à toutes les machines virtuelles utilisées par les utilisateurs mis en attente.

  • Archiver le disque virtuel et la mémoire d'une machine virtuelle
    Pour archiver le disque virtuel et la mémoire d'une machine virtuelle, utilisez l'API suivante :
    /inventory/v1/machines/action/archive

    La documentation de cette API est disponible ici.

    • L'archivage se produit lorsque l'utilisateur se déconnecte de la machine virtuelle bloquée.
    • Lorsque des machines virtuelles ont été archivées, elles sont affichées dans le dossier Archive sur la banque de données d'archive (comme spécifié ci-dessus dans l'API) dans vCenter.
    • Si une machine virtuelle dispose de plusieurs disques, seul le disque principal est archivé. L'archive multi-disque n'est pas pris en charge dans cette version.
  • Libérer un utilisateur de l'attente
    Pour libérer un utilisateur de l'attente, utilisez l'API suivante :
    /external/v1/ad-users-or-groups/action/release-hold

    L'API renvoie l'ID de poste de travail, l'ID de pool et l'état de la machine pour tous les postes de travail attribués à l'utilisateur mis en attente. Vous pouvez utiliser ces informations d'alerte pour déclencher la collecte de données basée sur un script. La documentation de cette API est disponible ici.

  • Répertorier les utilisateurs en attente
    Pour répertorier les utilisateurs en attente, utilisez l'API suivante :
    /external/v1/ad-users-or-groups/held-users-or-groups

    La documentation de cette API est disponible ici.

  • Répertorier les machines en attente
    Pour produire une liste des machines actuellement en attente, utilisez l'API suivante :
    /inventory/v3/machines

    La documentation de cette API est disponible ici.

    Note : Cette API renvoie toutes les machines. Dans la réponse, la valeur des machines virtuelles en attente est "held_machine": true.