Citrix Virtual Apps and Desktops

Entornos en la nube de AWS

En este artículo se describe cómo configurar su cuenta de Amazon Web Services (AWS) en calidad de ubicación de recursos que pueda utilizar con Citrix Virtual Apps and Desktops. La ubicación de recursos contiene un conjunto básico de componentes; es ideal para una prueba de concepto u otra implementación que no requiera recursos repartidos por varias zonas de disponibilidad. Después de completar estas tareas, puede instalar agentes VDA, aprovisionar máquinas, crear catálogos de máquinas y crear grupos de entrega.

Tras completarse las tareas indicadas en este artículo, la ubicación de recursos contendrá los siguientes componentes:

  • Una nube privada virtual (VPC) con subredes públicas y privadas dentro de una única zona de disponibilidad.
  • Una instancia que se ejecuta como un controlador de dominio de Active Directory y un servidor DNS, ubicados en la subred privada de la nube VPC.
  • Dos instancias unidas a dominio en las que está instalado el Citrix Cloud Connector, ubicado en la subred privada de la nube VPC.
  • Una instancia que actúa como host bastión, ubicada en la subred pública de la nube VPC. Esta instancia se utiliza para iniciar conexiones RDP a las instancias en la subred privada durante las tareas de administración. Después de finalizar la configuración de la ubicación de recursos, puede apagar esta instancia (para que no se pueda acceder fácilmente a ella). Cuando necesite administrar otras instancias en la subred privada, como instancias VDA, puede reiniciar la instancia del host bastión.

Descripción general de tareas

Configurar una nube privada virtual (VPC) con subredes públicas y privadas. Una vez completada esta tarea, AWS implementa una instancia NAT con una dirección IP elástica en la subred pública. Esto permite que las instancias de la subred privada accedan a Internet. Las instancias en la subred pública están accesibles para el tráfico público entrante, mientras que las instancias en la subred privada no lo están.

Configurar grupos de seguridad. Los grupos de seguridad actúan como firewalls virtuales que controlan el tráfico de las instancias en su nube VPC. Debe agregar reglas a los grupos de seguridad que permitan que las instancias en la subred pública se comuniquen con instancias en la subred privada. También deberá asociar estos grupos de seguridad a cada instancia ubicada en la nube VPC.

Crear un conjunto de opciones de DHCP. Con una nube Amazon VPC, los servicios DNS y DHCP se suministran de forma predeterminada, lo que afecta a la configuración del DNS en el controlador de dominio de Active Directory. El DHCP de Amazon no se puede inhabilitar, y el DNS de Amazon se puede usar solo para la resolución de DNS públicos, no para la resolución de nombres de Active Directory. Para especificar los servidores de nombre y dominio que entregar a las instancias por DHCP, cree un conjunto de opciones de DHCP. El conjunto asigna el sufijo de dominio de Active Directory y especifica el servidor DNS para todas las instancias en la nube VPC. Para que los registros de Host (A) y Reverse Lookup (PTR) se registren automáticamente cuando las instancias se unen al dominio, debe configurar las propiedades del adaptador de red para cada instancia que agregue a la subred privada.

Agregar un host bastión, un controlador de dominio y varios Citrix Cloud Connectors a la nube VPC. A través del host bastión, puede iniciar sesión en las instancias de la subred privada y configurar el dominio, unir instancias al dominio e instalar el Citrix Cloud Connector.

Tarea 1: Configurar la nube VPC

  1. En la consola de administración de AWS, seleccione VPC.
  2. En el panel de mandos de la nube VPC, seleccione Start VPC Wizard.
  3. Seleccione VPC with Public and Private Subnets y seleccione Select.
  4. Introduzca un nombre para la nube VPC, y cambie el bloque CIDR de la dirección IP y los intervalos de IP de la subred pública o privada, si fuera necesario.
  5. Si selecciona una puerta de enlace NAT, seleccione Use a NAT Instance instead.
  6. Para la instancia NAT, especifique el tipo de instancia y el par de claves que quiere usar. El par de claves permitirá conectarse de forma segura a la instancia.
  7. En “Enable DNS hostnames”, deje Yes seleccionado.
  8. Seleccione Create VPC. AWS crea las subredes pública y privada, la puerta de enlace de Internet, las tablas de redirección y el grupo de seguridad predeterminado.

Nota:

Al cambiar el nombre de una nube privada virtual (VPC) de AWS en la consola de AWS, se rompe la unidad de alojamiento existente en Citrix Cloud. Si la unidad de alojamiento se rompe, no se pueden crear catálogos nuevos ni agregar máquinas a catálogos existentes. Del problema conocido: PMCS-7701

Tarea 2: Configurar grupos de seguridad

