Citrix Virtual Apps and Desktops 7 2203 LTSR

Entornos de nube de AWS

Este artículo le guía a través de la configuración de su cuenta de AWS como una ubicación de recursos que puede utilizar con Citrix Virtual Apps and Desktops. La ubicación de recursos incluye un conjunto básico de componentes, ideal para una prueba de concepto u otra implementación que no requiera recursos distribuidos en varias zonas de disponibilidad. Una vez que complete estas tareas, podrá instalar VDA, aprovisionar máquinas, crear catálogos de máquinas y crear grupos de entrega.

Cuando complete las tareas de este artículo, su ubicación de recursos incluirá los siguientes componentes:

  • Una nube privada virtual (VPC) con subredes públicas y privadas dentro de una única zona de disponibilidad.
  • Una instancia que funciona como controlador de dominio de Active Directory y servidor DNS, ubicada en la subred privada de la VPC.
  • Una instancia que actúa como host bastión en la subred pública de su VPC. Esta instancia se utiliza para iniciar conexiones RDP a las instancias de la subred privada con fines administrativos. Una vez que haya terminado de configurar su ubicación de recursos, puede apagar esta instancia para que ya no sea fácilmente accesible. Cuando deba administrar otras instancias en la subred privada, como las instancias de VDA, puede reiniciar la instancia del host bastión.

Limitación

A partir de Citrix Virtual Apps and Desktops 2203 LTSR y versiones posteriores, el complemento MCS AWS realiza una llamada a la API de AWS DescribeInstanceTypes y, si tiene éxito, MCS utiliza el nombre de inventario creado a partir de la respuesta de la API.

Por lo tanto, cuando actualice de CVAD 1912 a 2203 o posterior, inhabilite el permiso DefineInstanceType en AWS y, a continuación, actualice el catálogo existente mediante el comando Set-ProvScheme para que coincida con el esquema de nombres de AWS. Luego, vuelva a agregar los permisos DescribeInstanceType una vez que se complete la actualización del catálogo y la oferta de servicio coincida con el esquema de nombres de AWS.

Descripción general de la tarea

Configurar una nube privada virtual (VPC) con subredes públicas y privadas. Cuando complete esta tarea, AWS implementará una puerta de enlace NAT con una dirección IP elástica en la subred pública. Esta acción permite que las instancias de la subred privada accedan a Internet. Las instancias de la subred pública son accesibles al tráfico público entrante, mientras que las instancias de la subred privada no lo son.

Configurar grupos de seguridad. Los grupos de seguridad actúan como firewalls virtuales que controlan el tráfico de las instancias de su VPC. Agrega reglas a sus grupos de seguridad que permiten que las instancias de su subred pública se comuniquen con las instancias de su subred privada. También asocia estos grupos de seguridad con cada instancia de su VPC.

Crear un conjunto de opciones de DHCP. Con una Amazon VPC, los servicios DHCP y DNS se proporcionan de forma predeterminada, lo que afecta la forma en que configura el DNS en su controlador de dominio de Active Directory. El DHCP de Amazon no se puede deshabilitar y el DNS de Amazon solo se puede usar para la resolución de DNS público, no para la resolución de nombres de Active Directory. Para especificar el dominio y los servidores de nombres que se entregan a las instancias a través de 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 de su VPC. Para garantizar que los registros de host (A) y de búsqueda inversa (PTR) se registren automáticamente cuando las instancias se unan al dominio, configure las propiedades del adaptador de red para cada instancia que agregue a la subred privada.

Agregar un host bastión y un controlador de dominio a la VPC. A través del host bastión, puede iniciar sesión en las instancias de la subred privada para configurar el dominio y unir instancias al dominio.

Tarea 1: Configurar la VPC

  1. Desde la consola de administración de AWS, seleccione VPC.
  2. Desde el panel de VPC, seleccione Crear VPC.
  3. Seleccione VPC y más.
  4. En puertas de enlace NAT ($), seleccione En 1 AZ o 1 por AZ.
  5. En las opciones de DNS, deje seleccionada la opción Habilitar nombres de host de DNS.
  6. Seleccione Crear VPC. AWS crea las subredes públicas y privadas, la puerta de enlace a Internet, las tablas de enrutamiento y el grupo de seguridad predeterminado.

