Citrix Provisioning

Tareas anteriores a la instalación

Complete los procedimientos siguientes antes de instalar y configurar Citrix Provisioning.

Importante:

Todas las actualizaciones de Windows deben estar al día antes de instalar los componentes de Citrix Provisioning. Citrix recomienda reiniciar después de instalar todas las actualizaciones de Windows.

Seleccionar y configurar la base de datos SQL de Microsoft

Cada comunidad de Citrix Provisioning tiene una sola base de datos. Puede proporcionar la base de datos en uno de estos dos lugares:

  • Una instancia existente de SQL Server o SQL Server Express
  • Un nuevo servidor con SQL Server o SQL Server Express
  • Una instancia de Azure SQL Database nueva o existente

Todos los servidores de Citrix Provisioning de una comunidad deben poder comunicarse con el servidor de base de datos.

En un entorno de producción, para evitar una mala distribución durante el equilibrio de carga, se recomienda instalar la instancia de SQL Server o SQL Server Express y el software del componente del servidor de Citrix Provisioning en servidores independientes.

Hay tres maneras de crear la base de datos:

  • Use el asistente Configuration Wizard. Para usar esta opción, necesita el permiso dbcreator.
  • Si no tiene permiso para crear bases de datos, use la utilidad DbScript.exe para crear un script SQL que un administrador de bases de datos pueda ejecutar para crear la base de datos de aprovisionamiento. Esta utilidad se instala con el software de aprovisionamiento.
  • Si el administrador de bases de datos crea una base de datos vacía mediante la utilidad DbScript.exe, esta base de datos se elige como la base de datos para la nueva comunidad al ejecutar el asistente Configuración Wizard. Las credenciales utilizadas al ejecutar el asistente Configuration Wizard deben ser las del propietario de la base de datos. Además, este inicio de sesión debe tener el permiso View any definition. El administrador de bases de datos configura este permiso cuando se crea la base de datos vacía.

Ejecutar la utilidad DbScript.exe para crear o actualizar la base de datos

Si no tiene permiso para crear bases de datos, utilice DbScript.exe para generar un script SQL para que el administrador de bases de datos se ejecute con el fin de crear o actualizar la base de datos de Citrix Provisioning. Ejecute el script desde el símbolo del sistema de Windows en C:\Program Files\Citrix\Provisioning Services.

Para generar el script con el que crear la base de datos, utilice esta sintaxis:

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

Al crear una nueva base de datos para Azure SQL Database, DbScript produce dos archivos de script, en lugar de uno.

  • El primero se ejecuta en la base de datos maestra y crea la nueva base de datos.
  • El segundo script se ejecuta a continuación en la nueva base de datos.

Para generar el script con el que actualizar la base de datos, escriba:

DbScript.exe -upgrade <databaseName> <scriptName>

Los comandos utilizan estos argumentos:

  • <databaseName>: Nombre de la base de datos que se actualizará.
  • <farmName>: Nombre de la comunidad de la base de datos.
  • <siteName>: Nombre del sitio de la base de datos.
  • <collectionName>: Nombre de la colección de la base de datos.
  • <farmAdminGroup>: Grupo de administradores de la comunidad, especificado como una ruta completa.

    Nota:

    Al ejecutar el asistente Configuración Wizard, debe pertenecer a este grupo (un grupo de Active Directory) para agregar los servidores de Citrix Provisioning a la base de datos.

  • <adGroupsEnabled>: Habilite o inhabilite grupos de AD, especificados como booleanos, donde true habilita grupos de AD y false los inhabilita.
  • <scriptName>: Nombre del script que se generará, especificado como una ruta completa.
  • <is2012orHigher>: En desuso. Utilice true.

Ejemplos de DbScript.exe

En este ejemplo se genera un script para crear una base de datos de Citrix Provisioning vacía llamada db1-2. El script se denomina newDb.sql y se encuentra en 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

En este ejemplo se genera un script para actualizar la versión de la base de datos de Citrix Provisioning test1. El script se denomina upgrade.sql y, dado que no se especifica ninguna ruta, se encuentra en el directorio donde se ejecutó el script (C:\Program Files\Citrix\Provisioning Services).

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

Estimar el tamaño de una base de datos

Para obtener información, consulte Tamaño de la base de datos.

Cuando se crea la base de datos, el tamaño inicial es de 20 MB con un tamaño de expansión de 10 MB. El tamaño inicial del registro de base de datos es 10 MB con un tamaño de expansión del 10%.