Esta tarea crea y configura los siguientes grupos de seguridad para la nube VPC:

  • Un grupo de seguridad para la instancia NAT.
  • Un grupo de seguridad público al que se asociarán las instancias de la subred pública.
  • Un grupo de seguridad privado al que se asociarán las instancias de la subred privada.

Para crear los grupos de seguridad

  1. En el panel de mandos de la nube VPC, seleccione Security Groups.
  2. Cree un grupo de seguridad para la instancia NAT. Seleccione Create Security Group e introduzca una etiqueta de nombre y una descripción del grupo. En la nube VPC, seleccione la nube VPC que ha creado. Seleccione Yes, Create.
  3. Repita el paso 2 para crear un grupo de seguridad público y un grupo de seguridad privado.

Configurar el grupo de seguridad NAT

  1. En la lista de grupos de seguridad, seleccione el grupo de seguridad NAT.

  2. Seleccione la ficha Inbound Rules y seleccione Edit para crear estas reglas:

    Tipo Origen
    ALL Traffic Seleccione el grupo de seguridad privado.
    22 (SSH) 0.0.0.0/0
  3. Cuando haya terminado, seleccione Guardar.

Configurar el grupo de seguridad público

  1. En la lista de grupos de seguridad, seleccione el grupo de seguridad público.

  2. Seleccione la ficha Inbound Rules y seleccione Edit para crear estas reglas:

    Tipo Origen
    ALL Traffic Seleccione el grupo de seguridad privado.
    ALL Traffic Seleccione el grupo de seguridad público.
    ICMP 0.0.0.0/0
    22 (SSH) 0.0.0.0/0
    80 (HTTP) 0.0.0.0/0
    443 (HTTPS) 0.0.0.0/0
    1494 (ICA/HDX) 0.0.0.0/0
    2598 (Fiabilidad de la sesión) 0.0.0.0/0
    3389 (RDP) 0.0.0.0/0
  3. Cuando haya terminado, seleccione Guardar.

  4. Seleccione la ficha Outbound Rules y seleccione Edit para crear estas reglas:

    Tipo Destino
    ALL Traffic Seleccione el grupo de seguridad privado.
    ALL Traffic 0.0.0.0/0
    ICMP 0.0.0.0/0
  5. Cuando haya terminado, seleccione Guardar.

Configurar el grupo de seguridad privado

  1. En la lista de grupos de seguridad, seleccione el grupo de seguridad privado.

  2. Si no ha configurado el tráfico del grupo de seguridad público, es posible que tenga que configurar los puertos TCP; seleccione la ficha Inbound Rules y, a continuación, Edit para crear las siguientes reglas:

    Tipo Origen
    ALL Traffic Seleccione el grupo de seguridad NAT.
    ALL Traffic Seleccione el grupo de seguridad privado.
    ALL Traffic Seleccione el grupo de seguridad público.
    ICMP Seleccione el grupo de seguridad público.
    TCP 53 (DNS) Seleccione el grupo de seguridad público.
    UDP 53 (DNS) Seleccione el grupo de seguridad público.
    80 (HTTP) Seleccione el grupo de seguridad público.
    TCP 135 Seleccione el grupo de seguridad público.
    TCP 389 Seleccione el grupo de seguridad público.
    UDP 389 Seleccione el grupo de seguridad público.
    443 (HTTPS) Seleccione el grupo de seguridad público.
    TCP 1494 (ICA/HDX) Seleccione el grupo de seguridad público.
    TCP 2598 (Fiabilidad de la sesión) Seleccione el grupo de seguridad público.
    3389 (RDP) Seleccione el grupo de seguridad público.
    TCP 49152–65535 Seleccione el grupo de seguridad público.
  3. Cuando haya terminado, seleccione Save.

  4. Seleccione la ficha Outbound Rules y seleccione Edit para crear estas reglas:

    Tipo Destino
    ALL Traffic Seleccione el grupo de seguridad privado.
    ALL Traffic 0.0.0.0/0
    ICMP 0.0.0.0/0
    UDP 53 (DNS) 0.0.0.0/0
  5. Cuando haya terminado, seleccione Guardar.

Tarea 3: Asociar la instancia NAT con el grupo de seguridad NAT

  1. En la consola de administración de AWS, seleccione EC2.
  2. En el panel de mandos de EC2, seleccione Instances.
  3. Seleccione la instancia NAT y, a continuación, seleccione Actions > Networking > Change Security Groups.
  4. Desmarque la casilla del grupo de seguridad predeterminado.
  5. Seleccione el grupo de seguridad NAT que ha creado y, a continuación, seleccione Assign Security Groups.

Tarea 4: Iniciar instancias

