Citrix Provisioning

Tâches de pré-installation

Effectuez les tâches suivantes avant l’installation et la configuration de Citrix Provisioning.

Important :

Assurez-vous que toutes les mises à jour Windows sont à jour avant d’installer les composants Citrix Provisioning. Citrix vous recommande de redémarrer après l’installation de toutes les mises à jour Windows.

Sélection et configuration de la base de données Microsoft SQL

Chaque batterie Citrix Provisioning possède une seule base de données. Vous pouvez fournir la base de données sur :

  • Une instance SQL Server ou SQL Server Express existante
  • Un nouveau serveur exécutant SQL Server ou SQL Server Express
  • Une instance Azure SQL Database nouvelle ou existante

Tous les serveurs Citrix Provisioning d’une batterie de serveurs doivent pouvoir communiquer avec le serveur de base de données.

Dans un environnement de production, afin d’éviter une répartition déséquilibrée durant l’équilibrage de charge, il est recommandé d’installer l’instance SQL Server ou SQL Server Express et le logiciel du serveur Citrix Provisioning sur des serveurs distincts.

Il existe trois façons de créer la base de données :

  • Utilisez l’assistant de configuration. Pour utiliser cette option, vous avez besoin de l’autorisation dbcreator.
  • Si vous n’avez pas l’autorisation de créer des bases de données, utilisez l’utilitaire DbScript.exe pour créer un script SQL qu’un administrateur de base de données peut exécuter pour créer la base de données de provisioning. Cet outil est installé avec le logiciel Provisioning.
  • Si l’administrateur de base de données crée une base de données vide en exécutant l’utilitaire DbScript.exe, cette base de données est choisie comme base de données pour la nouvelle batterie de serveurs lors de l’exécution de l’assistant de configuration. La connexion utilisée lors de l’exécution de l’assistant de configuration doit être le propriétaire de la base de données. En outre, cette connexion doit disposer de l’autorisation View any definition. L’administrateur de la base de données définit cette autorisation lors de la création de la base de données vide.

Exécuter l’utilitaire DbScript.exe pour créer ou mettre à jour la base de données

Si vous n’avez pas l’autorisation de créer des bases de données, utilisez DbScript.exe pour générer un script SQL que l’administrateur de base de données exécute pour créer ou mettre à jour la base de données Citrix Provisioning. Exécutez le script à partir de l’invite de commande Windows dans C:\Program Files\Citrix\Provisioning Services.

Pour générer le script de création de la base de données, utilisez la syntaxe suivante :

  • Pour SQL Server et SQL Server Express : DbScript.exe -new <databaseName> <farmName> <siteName> <collectionName> <farmAdminGroup> <adGroupsEnabled> <scriptName> <is2012orHigher>
  • Pour Azure SQL Database :DbScript.exe -newForAzSqlDb <databaseName> <farmName> <siteName> <collectionName> <farmAdminGroup> <adGroupsEnabled> <scriptName> <is2012orHigher>

Lors de la création d’une nouvelle base de données pour Azure SQL Database, DbScript produit deux fichiers de script au lieu d’un.

  • Le premier est exécuté dans la base de données principale et crée la nouvelle base de données.
  • Le second script est ensuite exécuté dans la nouvelle base de données.

Pour générer le script de mise à jour de la base de données, entrez :

DbScript.exe -upgrade <databaseName> <scriptName>

Les commandes utilisent les arguments suivants :

  • <databaseName> : nom de la base de données à mettre à jour.
  • <farmName> : nom de la batterie de la base de données.
  • <siteName> : nom du site de la base de données.
  • <collectionName> : nom de la collection de la base de données.
  • <farmAdminGroup> : groupe d’administrateurs de batterie, spécifié comme chemin complet.

    Remarque :

    Lorsque vous exécutez l’assistant de configuration, vous devez être membre de ce groupe (un groupe Active Directory) pour ajouter les serveurs Citrix Provisioning à la base de données.

  • <adGroupsEnabled> : permet d’activer ou désactiver les groupes AD ; option spécifiée comme valeur booléenne, où true active les groupes AD et false désactive les groupes AD.
  • <scriptName> : nom du script à générer, spécifié comme chemin complet.
  • <is2012orHigher> — Cette option est obsolète. Utilisez true.