Tarea 2: Configurar grupos de seguridad

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

  • Un grupo de seguridad público para asociar con las instancias de su subred pública.
  • Un grupo de seguridad privado para asociar con las instancias de su subred privada.

Para crear los grupos de seguridad:

  1. En el panel de VPC, seleccione Grupos de seguridad.
  2. Cree un grupo de seguridad para el grupo de seguridad público. Seleccione Crear grupo de seguridad e introduzca una etiqueta de nombre y una descripción para el grupo. En VPC, seleccione la VPC que creó anteriormente. Seleccione Sí, crear.

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 pestaña Inbound Rules y seleccione Edit para crear las siguientes reglas:

    Tipo Origen
    TODO el tráfico Seleccione el grupo de seguridad privado.
    TODO el tráfico 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 termine, seleccione Guardar.

  4. Seleccione la ficha Reglas de salida y, a continuación, Editar para crear las siguientes reglas:

    Tipo Destino
    Todo el tráfico Seleccione el grupo de seguridad Privado.
    Todo el tráfico 0.0.0.0/0
    ICMP 0.0.0.0/0
  5. Cuando termine, 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 desde el grupo de seguridad público, debe configurar los puertos TCP; seleccione la ficha Reglas de entrada y, a continuación, seleccione Editar para crear las siguientes reglas:

    Tipo Origen
    Todo el tráfico Seleccione el grupo de seguridad privado.
    Todo el tráfico 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 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 termine, seleccione Guardar.

  4. Seleccione la pestaña Reglas de salida y seleccione Editar para crear las siguientes reglas:

    Tipo Destino
    TODO el tráfico Seleccione el grupo de seguridad privado.
    TODO el tráfico 0.0.0.0/0
    ICMP 0.0.0.0/0
    UDP 53 (DNS) 0.0.0.0/0
  5. Cuando termine, seleccione Guardar.

Tarea 3: Iniciar instancias

Siga estos pasos para crear dos instancias EC2 y descifrar la contraseña de administrador predeterminada que genera Amazon:

  1. En la consola de administración de AWS, seleccione EC2.
  2. En el panel de EC2, seleccione Launch Instance (Iniciar instancia).
  3. Seleccione una imagen de máquina de Windows Server y un tipo de instancia.
  4. En la página Configure Instance Details (Configurar detalles de la instancia), introduzca un nombre para la instancia y seleccione la VPC que configuró anteriormente.
  5. En Subnet (Subred), haga las siguientes selecciones para cada instancia:

    • Host bastión: Seleccione la subred pública
    • Controlador de dominio: Seleccione la subred privada
  6. En Auto-assign Public IP address (Asignar automáticamente dirección IP pública), haga las siguientes selecciones para cada instancia:

    • Host bastión: Seleccione Enable (Habilitar).
    • Controlador de dominio: Seleccione Use default setting (Usar configuración predeterminada) o Disable (Deshabilitar).
  7. En Interfaces de red, introduzca una dirección IP principal dentro del rango de IP de su subred privada para el controlador de dominio.
  8. Si es necesario, en la página Agregar almacenamiento, modifique el tamaño del disco.
  9. En la página Etiquetar instancia, introduzca un nombre descriptivo para cada instancia.
  10. En la página Configurar grupos de seguridad, seleccione Seleccionar un grupo de seguridad existente y, a continuación, realice las siguientes selecciones para cada instancia:

    • Host bastión: Seleccione el grupo de seguridad público.
    • Controlador de dominio: Seleccione el grupo de seguridad privado.
  11. Revise sus selecciones y, a continuación, seleccione Lanzar.
  12. Cree un nuevo par de claves o seleccione uno existente. Si crea un nuevo par de claves, descargue su archivo de clave privada (.pem) y guárdelo en un lugar seguro. Debe proporcionar su clave privada cuando obtenga la contraseña de administrador predeterminada para la instancia.
  13. Seleccione Lanzar instancias. Seleccione Ver instancias para mostrar una lista de sus instancias. Espere hasta que la instancia recién lanzada haya pasado todas las comprobaciones de estado antes de acceder a ella.
  14. Obtenga la contraseña de administrador predeterminada para cada instancia:

    1. En la lista de instancias, seleccione la instancia y, a continuación, seleccione Conectar.
    2. Vaya a la pestaña Cliente RDP, seleccione Obtener contraseña y cargue su archivo de clave privada (.pem) cuando se le solicite.
    3. Seleccione Descifrar contraseña para obtener la contraseña legible. AWS muestra la contraseña predeterminada.
  15. Repita los pasos del paso 2 hasta que haya creado dos instancias:

    • Una instancia de host bastión en su subred pública
    • Una instancia en su subred privada que se utilizará como controlador de dominio.