En los siguientes pasos se crean cuatro instancias EC2 y se descifra la contraseña de administrador predeterminado que genera Amazon.

  1. En la consola de administración de AWS, seleccione EC2.

  2. Desde el panel de mandos de EC2, seleccione Launch Instance.

  3. Seleccione un tipo de instancia y una imagen de máquina de servidor Windows.

  4. En la página “Configure Instance Details”, escriba un nombre para la instancia y seleccione la nube VPC que ha configurado.

  5. En Subnet, seleccione los siguientes elementos para cada instancia:

    • Para host bastión, seleccione la subred pública.
    • Para el controlador de dominio y los conectores, seleccione la subred privada.
  6. En Auto-assign Public IP address, seleccione los siguientes elementos para cada instancia:

    • Para el host bastión, seleccione Enable.
    • Para el controlador de dominio y los conectores, seleccione Use default setting o Disable.
  7. En Network Interfaces, introduzca una dirección IP principal que se encuentre dentro del intervalo IP de la subred privada para las instancias del controlador de dominio y Cloud Connector.

  8. En la página “Add Storage”, modifique el tamaño del disco, si fuera necesario.

  9. En la página “Tag Instance”, escriba un nombre descriptivo para cada instancia.

  10. En la página “Configure Security Groups”, seleccione Select an existing security group y, a continuación, seleccione los siguientes elementos para cada instancia:

    • Para el host bastión, seleccione el grupo de seguridad público.
    • Para el controlador de dominio y los Cloud Connectors, seleccione el grupo de seguridad privado.
  11. Revise las selecciones y, a continuación, seleccione Launch.

  12. Cree un nuevo par de claves o seleccione uno existente. Si crea un nuevo par de claves, descargue el archivo de clave privada (.pem) y guárdela en un lugar seguro. Deberá suministrar la clave privada cuando obtenga la contraseña predeterminada de administrador de la instancia.

  13. Seleccione Launch Instances. Seleccione View Instances para mostrar una lista de las instancias. Espere hasta que la instancia que acaba de iniciar haya pasado por todas las comprobaciones de estado antes de acceder a ella.

  14. Obtenga la contraseña del administrador predeterminado de cada instancia:

    1. En la lista de instancias, seleccione la instancia y, a continuación, seleccione Connect.
    2. Seleccione Get Passwordy suministre el archivo de clave privada (.pem) cuando se le solicite.
    3. Seleccione Decrypt Password. AWS muestra la contraseña predeterminada.
  15. Repita los pasos del 2 al 14 hasta crear cuatro instancias: una instancia de host bastión en la subred pública y tres instancias en la subred privada (una para usarla como controlador de dominio y las otras dos para los dos Cloud Connectors).

Tarea 5: Crear un conjunto de opciones de DHCP

  1. En el panel de mandos de la nube VPC, seleccione DHCP Options Sets.

  2. Introduzca la siguiente información:

    • Name tag. Introduzca un nombre descriptivo para el conjunto.
    • Domain name. Escriba el nombre de dominio completo que usará cuando configure la instancia del controlador de dominio.
    • Domain name servers: Escriba la dirección IP privada que asignó a la instancia del controlador de dominio y la cadena AmazonProvidedDNS, separadas con comas.
    • NTP servers. Deje este campo en blanco.
    • NetBIOS name servers. Introduzca la dirección IP privada de la instancia del controlador de dominio.
    • NetBIOS node type: Escriba 2.
  3. Seleccione Yes, Create.

  4. Asocie el nuevo conjunto con la nube VPC:

    1. En el panel de mandos de la nube VPC, seleccione Your VPCs y, a continuación, seleccione la nube VPC que ha configurado.
    2. Seleccione Actions > Edit DHCP Options Set.
    3. Cuando se le solicite, seleccione el nuevo conjunto que ha creado y, a continuación, seleccione Save.