Exemples DbScript.exe

Cet exemple génère un script pour créer une base de données Citrix Provisioning vide appelée db1-2. Le script est appelé newDb.sql et se trouve dans C:.

C:\Program Files\Citrix\Provisioning Services> DbScript.exe -new db1-2 Farm1 Site1 Collection1 "test.local/Users/Domain Users" true c:\newDb.sql true

Cet exemple génère un script pour mettre à niveau la base de données Citrix Provisioning test1. Le script est appelé upgrade.sql et, comme aucun chemin d’accès n’est spécifié, se trouve dans le répertoire où le script a été exécuté (C:\Program Files\Citrix\Provisioning Services).

C:\Program Files\Citrix\Provisioning Services>DbScript.exe -upgrade test1 upgrade.sql

Dimensionnement de la base de données

Pour de plus amples informations, consultez la section Dimensionnement de la base de données.

Lorsque la base de données est créée, sa taille initiale est de 20 Mo avec une taille de croissance de 10 Mo. La taille initiale du journal de base de données est de 10 Mo avec une taille de croissance de 10 %.

La quantité d’espace minimum requis est de 112 Ko, ce qui ne change pas. L’image de base comprend les éléments suivants :

  • L’enregistrement DatabaseVersion requiert approximativement 32 Ko.
  • L’enregistrement Farm requiert approximativement 8 Ko.
  • L’enregistrement DiskCreate requiert approximativement 16 Ko.
  • Les notifications requièrent approximativement 40 Ko.
  • L’enregistrement ServerMapped requiert approximativement 16 Ko.

La quantité d’espace variable requis, basée sur des objets, est la suivante :

  • Accès et regroupements (chaque)
    • Un groupe d’utilisateur qui a accès au système requiert approximativement 50 Ko.
    • Un enregistrement Site requiert approximativement 4 Ko.
    • Une collection requiert approximativement 10 Ko.
  • FarmView (chaque)
    • FarmView requiert approximativement 4 Ko.
    • Une relation FarmView/Device requiert approximativement 5 Ko.
  • SiteView (chaque)
    • SiteView requiert approximativement 4 Ko.
    • Une relation SiteView/Device requiert approximativement 5 Ko.
  • Machine cible (chaque)
    • Une machine cible requiert approximativement 2 Ko
    • DeviceBootstrap requiert approximativement 10 Ko.
    • La relation Device:Disk requiert approximativement 35 Ko.
    • DevicePersonality requiert approximativement 1 Ko.
    • DeviceStatus requiert approximativement 1 KB lorsqu’une machine est démarrée.
    • DeviceCustomProperty requiert approximativement 2 Ko.
  • Disque (chaque)
    • Un disque unique requiert approximativement 1 Ko.
    • DiskVersion requiert approximativement 3 Ko.
    • DiskLocator requiert approximativement 10 Ko.
    • DiskLocatorCustomProperty requiert approximativement 2 Ko.
  • Serveur Provisioning (chaque)
    • Un serveur requiert approximativement 5 Ko.
    • ServerIP requiert approximativement 2 Ko.
    • ServerStatus lorsqu’un serveur est démarré requiert approximativement 1 KB.
    • ServerCustomProperty requiert approximativement 2 Ko.
  • Magasin (chaque)
    • Store requiert approximativement 8 Ko.
    • La relation Store/Server requiert approximativement 4 Ko.
  • Mise à jour du disque (chaque)
    • VirtualHostingPool requiert approximativement 4 Ko.
    • UpdateTask requiert approximativement 10 Ko.
    • DiskUpdateDevice requiert approximativement 2 Ko.
    • Chaque relation DiskUpdateDevice:Disk requiert approximativement 35 Ko.
    • La relation Disk:UpdateTask requiert approximativement 1 Ko.