Tarea 4: Crear un conjunto de opciones de DHCP

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

  2. Introduzca la siguiente información:

    • Etiqueta de nombre: Introduzca un nombre descriptivo para el conjunto.
    • Nombre de dominio: Introduzca el nombre de dominio completo que utiliza al configurar la instancia del controlador de dominio.
    • Servidores de nombres de dominio: Introduzca la dirección IP privada que asignó a la instancia del controlador de dominio y la cadena AmazonProvidedDNS, separadas por comas.
    • Servidores NTP: Deje este campo en blanco.
    • Servidores de nombres NetBIOS: Introduzca la dirección IP privada de la instancia del controlador de dominio.
    • Tipo de nodo NetBIOS: Introduzca 2.
  3. Seleccione Yes, Create.

  4. Asocie el nuevo conjunto a su VPC:

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

Tarea 5: Configurar las instancias

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

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

  3. Para todas las instancias de la subred privada, configure los ajustes de DNS:

    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 se muestra.
    2. Seleccione Propiedades > Protocolo de Internet versión 4 (TCP/IPv4) > Propiedades.
    3. Seleccione Opciones avanzadas > DNS. Asegúrese de que las siguientes opciones estén habilitadas y seleccione Aceptar:

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

    1. Con el Administrador del servidor, agregue el rol Servicios de dominio de Active Directory con todas las características predeterminadas.
    2. Promueva la instancia a un controlador de dominio. Durante la promoción, habilite DNS y use el nombre de dominio que especificó al crear el conjunto de opciones de DHCP. Reinicie la instancia cuando se le solicite.

Crear una conexión

Al crear una conexión desde Studio:

  • Debe proporcionar los valores de la clave de API y la clave secreta. Puede exportar el archivo de claves que contiene esos valores desde AWS y luego importarlos. También debe proporcionar la región, la zona de disponibilidad, el nombre de la VPC, las direcciones de subred, el nombre de dominio, los nombres de los grupos de seguridad y las credenciales.
  • El archivo de credenciales de la cuenta raíz de AWS (recuperado de la consola de AWS) no tiene 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 clave de API y clave secreta. Asegúrese de utilizar archivos de credenciales de AWS Identity Access Management (IAM).

Nota:

Después de crear una conexión, los intentos de actualizar la clave de API y la clave secreta pueden fallar. Para resolver el problema, compruebe las restricciones de su servidor proxy o firewall y asegúrese de que la siguiente dirección sea accesible: https://*.amazonaws.com.

Valores predeterminados de la conexión de host

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

Opción Absoluto Porcentaje
Acciones simultáneas (todos los tipos) 125 100
Máximo de acciones nuevas por minuto 125  

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

URL del punto final del servicio

URL de punto de conexión 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 EC2 AWS DescribeRegions. La consulta se realiza utilizando una URL genérica de punto de conexión de servicio EC2 https://ec2.amazonaws.com/. Utilice MCS para seleccionar la zona de la conexión de la lista de zonas admitidas. La URL preferida del punto de conexión de servicio de AWS se selecciona automáticamente para la zona. Sin embargo, después de crear la URL del punto de conexión de servicio, ya no podrá establecer ni modificar la URL.