Tarea 6: Configurar las instancias

  1. A través de un cliente RDP, conéctese a la dirección IP pública de la instancia del host bastión. Cuando se le solicite, introduzca las credenciales de la cuenta de administrador.

  2. Desde la instancia del host bastión, inicie una Conexión a Escritorio remoto (RDC) y conéctese a la dirección IP privada de la instancia que quiere configurar. Cuando se le solicite, introduzca las credenciales del administrador de la instancia.

  3. Configure los parámetros de DNS para todas las instancias en la subred privada:

    1. Seleccione Inicio > Panel de control > Redes e Internet > Centro de redes y recursos compartidos > Cambiar configuración del adaptador. Haga doble clic en la conexión de red que aparece.
    2. Seleccione Propiedades > Protocolo de Internet versión 4 (TCP/IPv4) > Propiedades.
    3. Seleccione Avanzado > DNS. Compruebe que los siguientes parámetros están habilitados y seleccione Aceptar:

      • Registrar en DNS las direcciones de esta conexión
      • Use el sufijo DNS de esta conexión en el registro de DNS
  4. Para configurar el controlador de dominio:

    1. Mediante el Administrador de servidores, agregue el rol Servicios de dominio de Active Directory con todas las funciones predeterminadas.
    2. Promocione la instancia a un controlador de dominio. Durante la promoción, habilite el DNS y use el nombre de dominio que especificó al crear el conjunto de opciones de DHCP. Reinicie la instancia cuando lo pida el sistema.
  5. Para configurar el primer Cloud Connector:

    1. Una la instancia al dominio y reinicie cuando lo pida el sistema. Desde la instancia del host bastión, vuelva a conectarse a la instancia mediante RDP.
    2. Inicie sesión en Citrix Cloud. Seleccione Ubicaciones de recursos en el menú superior de la izquierda.
    3. Descargue el Cloud Connector.
    4. Cuando se le solicite, ejecute el archivo cwcconnector.exe y suministre las credenciales de Citrix Cloud. Siga las instrucciones del asistente.
    5. Cuando haya terminado, seleccione Actualizar para ver la página Ubicaciones de recursos. Una vez que el Cloud Connector está registrado, la instancia aparece en la página.
  6. Repita el paso 5 para configurar el segundo Cloud Connector.

Crear una conexión

Cuando se crea una conexión desde Studio:

  • Debe proporcionar la clave de API y los valores de clave secreta. Puede exportar el archivo de claves que contiene esos valores de AWS y, a continuación, importarlos. También debe proporcionar la región, la zona de disponibilidad, el nombre de la nube VPC, las direcciones de subred, el nombre de dominio, los nombres de los grupos de seguridad y las credenciales.
  • El archivo de credenciales para la cuenta raíz de AWS, (que se puede obtener de la consola de AWS), no está en el mismo formato que los archivos de credenciales descargados para los usuarios estándar de AWS. Por lo tanto, la administración de Citrix Virtual Apps and Desktops no puede usar el archivo para rellenar los campos de la clave de API y la clave secreta. Debe utilizar archivos de credenciales de Identity Access Management (IAM) de AWS.

Nota:

Después de crear una conexión, los intentos de actualizar la clave de API y la clave secreta podrían fallar. Para resolver el problema, compruebe las restricciones del servidor proxy o del firewall y asegúrese de que se puede contactar con la siguiente dirección: https://*.amazonaws.com.

Valores predeterminados de conexión de host

Al crear conexiones de host en entornos de nube de AWS, se muestran los siguientes valores predeterminados:

| Opción | Absoluta | Porcentaje | |— | — | —| | Acciones simultáneas (de cualquier tipo) | 125 | 100 | | Máximo de acciones nuevas por minuto | 125 |

MCS admite un máximo de 100 operaciones simultáneas de aprovisionamiento de forma predeterminada.

URL de “punto de enlace” de servicio

URL de “punto de enlace” de servicio de zona estándar

Cuando utiliza MCS, se agrega una nueva conexión de AWS con una clave de API y un secreto de API. Con esta información, junto con la cuenta autenticada, MCS consulta a AWS las zonas admitidas mediante la llamada a la API de EC2 con la acción de AWS DescribeRegions. Para la consulta, se utiliza una URL de dispositivo de punto final de servicio (punto de enlace de servicio, como se conoce en AWS) de EC2 genérica https://ec2.amazonaws.com/. Use MCS para seleccionar la zona de la conexión en la lista de zonas admitidas. La URL de punto de enlace del servicio de AWS preferida se selecciona automáticamente para la zona. Sin embargo, después de crear la URL de punto de enlace de servicio, ya no podrá establecerla ni modificarla.

URL de “punto de enlace” de servicio no estándar

Puede haber situaciones en las que no necesite la URL de punto de enlace de servicio de AWS elegida automáticamente para la conexión. En estos casos, puede usar el SDK de Citrix Cloud y PowerShell para crear una conexión con una URL de punto de enlace de servicio no estándar. Por ejemplo, para crear una conexión mediante la URL de punto de enlace de servicio https://ec2.cn-north-1.amazonaws.com.cn:

  1. Configure el Cloud Connector alojado en AWS y compruebe que tiene conectividad.
  2. Ejecute los siguientes comandos de PowerShell para ver la lista de Cloud Connectors.

     PS C:> asnp citrix.*
     PS C:> Get-XDAuthentication
     PS C:> Get-ConfigEdgeServer
    <!--NeedCopy-->
    
  3. Busque el UID de zona del Cloud Connector recién creado e introdúzcalo en los siguientes comandos de PowerShell. Sustituya los elementos en cursiva por los valores respectivos.

    PS C:\> $hyp= New-Item -Path xdhyp:\Connections -ZoneUidUID_de_Zona-Name“Mi_Nueva_Conexión”-ConnectionType "AWS" -HypervisorAddress @("https://ec2.cn-north-1.amazonaws.com.cn") -UserName“Clave_API” -Password“Secreto de API” -Persist PS C:\> New-BrokerHypervisorConnection -HypHypervisorConnectionUid $hyp. HypervisorConnectionUid

  4. Actualice la ficha Configuración > Alojamiento para comprobar que se ha creado la conexión de EC2.
  5. Agregue una ubicación de recursos mediante la nueva conexión.