Les modifications suivantes entrainent l’augmentation des conditions requises en matière de taille :

  • Chaque tâche traitée (par exemple : fusionnement des versions de disque virtuel) requiert approximativement 2 Ko.
  • Si la fonction d’audit est activée, chaque modification effectuée par l’administrateur dans la console Citrix Provisioning, MCLI ou l’interface PowerShell requiert approximativement 1 Ko.

Mise en miroir de la base de données

Pour que Citrix Provisioning prenne en charge la mise en miroir de base de données MS SQL, la base de données doit être configurée avec High-safety mode with a witness (synchronous).

Pour plus d’informations sur la manière de configurer et d’utiliser la mise en miroir de base de données, consultez la section Mise en miroir de la base de données.

Implémenter le clustering de base de données

Pour implémenter le clustering de base de données :

  1. Suivez les instructions de Microsoft.
  2. Lancez l’assistant de configuration Citrix Provisioning.
  3. Spécifiez Availability Group listener comme serveur de base de données. Aucune instance n’est utilisée.
  4. Activez Multi-Subnet Failover dans Connection Options.

Types d’authentification pris en charge

Le tableau vous aide à déterminer comment vous souhaitez que Citrix Provisioning s’authentifie auprès de la base de données et les informations d’identification que vous souhaitez utiliser lors de l’authentification.

Type d’authentification Accorde l’accès à Informations d’identification requises Plateforme base de données Autres restrictions
Intégré à Active Directory Utilisateur Active Directory. Créez le nom d’utilisateur dans Active Directory si vous ne souhaitez pas utiliser un nom d’utilisateur existant. Aucune (utilise le contexte de connexion actuel) SQL Server Le serveur Citrix Provisioning doit appartenir à un domaine. Le contexte utilisateur du service Citrix Provisioning doit être un utilisateur de domaine. Un utilisateur de domaine doit configurer Citrix Provisioning.
SQL Server Connexion SQL. Créez la connexion SQL sur le serveur de base de données si vous ne souhaitez pas en utiliser une existante. Connexion et mot de passe SQL Server et Azure SQL Database  

Remarque :

Pour plus d’informations sur les types d’authentification pris en charge pour Citrix Provisioning sur Azure, consultez l’article Types d’authentification pris en charge dans Citrix Provisioning sur Azure.

Configuration de l’authentification

Citrix Provisioning peut utiliser l’authentification Active Directory Integrated ou l’authentification SQL Server pour accéder à la base de données.

Autorisations d’accès des utilisateurs à l’assistant de configuration

Vous devez disposer des privilèges système d’un administrateur local pour exécuter l’assistant de configuration.

Le principal de la base de données d’administration est le principal de la base de données utilisé par l’assistant de configuration pour créer et configurer la base de données de provisioning. Les informations d’authentification que vous spécifiez dans l’assistant de configuration identifient le principal de la base de données.

  • Si vous choisissez l’authentification intégrée Active Directory, l’assistant de configuration accède à la base de données en tant qu’utilisateur exécutant l’assistant de configuration (utilisateur Active Directory).
  • Si vous choisissez l’authentification SQL Server, l’assistant de configuration accède à la base de données en tant que principal différent.

Consultez Types d’authentification pris en charge pour obtenir plus d’informations sur la sélection d’un principal de base de données d’administration.

Remarque :

Le principal de la base de données d’administration est uniquement utilisé lors de l’exécution de l’assistant de configuration. Il n’est pas enregistré et n’est pas utilisé par les services Stream et SOAP. Vous devez utiliser un principal avec des privilèges élevés pour les services Stream et SOAP.

  • Lorsque vous utilisez SQL Server, le principal de la base de données d’administration requiert les autorisations suivantes :

    • securityadmin pour créer et mettre à jour les identifiants de serveur (lors de l’utilisation de SQL Server)
    • db_owner pour toutes les bases de données existantes

