Conexión a AWS
(/es-es/citrix-virtual-apps-desktops/2407/install-configure/connections.html) describe los asistentes que crean una conexión. La siguiente información cubre detalles específicos de los entornos de nube de AWS.
Nota:
Antes de crear una conexión a AWS, primero debe terminar de configurar su cuenta de AWS como una ubicación de recursos. Consulte Entornos de nube de AWS.
Crear una conexión
Al crear una conexión desde Web 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 para 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 que está utilizando 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 contactable:
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 como máximo de forma predeterminada.
URL del punto final del servicio
URL del punto final del 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 AWS DescribeRegions EC2. La consulta se realiza utilizando una URL genérica de punto final de servicio de EC2 https://ec2.amazonaws.com/. Utilice MCS para seleccionar la zona para la conexión de la lista de zonas admitidas. La URL preferida del punto final del servicio de AWS se selecciona automáticamente para la zona. Sin embargo, después de crear la URL del punto final del servicio, ya no puede establecer ni modificar la URL.
Definir permisos de IAM
Utilice la información de esta sección para definir los permisos de IAM para Citrix Virtual Apps and Desktops 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 la referencia de políticas JSON de IAM.
Para aplicar la política de permisos de IAM a un nuevo grupo de usuarios:
- Inicie sesión en la consola de administración de AWS y seleccione el servicio IAM de la lista desplegable.
- Seleccione Crear un nuevo grupo de usuarios.
- Escriba un nombre para el nuevo grupo de usuarios y seleccione Continuar.
- En la página Permisos, elija Política personalizada. Seleccione Seleccionar.
- Escriba un nombre para la política de permisos.
- 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 Virtual Apps and Desktops.
Importante:
Utilice el texto de la política proporcionado en el ejemplo anterior para enumerar las acciones que Citrix Virtual Apps and Desktops utiliza para realizar acciones dentro de una cuenta de AWS sin restringir esas acciones a recursos específicos. Citrix recomienda utilizar el ejemplo con fines de prueba. Para entornos de producción, puede optar por añadir más restricciones a los recursos.
Establecer permisos de IAM
Establezca los permisos en la sección IAM de la Consola de administración de AWS:
- En el panel Resumen, seleccione la ficha Permisos.
- Seleccione Agregar permisos.

En la pantalla Agregar permisos a, conceda permisos:

Utilice lo siguiente como ejemplo en la ficha JSON:

Consejo:
Es posible que el ejemplo JSON mencionado no incluya todos los permisos para su entorno. Consulte Cómo definir permisos de administración de acceso de identidad para ejecutar Citrix Virtual Apps and Desktops en AWS para obtener más información.
Permisos de AWS necesarios
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 utilizando la información 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 VM
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",
"ec2:DescribeInstanceStatus"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Crear, actualizar o eliminar VM
Se crea, actualiza o elimina un catálogo de máquinas con VM 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:DescribeInstanceStatus",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeInstanceCreditSpecifications",
"ec2:DescribeInstanceAttribute",
"ec2:GetLaunchTemplateData",
"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 los grupos de seguridad solo es necesaria si se debe crear un grupo de seguridad de aislamiento para la VM 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 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 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.
Nota:
La compatibilidad con el trabajador de volumen está en desuso.
Los siguientes permisos deben añadirse a la política:
ebs:StartSnapshotebs:GetSnapshotBlockebs:PutSnapshotBlockebs:CompleteSnapshotebs:ListSnapshotBlocksebs:ListChangedBlocksec2:CreateSnapshotec2:DeleteSnapshotec2:DescribeLaunchTemplates
Importante:
- Puede añadir una 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 (volume worker) anteriormente, se eliminarán todos los artefactos, incluidos los relacionados con el trabajador de volumen.
Cifrado 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, se deben incluir los siguientes permisos 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 Resource y Condition a discreción del usuario. Por ejemplo, KMS Permissions with Condition:
{
"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 KMS que se requiere para permitir que la cuenta use políticas de IAM para delegar permisos 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
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-->
Política de permisos mínimos de IAM
El siguiente JSON se puede usar para todas las funciones actualmente admitidas. Puede crear conexiones de host, crear, actualizar o eliminar máquinas virtuales y realizar la administración de energía utilizando esta política. La política se puede aplicar a los usuarios como se explica en las secciones Define IAM permissions o también puede usar la autenticación basada en roles utilizando la clave de seguridad role_based_auth y la clave secreta.
Importante:
Para usar role_based_auth, primero configure el rol de IAM deseado en todos los Delivery Controllers de nuestro sitio. Con Web Studio, agregue la conexión de alojamiento y proporcione el role_based_auth para la clave de autenticación y la clave secreta. Una conexión de alojamiento con esta configuración utiliza entonces 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:DescribeInstanceStatus",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeInstanceCreditSpecifications",
"ec2:DescribeInstanceAttribute",
"ec2:GetLaunchTemplateData",
"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:GenerateDataKey",
"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 Isolation Security Group para la VM 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 Demystifying EC2 Resource-Level Permissions y Access management for AWS resources para obtener más detalles.
Validar permisos en la conexión de host
Puede validar los permisos en una conexión de host para realizar tareas relacionadas con la creación y administración de catálogos de máquinas MCS. Esta implementación le ayuda a detectar con antelación los permisos que faltan para diferentes escenarios, como la creación, eliminación y actualización de máquinas virtuales, la administración de energía de las máquinas virtuales y el cifrado EBS, para que pueda evitar bloqueos en momentos críticos.
Puede validar los permisos en una conexión de host mediante el comando de PowerShell Test-HypHypervisorConnection. El resultado del comando se captura como una lista donde cada elemento de la lista se divide en tres secciones.
- Categoría: La acción o tarea que un usuario puede realizar para crear y administrar un catálogo de máquinas MCS.
- Acción correctiva: El paso que un administrador debe realizar para resolver una discrepancia de permisos faltantes de un usuario.
- Permiso faltante: La lista de permisos faltantes para una categoría.
Para validar los permisos, haga lo siguiente:
- Cree una conexión de host a AWS.
- Abra una ventana de PowerShell desde el host de Delivery Controller™.
- Ejecute
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. -
Ejecute el siguiente comando para verificar si tiene los permisos necesarios para buscar sus permisos.
Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon" <!--NeedCopy--> -
Después de agregar los permisos faltantes necesarios para buscar sus permisos, ejecute el siguiente comando para verificar si tiene permisos en las siguientes categorías:
- Crear, actualizar, eliminar
- Administración de energía
- Cifrado de EBS
Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon" [-SecurePassword -Password] "password" -UserName "" -CustomProperties "" <!--NeedCopy-->
Para obtener más información sobre cómo agregar permisos, consulte Establecer permisos de IAM.
Pasos siguientes
- Si se encuentra en el proceso de implementación inicial, consulte Crear catálogos de máquinas
- Para obtener información específica de AWS, consulte Crear un catálogo de AWS