Arrendamiento de AWS

AWS ofrece estas opciones de arrendamiento: arrendamiento compartido (el tipo predeterminado) y arrendamiento dedicado. El arrendamiento compartido significa que es posible que varias instancias de Amazon EC2 de diferentes clientes residan en el mismo hardware físico. El arrendamiento dedicado significa que las instancias de EC2 se ejecutan únicamente en hardware con otras instancias que haya implementado. Los demás clientes no utilizan el mismo hardware.

Puede usar MCS para aprovisionar hosts dedicados de AWS a través de PowerShell.

Configurar el arrendamiento de host dedicado de AWS mediante PowerShell

Puede crear un catálogo de máquinas con el arrendamiento del host definido a través de PowerShell.

Un host dedicado Amazon [EC2] es un servidor físico con una capacidad de instancia [EC2] totalmente dedicada, lo que permite utilizar licencias de software por socket o por máquina virtual existente.

Los hosts dedicados tienen una utilización predeterminada basada en el tipo de instancia. Por ejemplo, un único host dedicado asignado de los tipos de instancia C4 Large está limitado a ejecutar 16 instancias. Consulte el sitio de AWS para obtener más información.

Los requisitos para el aprovisionamiento a los hosts AWS son:

  • Una imagen (AMI) importada de BYOL (bring your own license). Con hosts dedicados, puede usar y administrar sus licencias existentes.
  • Una asignación de hosts dedicados con suficiente utilización para abarcar las solicitudes de aprovisionamiento.
  • Habilite auto-placement.

Para aprovisionar a un host AWS dedicado mediante PowerShell, utilice el cmdlet New-ProvScheme con el parámetro “TenancyType” establecido en Host.

Consulte la documentación para desarrolladores de Citrix para obtener más información.

Captura de propiedades de instancia de AWS

Cuando crea un catálogo para aprovisionar máquinas con Machine Creation Services (MCS) en AWS, selecciona una imagen AMI que represente la imagen maestra de ese catálogo. A partir de esa imagen AMI, MCS utiliza una instantánea del disco. En versiones anteriores, si quería incluir roles o etiquetas en sus máquinas, tenía que usar la consola de AWS para definirlos individualmente. Esta funcionalidad está habilitada de forma predeterminada.

Sugerencia:

Para utilizar la captura de propiedades de instancias de AWS, debe tener una máquina virtual asociada a la imagen AMI.

Para mejorar este proceso, MCS lee las propiedades de la instancia de la que se obtuvo la imagen AMI y aplica el rol y etiquetas de IAM (Administración de acceso e identidad) de la máquina a las máquinas aprovisionadas de un catálogo determinado. Cuando se utiliza esta función opcional, el proceso de creación de catálogos busca la instancia AMI de origen seleccionada, leyendo un conjunto limitado de propiedades. Estas propiedades se almacenan en una plantilla de lanzamiento de AWS, que sirve para aprovisionar las máquinas de ese catálogo. Cualquier máquina del catálogo heredará las propiedades de instancia capturadas.

Las propiedades capturadas incluyen:

  • Roles de IAM: Aplicados a las instancias aprovisionadas.
  • Etiquetas: Aplicadas a las instancias aprovisionadas, su disco y NIC. Estas etiquetas se aplican a los recursos transitorios de Citrix, incluidos: el depósito y objetos de S3, recursos de volumen y empleado, imágenes AMI, instantáneas y plantillas de lanzamiento.

Sugerencia:

El etiquetado de los recursos transitorios de Citrix es optativo y se puede configurar mediante la propiedad personalizada AwsOperationalResourcesTagging.

Captura de la propiedad de instancia de AWS

Puede utilizar esta funcionalidad especificando una propiedad personalizada, AwsCaptureInstanceProperties, al crear un esquema de aprovisionamiento para una conexión de alojamiento de AWS:

New-ProvScheme -CustomProperties “AwsCaptureInstanceProperties,true” …<standard provscheme parameters

Consulte la documentación para desarrolladores de Citrix para obtener más información.

Aplicar propiedades de instancias de AWS y etiquetar recursos operativos