Pour créer une base de données pour une nouvelle batterie de serveurs, le principal de la base de données d’administration requiert dbcreator comme autorisation supplémentaire. Voir Sélection et configuration de la base de données Microsoft SQL pour plus d’informations sur les différentes méthodes de création de la base de données.

  • Lorsque vous utilisez Azure SQL Database, le principal de la base de données d’administration requiert les autorisations suivantes :

    • loginmanager pour créer et mettre à jour les identifiants de serveur
    • db_owner pour toutes les bases de données existantes

    Pour créer une base de données pour une nouvelle batterie de serveurs, le principal de la base de données d’administration requiert dbmanager comme autorisation supplémentaire.

    loginmanager et dbmanager sont des rôles d’utilisateur spéciaux qui sont attribués aux utilisateurs dans la base de données principale.

Autorisations d’accès au compte de service

Le compte de service pour les services Stream et SOAP doit disposer des privilèges système suivants :

  • Exécuter en tant que service
  • Accès en lecture au registre
  • Accès à Program Files\Citrix\Citrix Provisioning
  • Accès en lecture et écriture à n’importe quel emplacement de disque virtuel

Le principal de la base de données de service est le principal de la base de données utilisé par les services pour accéder à la base de données de provisioning. Les informations d’authentification que vous spécifiez dans l’assistant de configuration identifient le principal de la base de données.

  • Si vous choisissez l’authentification intégrée Active Directory, les services accèdent à la base de données en tant que compte de service (utilisateur Active Directory).
  • Si vous choisissez l’authentification SQL Server, les services peuvent accéder à la base de données en tant que principal différent.

Consultez Types d’authentification pris en charge pour obtenir plus d’informations sur la sélection d’un principal de base de données de service.

L’assistant de configuration configure la base de données pour s’assurer que le principal de la base de données de service dispose des autorisations suivantes.

  • db_datareader
  • db_datawriter
  • Autorisations d’exécution sur les procédures stockées

Déterminez le compte d’utilisateur pris en charge sous lequel seront exécutés les services de streaming et SOAP :

  • compte de service réseau ;

    compte local doté des privilèges minimaux qui authentifie sur le réseau en tant que compte de la machine de domaine d’ordinateurs ;

  • compte d’utilisateur spécifié (requis lors de l’utilisation d’un partage Windows), qui peut être un compte d’utilisateur de domaine ou de groupe de travail ;

Pour que les licences KMS soient prises en charge, le compte d’utilisateur du serveur SOAP doit être membre du groupe Administrateurs local.

Conseil :

Comme l’authentification n’est pas fréquente dans les environnements de groupe de travail, des comptes d’utilisateurs dotés d’un minimum de privilèges doivent être créés sur chaque serveur et chaque instance doit posséder les mêmes informations d’identification.

Déterminez l’option de sécurité appropriée à utiliser dans cette batterie. Il n’est possible de sélectionner qu’une option par batterie et votre choix affecte les groupes d’utilisateurs et l’administration basée sur les rôles. Pour les options de sécurité :

  • Use Active Directory groups for security (par défaut) : sélectionnez cette option dans le cas d’un domaine Windows exécutant Active Directory. Cette option vous permet d’utiliser Active Directory pour les rôles d’administration de Citrix Provisioning.

    Remarque :

    Les domaines Windows 2000 ne sont pas pris en charge.

  • Use Windows groups for security : sélectionnez cette option si vous vous trouvez sur un serveur unique ou dans un groupe de travail. Cette option vous permet d’utiliser les groupes/l’utilisateur local sur ce serveur particulier pour les rôles d’administration de Citrix Provisioning.

les utilisateurs de la console n’ont pas d’accès direct à la base de données.

Les permissions minimales requises pour une fonctionnalité de provisioning supplémentaire comprennent :

  • Assistant d’installation Citrix Virtual Apps and Desktops, Assistant Streamed VM Setup Wizard et service de mise à jour de l’image
    • Autorisations minimales vCenter, SCVMM et XenServer (anciennement Citrix Hypervisor)
    • Autorisations pour l’utilisateur actuel sur un contrôleur Citrix Virtual Apps and Desktops existant
    • Un compte d’utilisateur de la console Citrix Provisioning configuré en tant qu’administrateur Citrix Virtual Apps and Desktops et ajouté à un groupe SiteAdmin ou supérieur
    • Permission Active Directory Create Accounts pour créer des comptes dans la console. Pour utiliser des comptes existants, les comptes Active Directory doivent exister dans une unité d’organisation connue pour sélection.
  • Synchronisation de compte AD : autorisations de création, de réinitialisation et de suppression
  • Disque virtuel : privilèges requis pour effectuer les tâches de maintenance de volume