Tenencia de AWS

AWS ofrece las siguientes opciones de tenencia: tenencia compartida (el tipo predeterminado) y tenencia dedicada. La tenencia compartida significa que varias instancias de Amazon EC2 de diferentes clientes pueden residir en el mismo hardware físico. La tenencia dedicada significa que sus instancias EC2 se ejecutan solo en hardware con otras instancias que usted ha implementado. Otros clientes no utilizan el mismo hardware.

Puede usar MCS para aprovisionar hosts dedicados de AWS mediante PowerShell.

Configurar la tenencia de host dedicado de AWS mediante PowerShell

Puede crear un catálogo de máquinas con la tenencia de host definida a través de PowerShell.

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

Los hosts dedicados tienen una utilización preestablecida basada en el tipo de instancia. Por ejemplo, un único host dedicado asignado de 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 en hosts de AWS incluyen:

  • Una imagen BYOL (traiga su propia licencia) importada (AMI). Con los hosts dedicados, utilice y administre sus licencias existentes.
  • Una asignación de hosts dedicados con suficiente utilización para satisfacer las solicitudes de aprovisionamiento.
  • habilitar auto-placement.

Para aprovisionar un host dedicado en AWS 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 mediante Machine Creation Services (MCS) en AWS, selecciona una AMI para representar la imagen maestra/dorada de ese catálogo. A partir de esa AMI, MCS utiliza una instantánea del disco. En versiones anteriores, si quería roles o etiquetas en sus máquinas, utilizaba la consola de AWS para configurarlos individualmente. Esta funcionalidad está habilitada de forma predeterminada.

Sugerencia:

Para usar la captura de propiedades de instancia de AWS, debe tener una VM asociada a la AMI.

Para mejorar este proceso, MCS lee las propiedades de la instancia de la que se tomó la AMI y aplica el rol de Identity Access Management (IAM) y las etiquetas de la máquina a las máquinas aprovisionadas para un catálogo determinado. Al usar esta función opcional, el proceso de creación del catálogo busca la instancia de origen de la AMI seleccionada, leyendo un conjunto limitado de propiedades. Estas propiedades se almacenan luego en una plantilla de lanzamiento de AWS, que se utiliza para aprovisionar máquinas para ese catálogo. Cualquier máquina del catálogo hereda 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 sus NIC. Estas etiquetas se aplican a los recursos transitorios de Citrix®, incluidos: el bucket y los objetos de S3, los recursos de volumen y de trabajo, y las AMI, las instantáneas y las plantillas de lanzamiento.

Sugerencia:

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

Captura de la propiedad de instancia de AWS

Puede usar esta función 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.

Aplicación de propiedades de instancia de AWS y etiquetado de recursos operativos

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

Etiquetado de recursos operativos de AWS

Una Amazon Machine Image (AMI) representa un tipo de dispositivo virtual que se utiliza para crear una máquina virtual dentro del entorno de nube de Amazon, comúnmente conocido como EC2. Se utiliza una AMI para implementar servicios que utilizan el entorno EC2. Al crear un catálogo para aprovisionar máquinas mediante MCS para AWS, se selecciona la AMI para que actúe como imagen maestra de 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 AMI para la instancia que desea que sea la imagen maestra. MCS lee las etiquetas de esa instancia y las incorpora a la plantilla de lanzamiento. 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
  • Cubos S3
  • Objetos S3
  • Plantillas de lanzamiento
  • AMI

Etiquetado de un recurso operativo

Para usar PowerShell para etiquetar recursos:

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

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

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

Definición de 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 pueden organizarse en grupos. Estos usuarios pueden tener diferentes permisos para controlar su capacidad de realizar operaciones asociadas a la cuenta. Para obtener más información sobre los permisos de IAM, consulte referencia de la política JSON de IAM.