Al crear un catálogo para aprovisionar máquinas mediante MCS en AWS, puede decidir si aplicar las propiedades de etiqueta y el rol de IAM a esas máquinas. También puede decidir si aplicar etiquetas de máquina a los recursos operativos.

Etiquetado de recursos operativos de AWS

Una imagen AMI (Amazon Machine Image) representa un tipo de dispositivo virtual utilizado para crear una máquina virtual dentro del entorno de Amazon Cloud, conocido comúnmente como EC2. Puede utilizar una imagen AMI para implementar servicios que utilicen el entorno EC2. Cuando crea un catálogo para aprovisionar máquinas con MCS en AWS, selecciona una imagen AMI que sirve de imagen maestra para ese catálogo.

Importante:

La creación de catálogos mediante la captura de una propiedad de instancia y una plantilla de lanzamiento es necesaria para utilizar el etiquetado de recursos operativos.

Para crear un catálogo de AWS, primero debe crear una imagen AMI de la instancia que quiere que sirva de imagen maestra. MCS lee las etiquetas de esa instancia y las incorpora a la plantilla de lanzamiento. A continuación, las etiquetas de la plantilla de lanzamiento se aplican a todos los recursos de Citrix creados en su entorno de AWS, incluidos:

  • Máquinas virtuales
  • Discos de VM
  • Interfaces de red de VM
  • Depósitos de S3
  • Objetos de S3
  • Plantillas de lanzamiento
  • Imágenes AMI

Etiquetado de un recurso operativo

Para usar PowerShell para etiquetar recursos:

  1. Abra una ventana de PowerShell desde el host de DDC (Desktop Delivery Controller).
  2. Ejecute el comando asnp citrix para cargar módulos de PowerShell específicos de Citrix.

Para etiquetar un recurso para una máquina virtual aprovisionada, utilice la nueva propiedad personalizada AwsOperationalResourcesTagging. La sintaxis de esta propiedad es:

New-ProvScheme -CustomProperties “AwsCaptureInstanceProperties,true; AwsOperationalResourcesTagging,true” …<standard provscheme parameters>

Identificar los recursos

A continuación, se muestran las etiquetas que MCS agrega a los recursos de AWS. Las etiquetas de la tabla se representan como “clave”: “valor”.

Resource name Etiqueta
Disco de ID “Name”: “NombreDeVM_IdentityDisk”
  “XdConfig”: “XdProvisioned=true”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Imagen “XdConfig”: “XdProvisioned=true”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
NIC “Description”: “XD Nic”
  “XdConfig”: “XdProvisioned=true”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Disco de SO “Name”: “NombreDeVM_rootDisk”
  “XdConfig”: “XdProvisioned=True”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  [cuando AwsCaptureInstanceProperties = true] “Citrix Resource”: “”
  [cuando AwsCaptureInstanceProperties = true y AwsOperationalResourcesTagging = true] “CitrixOperationalResource”: “”
PrepVM “Name”: “Preparation - CatalogName - xxxxxxxxxx”
  “XdConfig”: “XdProvisioned=true”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  [cuando AwsCaptureInstanceProperties = true] “Citrix Resource”: “”
  [cuando AwsCaptureInstanceProperties = true y AwsOperationalResourcesTagging = true] “CitrixOperationalResource”: “”
Instantánea publicada “XdConfig”: “XdProvisioned=true”
  Si no se trata de una instantánea para la AMI de Volume Worker, “CitrixProvisioningSchemeId” es: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Plantilla [cuando AwsCaptureInstanceProperties = true] “XdConfig”: “XdProvisioned=true”
  [cuando AwsCaptureInstanceProperties = true] “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  [cuando AwsCaptureInstanceProperties = true] “CitrixResource”: “”
  [cuando AwsCaptureInstanceProperties = true y AwsOperationalResourcesTagging = true] “CitrixOperationalResource”: “”
VM en catálogo “XdConfig”: “XdProvisioned=true”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  [cuando AwsCaptureInstanceProperties = true] “CitrixResource”: “”
  [cuando AwsCaptureInstanceProperties = true] “aws:ec2launchtemplate:id”:“lt-xxxx”
  [cuando AwsCaptureInstanceProperties = true] “aws:ec2launchtemplate:version”: “n”
  [cuando AwsCaptureInstanceProperties = true y AwsOperationalResourcesTagging = true] “CitrixOperationalResource”: “”
AMI de trabajador de volumen “XdConfig”: “XdProvisioned=true”
Programa previo (bootstrapper) de trabajador por volumen “Name”: “XenDesktop Temp”
  “XdConfig”: “XdProvisioned=true”
  “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  [cuando AwsCaptureInstanceProperties = true y AwsOperationalResourcesTagging = true] “CitrixVolumeWorkerBootstrapper”: “”