La cantidad base de espacio requerido es de 112 KB. Se trata de un valor fijo que no cambia. La imagen base incluye lo siguiente:

  • El registro DatabaseVersion requiere aproximadamente 32 KB.
  • El registro Farm requiere aproximadamente 8 KB.
  • El registro DiskCreate requiere aproximadamente 16 KB.
  • El registro Notifications requiere aproximadamente 40 KB.
  • El registro ServerMapped requiere aproximadamente 16 KB.

A continuación, se presenta la cantidad de espacio necesario, que es variable y se basa en objetos:

  • Acceso y agrupaciones (cada uno)
    • Un grupo de usuarios con acceso al sistema requiere aproximadamente 50 KB.
    • Un registro de sitio requiere aproximadamente 4 KB.
    • Una colección requiere aproximadamente 10 KB.
  • FarmView (cada uno)
    • FarmView requiere aproximadamente 4 KB.
    • Una relación FarmView/Device requiere aproximadamente 5 KB.
  • SiteView (cada uno)
    • SiteView requiere aproximadamente 4 KB.
    • Una relación SiteView/Device requiere aproximadamente 5 KB.
  • Dispositivo de destino (cada uno)
    • Un dispositivo de destino requiere aproximadamente 2 KB.
    • DeviceBootstrap requiere aproximadamente 10 KB
    • La relación Device:Disk requiere aproximadamente 35 KB
    • DevicePersonality requiere aproximadamente 1 KB
    • DeviceStatus cuando un dispositivo arranca requiere aproximadamente 1 KB.
    • DeviceCustomProperty requiere aproximadamente 2 KB
  • Disco (cada uno)
    • Un disco exclusivo requiere aproximadamente 1 KB.
    • DiskVersion requiere aproximadamente 3 KB
    • DiskLocator requiere aproximadamente 10 KB
    • DiskLocatorCustomProperty requiere aproximadamente 2 KB
  • Servidor de aprovisionamiento (cada uno)
    • Un servidor requiere aproximadamente 5 KB.
    • ServerIP requiere aproximadamente 2 KB
    • ServerStatus cuando un servidor arranca requiere aproximadamente 1 KB.
    • ServerCustomProperty requiere aproximadamente 2 KB
  • Almacén (cada uno)
    • Un almacén requiere aproximadamente 8 KB.
    • Una relación Store:Server requiere aproximadamente 4 KB.
  • Actualización de disco (cada una)
    • VirtualHostingPool requiere aproximadamente 4 KB
    • UpdateTask requiere aproximadamente 10 KB
    • DiskUpdateDevice requiere aproximadamente 2 KB
    • Cada relación DiskUpdateDevice:Disk requiere aproximadamente 35 KB
    • La relación Disk:UpdateTask requiere aproximadamente 1 KB

Los siguientes cambios provocan que los requisitos de tamaño aumenten:

  • Cada tarea procesada (por ejemplo: la fusión de los controles de versiones de disco virtual) requiere aproximadamente 2 KB.
  • Si la auditoría está activada, cada cambio que realiza el administrador en la interfaz de PowerShell, MCLI o la consola de Citrix Provisioning requiere aproximadamente 1 KB.

Crear imágenes reflejo de la base de datos

Para que Citrix Provisioning pueda ofrecer la función de imagen reflejo de base de datos de MS SQL, la base de datos debe estar configurada con la opción High-safety mode with a witness (synchronous).

Para obtener información acerca de cómo configurar y utilizar la imagen reflejo de base de datos, consulte Crear imágenes reflejo de la base de datos.

Implementar la agrupación en clústeres de bases de datos

Para implementar la agrupación en clústeres de bases de datos:

  1. Siga las instrucciones de Microsoft.
  2. Ejecute el asistente Configuration Wizard de Citrix Provisioning.
  3. Especifique Availability Group listener como el servidor de base de datos. No se usa ninguna instancia.
  4. Habilite Multi-Subnet Failover en Connection Options.

Tipos de autenticación compatibles

La tabla le ayuda a determinar cómo quiere que Citrix Provisioning se autentique con la base de datos y las credenciales que quiere usar en la autenticación.

Tipo de autenticación Otorga acceso a Credenciales obligatorias Plataforma de base de datos Otras restricciones
Integración de Active Directory Usuario de Active Directory. Cree el nombre de usuario en Active Directory si no quiere usar uno existente. Nada (usa el contexto de inicio de sesión actual) SQL Server El servidor de Citrix Provisioning debe pertenecer a un dominio, el contexto de usuario del servicio de Citrix Provisioning debe ser un usuario de dominio y Citrix Provisioning debe estar configurado por un usuario de dominio.
SQL Server Inicio de sesión de SQL. Cree el inicio de sesión de SQL en el servidor de base de datos si no quiere utilizar uno existente. Inicio de sesión y contraseña SQL Server y Azure SQL Database  