Para aplicar la política 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 de la lista desplegable.
  2. Seleccione Crear un nuevo grupo de usuarios.
  3. Escriba un nombre para el nuevo grupo de usuarios y seleccione Continuar.
  4. En la página Permisos, elija Política personalizada. Seleccione Seleccionar.
  5. Escriba un nombre para la política de permisos.
  6. En la sección Documento de política, introduzca los permisos pertinentes.

Después de introducir la información de la política, seleccione Continuar para completar el grupo de usuarios. Los usuarios del grupo tienen permisos para realizar solo las acciones necesarias para Citrix DaaS.

Importante:

Utilice el texto de la política proporcionado en el ejemplo anterior para enumerar las acciones que un Citrix DaaS utiliza para realizar acciones dentro de una cuenta de AWS sin restringir esas acciones a recursos específicos. Citrix recomienda que utilice el ejemplo con fines de prueba. Para entornos de producción, puede optar por añadir más restricciones a los recursos.

Adición de permisos de IAM

Establezca los permisos en la sección IAM de la Consola de administración de AWS:

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

Administración de identidades y accesos (IAM)

En la pantalla Add Permissions to, conceda permisos:

Conceder permisos para políticas de IAM

Utilice lo siguiente como ejemplo en la ficha JSON:

Ejemplo de JSON

Sugerencia:

Es posible que el ejemplo de JSON mencionado no incluya todos los permisos para su entorno. Consulte How to Define Identity Access Management Permissions Running Citrix Virtual Apps and Desktops on AWS para obtener más información.

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.

Creación de una conexión de host

Se añade una nueva conexión de host utilizando 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",
                "ec2:DescribeRegions",
                "ec2:DescribeSnapshots",
                "ec2:DescribeLaunchTemplates"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

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

Las instancias de máquina se encienden o apagan.

{
    "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 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 de 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, estos permisos no son necesarios.

Carga y descarga directa de discos

La carga directa de discos 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 proporcionadas por AWS. Esta funcionalidad reduce el coste asociado a las cuentas de almacenamiento adicionales y la complejidad de mantener las operaciones del trabajador de volumen.

Los siguientes permisos deben añadirse a la directiva:

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

Importante:

  • Puede añadir una nueva VM a 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 existente que utilizaba un 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 AMI está cifrada o si EBS está configurado para cifrar todos los volúmenes nuevos. Sin embargo, para implementar la funcionalidad, los siguientes permisos deben incluirse en la política 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 incluyendo un bloque de Recursos y Condiciones 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 declaración de política de clave es la política de clave predeterminada completa para las claves de KMS que se requiere para permitir que la cuenta utilice políticas de IAM para delegar permisos para todas las acciones (kms:*) en la clave de 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 documentación oficial de AWS Key Management Service.

Autenticación basada en roles de IAM

Se agregan los siguientes permisos 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 JSON se puede utilizar para todas las funciones actualmente admitidas. Puede crear conexiones de host, crear, actualizar o eliminar máquinas virtuales y administrar la energía con esta directiva. La directiva se puede aplicar a los usuarios como se explica en las secciones (#defining-iam-permissions) o también puede usar la autenticación basada en roles con la clave de seguridad y la clave secreta role_based_auth.

Importante:

Para usar role_based_auth, primero configure el rol de IAM deseado en la instancia EC2 del conector de la nube al configurar el conector de la nube. Con Citrix Studio, agregue la conexión de host y proporcione role_based_auth para la clave de autenticación y la clave secreta. Una conexión de host con esta configuración 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, estos permisos no son necesarios.
  • La sección KMS solo es necesaria cuando se utiliza el cifrado de volumen EBS.
  • La sección de permisos iam:PassRole solo es necesaria para role_based_auth.
  • Se pueden agregar permisos específicos a nivel de recurso en lugar de acceso completo, según sus requisitos y entorno. Consulte los documentos de AWS Desmitificación de los permisos a nivel de recurso de EC2 y Administración de acceso para recursos de AWS para obtener más detalles.

Más información