Instancia de trabajador de volumen “Name”: “Citrix.XD.Volumeworker-xxxx-xx-xx-xx-xxxx”
  “XdConfig”: “XdProvisioned=true”

Definir permisos de IAM

Utilice la información de esta sección para definir los permisos de IAM para Citrix DaaS en AWS. El servicio IAM de Amazon permite cuentas con varios usuarios que se pueden organizar en grupos. Estos usuarios pueden tener diferentes permisos para controlar su capacidad de realizar operaciones asociadas con la cuenta. Para obtener más información acerca de los permisos de IAM, consulte Referencia de políticas JSON de IAM.

Para aplicar la directiva de permisos de IAM a un nuevo grupo de usuarios:

  1. Inicie sesión en la consola de administración de AWS y seleccione el servicio IAM en la lista desplegable.
  2. Seleccione Create a New Group of Users.
  3. Escriba un nombre para el nuevo grupo de usuarios y seleccione Continue.
  4. En la página Permissions, elija Custom Policy. Seleccione Select.
  5. Escriba un nombre para la directiva de permisos (Permissions policy).
  6. En la sección Policy Document, introduzca los permisos correspondientes.

Después de indicar información sobre la directiva, seleccione Continue para completar el proceso de creación del grupo de usuarios. A los usuarios del grupo se les conceden permisos para realizar solo aquellas acciones que son necesarias para Citrix DaaS.

Importante:

Utilice el texto de directiva proporcionado en el ejemplo anterior para indicar las acciones que utiliza Citrix DaaS para realizar operaciones en una cuenta de AWS sin restringir esas operaciones a recursos específicos. Citrix recomienda utilizar el ejemplo como prueba. Para entornos de producción, puede optar por agregar más restricciones a los recursos.

Agregar permisos de IAM

Establezca los permisos en la sección IAM de la consola de administración de AWS (AWS Management Console):

  1. En el panel Summary, seleccione la ficha Permissions.
  2. Seleccione Add permissions.

Identity and Access Management (IAM)

En la pantalla Add Permissions to, conceda los permisos:

Conceder permisos para directivas de IAM

Utilice lo siguiente como ejemplo en la ficha JSON:

Ejemplo de JSON

Sugerencia:

Es posible que el ejemplo sobre JSON indicado no incluya todos los permisos necesarios para su entorno. Para obtener más información, consulte Cómo definir permisos de administración de acceso a identidades que ejecutan Citrix Virtual Apps and Desktops en AWS.

Acerca de los permisos de AWS

Esta sección contiene la lista completa de permisos de AWS.

Nota:

El permiso iam:PassRole solo es necesario para role_based_auth.

Crear una conexión de host

Se agrega una nueva conexión de host con la información obtenida de AWS.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Administración de energía de las máquinas virtuales

Las instancias de máquina están encendidas o apagadas.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:CreateVolume",
                "ec2:DeleteVolume",
                "ec2:DescribeInstances",
                "ec2:DescribeVolumes",
                "ec2:DetachVolume",
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Creación, actualización o eliminación de máquinas virtuales