Remarque :

Un compte de service ne nécessite pas d’autorisations AD spéciales.

Activer une connexion distante dans SQL Server

Utilisez les informations de cette section pour établir une connexion distante au serveur SQL.

  1. Connectez-vous au serveur SQL à l’aide de SQL Server Management Studio.
  2. Dans la fenêtre de l’explorateur d’objets, cliquez avec le bouton droit sur le serveur SQL et choisissez Propriétés :

    Explorateur d'objets MS SQL Server

  3. Dans la fenêtre Explorateur d’objets, sélectionnez le nœud Connexions. Sous Accès distants au serveur, activez ou désactivez la case à cocher Autoriser les accès distants à ce serveur :

Connexions MS SQL Server

Après la mise à jour de la connexion distante au serveur :

  1. Dans le menu Démarrer, cliquez sur Démarrer > Microsoft SQL Server version > SQL Server version Gestionnaire de configuration. La fenêtre Gestionnaire de configuration SQL Server s’affiche.
  2. Développez l’option Configuration du réseau SQL Server. Sélectionnez Protocoles pour (nom de votre serveur). Sélectionnez TCP/IP et faites un clic droit. Dans le menu contextuel, choisissez Activer. Cliquez sur OK pour redémarrer le service.

TCP/IP MS SQL Server

Après le redémarrage du service, modifiez le mode de démarrage. Dans la fenêtre Gestionnaire de configuration SQL Server :

  1. Sélectionnez Services SQL Server. Dans le volet droit, cliquez avec le bouton droit sur l’option Explorateur SQL Server pour afficher un menu contextuel.
  2. Choisissez Propriétés.
  3. Dans l’onglet Service, définissez le mode de démarrage sur Automatique.
  4. Cliquez sur OK.

Propriétés de l'explorateur MS SQL Server

  1. Sélectionnez Explorateur SQL Server et cliquez avec le bouton droit de la souris pour afficher un menu contextuel. Cliquez sur Démarrer.
  2. Sélectionnez le service SQL Server qui correspond à l’instance et cliquez avec le bouton droit pour ouvrir un menu contextuel. Cliquez sur Redémarrer.

Créer une exception pour SQL Server dans le Pare-feu Windows

Utilisez les informations de cette section pour créer une exception pour SQL Server dans les environnements utilisant le Pare-feu Windows :

  1. Ouvrez le panneau de configuration et sélectionnez Système et sécurité.
  2. Sélectionnez Pare-feu Windows Defender :

    Pare-feu Windows Defender MS SQL Server

  3. Cliquez sur Autoriser une application ou une fonctionnalité via le Pare-feu Windows Defender. Activez le Pare-feu Windows :

    MS SQL Server active le pare-feu Windows Defender

  4. Dans la fenêtre Autoriser les applications à communiquer à travers le Pare-feu Windows Defender, cliquez sur Autoriser une autre application… :

    MS SQL Server autorise les applications pare-feu

  5. Dans l’écran Ajouter une application, cliquez sur Parcourir.
  6. Accédez au service SQL sqlserver.exe et cliquez sur Ouvrir. Le chemin d’accès par défaut à sqlserver.exe est :

    • SQL 2019 — C:\Program Files\Microsoft SQL Server\MSSQL15.<SQL Instance Name>\MSSQL\Binn
    • SQL 2017 — C:\Program Files\Microsoft SQL Server\MSSQL14.<SQL Instance Name>\MSSQL\Binn
  7. Cliquez sur Ajouter :

MS SQL Server autorise les applications pare-feu

  1. Répétez les étapes 4 à 7 pour C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.
  2. Cliquez sur OK.

Activer la connexion sécurisée entre le serveur Provisioning et SQL Server

SQL Server, le serveur de licences et le serveur de provisioning peuvent être configurés pour permettre une connexion sécurisée.