Nota:

Para obtener información sobre los tipos de autenticación admitidos para Citrix Provisioning en Azure, consulte el artículo Tipos de autenticación admitidos en Citrix Provisioning en Azure.

Configurar la autenticación

Citrix Provisioning puede usar la autenticación Active Directory Integrated o la autenticación de SQL Server para acceder a la base de datos.

Permisos de usuario de Configuration Wizard

Para ejecutar Configuration Wizard, debe tener los privilegios de sistema de un administrador local.

La entidad principal de base de datos de administración es la entidad principal de base de datos que Configuration Wizard usa para crear y configurar la base de datos de aprovisionamiento. Las credenciales de autenticación que especifique en Configuration Wizard identifican a la entidad principal de base de datos.

  • Si elige la autenticación integrada de Active Directory, Configuration Wizard accede a la base de datos como si fuera el usuario que lo ejecuta (un usuario de Active Directory).
  • Si elige la autenticación de SQL Server, Configuration Wizard accede a la base de datos como una entidad principal diferente.

Consulte Tipos de autenticación compatibles para obtener más información sobre cómo seleccionar una entidad principal de base de datos de administración.

Nota:

La entidad principal de administración de la base de datos solo se usa mientras se ejecuta Configuration Wizard. Los servicios Stream y SOAP no la guardan ni utilizan. Debe usar una entidad principal con privilegios elevados para los servicios Stream y SOAP.

  • Cuando se usa SQL Server, la entidad principal de la base de datos de administración requiere los siguientes permisos:

    • securityadmin para crear y actualizar inicios de sesión en el servidor (cuando se usa SQL Server)
    • db_owner para cualquier base de datos

Para crear una base de datos para una nueva comunidad de servidores, la entidad principal de base de datos de administración requiere dbcreator como permiso adicional. Consulte Seleccionar y configurar la base de datos SQL de Microsoft para obtener información sobre las diferentes formas de crear la base de datos.

  • Cuando se usa Azure SQL Database, la entidad principal de la base de datos de administración requiere los siguientes permisos:

    • loginmanager para crear y actualizar los inicios de sesión en el servidor
    • db_owner para cualquier base de datos

    Para crear una base de datos para una nueva comunidad de servidores, la entidad principal de base de datos de administración requiere dbmanager como permiso adicional.

    loginmanager y dbmanager son roles de usuario especiales que se asignan a los usuarios de la base de datos maestra.

Permisos de cuenta de servicio

La cuenta de servicio para los servicios Stream y SOAP debe tener los siguientes privilegios de sistema:

  • Ejecutar como servicio
  • Acceso de lectura al Registro
  • Acceso a Program Files\Citrix\Citrix Provisioning
  • Acceso de lectura y escritura a cualquier ubicación de disco virtual.

La entidad principal de base de datos de servicios es la entidad principal de base de datos que los servicios usan para acceder a la base de datos de aprovisionamiento. Las credenciales de autenticación que especifique en Configuration Wizard identifican a la entidad principal de base de datos.

  • Si elige la autenticación integrada de Active Directory, los servicios acceden a la base de datos como si fueran la cuenta de servicio (un usuario de Active Directory).
  • Si elige la autenticación de SQL Server, los servicios pueden acceder a la base de datos como una entidad principal diferente.

Consulte Tipos de autenticación compatibles para obtener más información sobre cómo seleccionar una entidad principal de base de datos de servicios.

Configuration Wizard configura la base de datos para garantizar que la entidad principal de base de datos de servicios tenga los siguientes permisos:

  • db_datareader
  • db_datawriter
  • Ejecutar permisos en procedimientos almacenados

Determine en cuáles de las siguientes cuentas de usuario compatibles se ejecutan los servicios Stream y SOAP:

  • Network service account

    Cuenta local con privilegios mínimos que se autentica en la red como una cuenta de máquina de dominio de los equipos

  • Specified user account (se requiere cuando se utiliza un recurso compartido de Windows Share) que puede ser una cuenta de usuario de dominio o un grupo de trabajo

Para poder admitir las licencias KMS, la cuenta de usuario del servidor SOAP debe ser miembro del grupo de administradores locales.

Sugerencia:

Como la autenticación no es habitual en los entornos de grupos de trabajo, es necesario crear cuentas de usuario con privilegios mínimos en cada servidor y cada instancia debe contener credenciales idénticas.

Debe determinar la opción de seguridad adecuada para esta comunidad de servidores. Solo es posible seleccionar una opción por comunidad y la selección realizada afecta a la administración basada en roles. Para las opciones de seguridad:

  • Use Active Directory groups for security (opción predeterminada): Seleccione esta opción si se encuentra en un dominio de Windows que ejecuta Active Directory. Esta opción permite utilizar Active Directory para los roles de administración de Citrix Provisioning.

    Nota:

    No se admiten los dominios Windows 2000.

  • Use grupos de Windows para la seguridad. Seleccione esta opción si se encuentra en un solo servidor o en un grupo de trabajo. Esta opción permite utilizar el usuario local o los grupos locales de ese servidor para los roles de administración de Citrix Provisioning.

Los usuarios de la consola no pueden acceder directamente a la base de datos.

Los permisos mínimos requeridos para la funcionalidad adicional de aprovisionamiento son:

  • Citrix Virtual Apps and Desktops Setup Wizard, Streamed VM Setup Wizard y el servicio ImageUpdate
    • Nivel de permisos mínimos para vCenter, SCVMM y Citrix Hypervisor
    • Permisos para el usuario actual en un Controller de Citrix Virtual Apps and Desktops existente
    • Una cuenta de usuario de la consola de Citrix Provisioning configurada como un administrador de Citrix Virtual Apps and Desktops y agregada a un grupo SiteAdmin o superior
    • Permiso para crear cuentas de Active Directory con el que crear cuentas en la consola. Para utilizar cuentas existentes, es necesario que ya existan cuentas de Active Directory en una OU conocida para su selección
  • Sincronización de cuentas de AD: Crear, restablecer y eliminar permisos
  • Disco virtual: Privilegios para ejecutar tareas de mantenimiento de volumen

Nota:

Las cuentas de servicio no requieren permisos de AD especiales.

Habilitar una conexión remota en SQL Server

Utilice la información de esta sección para establecer una conexión remota con el servidor SQL.

  1. Inicie sesión en el servidor SQL mediante SQL Server Management Studio.
  2. En la ventana del explorador de objetos, haga clic con el botón secundario en el servidor SQL y elija Propiedades:

    Explorador de objetos de MS SQL Server

  3. En la ventana Explotador de objetos, seleccione el nodo Conexiones. En Conexiones con el servidor remoto, marque o desmarque la casilla Permitir conexiones remotas con este servidor:

Conexiones con MS SQL Server

Después de actualizar la conexión con el servidor remoto:

  1. En el menú Inicio, haga clic en Inicio > Microsoft SQL Server versión > Administrador de configuración de SQL Server versión. Aparecerá la ventana Administrador de configuración de SQL Server.
  2. Expanda la opción Configuración de red de SQL Server. Seleccione Protocolos para (nombre del servidor). Seleccione TCP/IP y haga clic con el botón secundario. En el menú contextual, elija Habilitar. Haga clic en Aceptar para reiniciar el servicio.

TCP/IP de MS SQL Server

Después de reiniciar el servicio, cambie el modo de inicio. En la ventana Administrador de configuración de SQL Server:

  1. Seleccione Servicios de SQL Server. En el panel de la derecha, haga clic con el botón secundario en la opción Explorador de SQL Server para exponer un menú contextual.
  2. Elija Propiedades.
  3. En la ficha Servicio, cambie el modo de inicio a Automático.
  4. Haga clic en Aceptar.

Propiedades del explorador de MS SQL Server

  1. Seleccione Explorador de SQL Server y haga clic con el botón secundario para abrir un menú contextual. Haga clic en Inicio.
  2. Seleccione el servicio de SQL Server que corresponda a la instancia y haga clic con el botón secundario para abrir un menú contextual. Haga clic en Reiniciar.

Crear una excepción para SQL Server en el Firewall de Windows

Utilice la información de esta sección con el objetivo de crear una excepción para SQL Server en entornos que usen el Firewall de Windows:

  1. Abra el Panel de control y seleccione Sistema y seguridad.
  2. Seleccione Firewall de Windows Defender:

    Firewall de Windows Defender de MS SQL Server

  3. Haga clic en Permitir una aplicación o una característica a través de Firewall de Windows. Active el Firewall de Windows:

    MS SQL Server habilita el Firewall de Windows Defender

  4. En la ventana Permitir a las aplicaciones comunicarse a través de Firewall de Windows, haga clic en Permitir otra aplicación…:

    MS SQL Server permite aplicaciones de firewall

  5. En la pantalla Agregar una aplicación, haga clic en Examinar.
  6. Busque SQL Service sqlserver.exe y haga clic en Abrir. La ruta predeterminada a sqlserver.exe es:

    • 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. Haga clic en Agregar.