Se crea, actualiza o elimina un catálogo de máquinas con las máquinas virtuales aprovisionadas como instancias de AWS.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:AssociateIamInstanceProfile",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateImage",
                "ec2:CreateLaunchTemplate",
                "ec2:CreateSecurityGroup",
                "ec2:CreateTags",
                "ec2:CreateVolume",
                "ec2:DeleteVolume",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                “ec2:DescribeIamInstanceProfileAssociations”,
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLaunchTemplateVersions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcs",
                "ec2:DetachVolume",
                "ec2:DisassociateIamInstanceProfile",
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances"
            ],
            "Effect": "Allow",
            "Resource": "\*"
        },
        {
            "Action": [
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Effect": "Allow",
            "Resource": "\*"
        },
        {
            "Action": [
                "s3:CreateBucket",
                "s3:DeleteBucket",
                "s3:PutBucketAcl",
                "s3:PutBucketTagging",
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject",
                "s3:PutObjectTagging"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::citrix*"
        },
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:GetSnapshotBlock",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ec2:CreateSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Nota:

La sección EC2 relacionada con SecurityGroups solo es necesaria si se debe crear un grupo de seguridad de aislamiento para la máquina virtual de preparación durante la creación del catálogo. Una vez hecho esto, no se requieren estos permisos.

Carga y descarga directa en disco

La carga directa en disco elimina el requisito de trabajador de volumen para el aprovisionamiento de catálogos de máquinas y, en su lugar, utiliza las API públicas que proporciona AWS. Esta funcionalidad reduce el coste asociado a las cuentas de almacenamiento adicionales y la complejidad para mantener las operaciones de trabajador de volumen.

Se deben agregar los siguientes permisos a la directiva:

  • ebs:StartSnapshot
  • ebs:GetSnapshotBlock
  • ebs:PutSnapshotBlock
  • ebs:CompleteSnapshot
  • ebs:ListSnapshotBlocks
  • ebs:ListChangedBlocks
  • ec2:CreateSnapshot
  • ec2:DescribeLaunchTemplates

Importante:

  • Puede agregar una nueva máquina virtual a los catálogos de máquinas existentes sin ninguna operación de trabajador de volumen, como AMI de trabajador de volumen y VM de trabajador de volumen.
  • Si elimina un catálogo que utilizaba trabajador de volumen anteriormente, se eliminan todos los artefactos, incluidos los relacionados con el trabajador de volumen.

Cifrado de EBS de volúmenes creados

EBS puede cifrar automáticamente los volúmenes recién creados si la imagen AMI está cifrada o si EBS está configurado para cifrar todos los volúmenes nuevos. Sin embargo, para implementar la funcionalidad, se deben incluir los siguientes permisos en la directiva de IAM.

{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Nota:

Los permisos se pueden limitar a claves específicas si se incluye un recurso y bloque de condición, a discreción del usuario. Por ejemplo, Permisos de KMS con condición:

{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": [
                "arn:aws:kms:us-east-2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef"
            ],
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
<!--NeedCopy-->

La siguiente instrucción de directiva de claves es la predeterminada para las claves KMS, que es necesaria para permitir que la cuenta utilice las directivas de IAM para delegar el permiso para todas las acciones (kms:*) en la clave KMS.

{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:",
"Resource": ""
}
<!--NeedCopy-->

Para obtener más información, consulte la documentación oficial de AWS Key Management Service.

Autenticación basada en roles de IAM

Estos permisos se agregan para admitir la autenticación basada en roles.

{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::\*:role/\*"
        }
    ]
}
<!--NeedCopy-->

Directiva de permisos mínimos de IAM

El siguiente código JSON puede utilizarse para todas las funciones compatibles actualmente. Mediante esta directiva, puede crear conexiones de host, crear, actualizar o eliminar máquinas virtuales y administrar la energía. La directiva se puede aplicar a los usuarios como se explica en las secciones Definir permisos de IAM o también puede usar la autenticación basada en roles mediante la clave de seguridad y la clave secreta de role_based_auth .

Importante:

Para usar role_based_auth, configure en primer lugar la funcionalidad de IAM deseada en la instancia ec2 del Cloud Connector al configurar este último. Con Citrix Studio, agregue la conexión de alojamiento y suministre “role_based_auth” para la clave de autenticación y el secreto. Una conexión de alojamiento con estos parámetros utiliza la autenticación basada en roles.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:AssociateIamInstanceProfile",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateImage",
                "ec2:CreateLaunchTemplate",
                "ec2:CreateNetworkInterface",
                "ec2:CreateTags",
                "ec2:CreateVolume",
                "ec2:DeleteLaunchTemplate",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteSecurityGroup",
                "ec2:DeleteSnapshot",
                "ec2:DeleteTags",
                "ec2:DeleteVolume",
                "ec2:DeregisterImage",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeIamInstanceProfileAssociations",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLaunchTemplateVersions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcs",
                "ec2:DetachVolume",
                "ec2:DisassociateIamInstanceProfile",
                "ec2:RebootInstances",
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances"
            ],
            "Effect": "Allow",
            "Resource": "\*"
        },
        {
            "Action": [
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Effect": "Allow",
            "Resource": "\*"
        },
        {
            "Action": [
                "s3:CreateBucket",
                "s3:DeleteBucket",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutBucketAcl",
                "s3:PutObject",
                "s3:PutBucketTagging",
                "s3:PutObjectTagging"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::citrix*"
        },
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:GetSnapshotBlock",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ec2:CreateSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "\*"
        },
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "\*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::\*:role/\*"
        }
    ]
}
<!--NeedCopy-->

Nota:

  • La sección EC2 relacionada con SecurityGroups solo es necesaria si se debe crear un grupo de seguridad de aislamiento para la máquina virtual de preparación durante la creación del catálogo. Una vez hecho esto, no se requieren estos permisos.
  • La sección KMS solo es necesaria cuando se utiliza el cifrado de volúmenes de EBS.
  • La sección de permisos iam:PassRole solo es necesaria para role_based_auth.
  • Se pueden agregar permisos específicos a nivel de recursos, en lugar de pleno acceso, en función de los requisitos y el entorno. Para obtener más información, consulte los documentos de AWS Demystifying EC2 Resource-Level Permissions y Access management for AWS resources.

Más información