Utilisez les informations de cette section pour établir une connexion sécurisée à SQL Server.

Sur l’ordinateur SQL Server :

  1. Obtenez un certificat de serveur avec une clé privée qui peut être utilisé comme certificat de serveur de SQL Server. Vous pouvez obtenir le certificat de serveur auprès d’une autorité de confiance ou utiliser un certificat auto-signé. Le certificat du serveur et la clé privée doivent se trouver dans un fichier .PFX. Le nom commun doit être le nom de domaine complet de l’ordinateur SQL Server.
  2. Importez le certificat et la clé dans le dossier des certificats personnels du magasin de certificats de l’ordinateur local sur l’ordinateur SQL Server.
  3. Donnez à SQL Server l’accès au certificat et à la clé.
  4. Procédez comme suit pour configurer SQL Server afin de forcer les connexions sécurisées.
    1. Exécutez le Gestionnaire de configuration de SQL Server.
    2. Dans le volet gauche, sélectionnez SQL Server Network Configuration > Protocols for instance.
    3. Cliquez avec le bouton droit et sélectionnez Properties.
    4. Dans l’onglet Flags, définissez Force Encryption sur Yes.
    5. Dans l’onglet Certificate, sélectionnez le certificat de serveur dans la liste déroulante. Si ce certificat ne figure pas dans la liste, vérifiez qu’il a été importé conformément à la description.
    6. Cliquez sur OK et redémarrez le service SQL Server pour l’instance.

Sur l’ordinateur serveur Citrix Provisioning :

  1. Déployez les certificats d’autorité de certification nécessaires pour faire confiance au certificat du serveur.
    1. Si l’autorité n’est pas fiable :
      1. Obtenez le certificat d’autorité.
      2. Importez ce certificat dans le dossier Trusted Root Certificate Authorities du magasin de certificats de l’ordinateur local.
    2. Si le certificat de serveur est auto-signé :
      1. Sur l’ordinateur SQL Server, exportez le certificat uniquement dans un fichier de certificat.
      2. Copiez ce certificat sur l’ordinateur serveur Citrix Provisioning.
      3. Importez ce certificat dans le dossier Trusted Root Certificate Authorities du magasin de certificats de l’ordinateur local.
  2. Configurez le serveur Provisioning pour se connecter à SQL Server en utilisant le même nom que dans le certificat, qui est le nom de domaine complet de l’ordinateur SQL Server. Si nécessaire, exécutez l’assistant de configuration et rejoignez la batterie de serveurs. Cette méthode vous permet de modifier le nom du serveur de base de données.

Sécurité Kerberos

Par défaut, la console Citrix Provisioning, Imaging Wizard, le composant logiciel enfichable PowerShell et MCLI utilisent l’authentification Kerberos lors des communications avec le service SOAP dans un environnement Active Directory. Une partie de l’architecture Kerberos est pour l’enregistrement d’un service (créer un nom principal de service, SPN) avec le contrôleur de domaine (Kerberos Key Distribution Center). L’enregistrement est essentiel car il permet à Active Directory d’identifier le compte sur lequel le service SOAP est exécuté. Si l’enregistrement n’est pas réalisé, l’authentification Kerberos échoue et Citrix Provisioning retourne à l’utilisation de l’authentification NTLM.

Cependant, le NTLM est considéré comme peu sûr et vulnérable aux attaques.

L’assistant de configuration crée un SPN pour le service SOAP, ce qui signifie que Kerberos est toujours utilisé.

La création du SPN peut échouer si le compte qui exécute l’assistant de configuration ne dispose pas des autorisations requises.

Pour contourner ce problème d’autorisation, effectuez l’une des opérations suivantes :

  • utilisez un compte différent qui possède des permissions pour créer des SPN ;
  • Attribuez des autorisations au compte qui exécute l’assistant de configuration.

    Type de compte Autorisation
    Compte ordinateur SPN validé en écriture
    Compte utilisateur Informations publiques en écriture

    Pour plus d’informations sur les autorisations, consultez la fonction DSWriteAccountSpna.

Tâches de pré-installation