MS SQL Server permite aplicaciones de firewall

  1. Repita los pasos del 4 al 7 para C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.
  2. Haga clic en Aceptar.

Habilitar la conexión segura del servidor de aprovisionamiento con el servidor SQL

El servidor SQL, el servidor de licencias y el servidor de aprovisionamiento se pueden configurar para habilitar una conexión segura.

Utilice la información de esta sección para establecer una conexión segura con el servidor SQL.

En el equipo del servidor SQL:

  1. Obtenga un certificado de servidor con una clave privada que se pueda usar como certificado del servidor SQL. Puede obtener el certificado del servidor de una entidad de certificación de confianza o usar un certificado autofirmado. El certificado del servidor y la clave privada deben estar en un archivo .PFX. El nombre común debe ser el nombre de dominio completo (FQDN) del equipo del servidor SQL.
  2. Importe el certificado y la clave en la carpeta de certificados personales del almacén de certificados del equipo local, en el equipo del servidor SQL.
  3. Otorgue al servidor SQL acceso al certificado y a la clave.
  4. Haga lo siguiente para configurar el servidor SQL para forzar conexiones seguras.

    1. Ejecute el Administrador de configuración de SQL Server.
    2. En el panel izquierdo, seleccione Configuración de red de SQL Server > Protocolos de instancia.
    3. Haga clic con el botón secundario y seleccione Propiedades.
    4. En la ficha Marcas, establezca Forzar cifrado en .
    5. En la ficha Certificado, seleccione el certificado de servidor en la lista desplegable. Si este certificado no está en la lista, compruebe que se importó de la manera descrita.
    6. Haga clic en Aceptar y reinicie el servicio del servidor SQL para la instancia.

En el equipo del servidor de Citrix Provisioning:

  1. Implemente los certificados de la entidad de certificación requeridos para confiar en el certificado del servidor.
    1. Si la entidad no es de confianza:
      1. Obtenga el certificado de la entidad.
      2. Importe ese certificado en la carpeta Entidades de certificación raíz de confianza del almacén de certificados del equipo local.
    2. Si el certificado del servidor es autofirmado:
      1. En el equipo del servidor SQL, exporte el certificado solo en un archivo de certificado.
      2. Copie este certificado en el equipo del servidor de Citrix Provisioning.
      3. Importe este certificado en la carpeta Entidades de certificación raíz de confianza del almacén de certificados del equipo local.
  2. Configure el servidor de aprovisionamiento para que se conecte al servidor SQL con el mismo nombre que en el certificado, que es el FQDN del equipo del servidor SQL. Si es necesario, ejecute Configuration Wizard y vuelva a unirse a la comunidad. Con este método, puede cambiar el nombre del servidor de base de datos.

Seguridad de Kerberos

De forma predeterminada, la consola de Citrix Provisioning, Imaging Wizard, el complemento de PowerShell y MCLI utilizan la autenticación Kerberos al comunicarse con el servicio SOAP en un entorno de Active Directory. Una parte de la arquitectura de Kerberos se utiliza para el registro de servicios (se crea un nombre principal de servicio, SPN) con el controlador de dominio (Centro de distribución de claves Kerberos). El registro es fundamental, ya que permite a Active Directory identificar la cuenta que ejecuta el servicio SOAP. Si no se realiza el registro, se producirá un error en la autenticación Kerberos y Citrix Provisioning volverá a utilizar la autenticación NTLM.

El servicio SOAP de Citrix Provisioning se registra cada vez que se inicia el servicio y cancela el registro cuando se detiene el servicio. Sin embargo, el registro falla si la cuenta de usuario del servicio no tiene el permiso necesario. De forma predeterminada, la cuenta de servicio de red y los administradores de dominio disponen de un permiso, mientras que las cuentas de usuario de dominio normales no.

Para solucionar este problema de permisos, realice una de las siguientes acciones:

  • Utilice una cuenta diferente que contenga permisos para crear SPN.

  • Asigne permisos a la cuenta de servicio.

Tipo de cuenta Permiso
Cuenta de equipo Escribir SPN validado
Cuenta de usuario Escribir información pública
Tareas anteriores a la instalación