Conexión a Microsoft Azure
(/es-es/citrix-virtual-apps-desktops/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 Azure Resource Manager.
Nota:
Antes de crear una conexión a Microsoft Azure, debe terminar de configurar su cuenta de Azure como una ubicación de recursos. Consulte Entornos de nube de Microsoft Azure Resource Manager.
Crear entidades de servicio y conexiones
Antes de crear conexiones, debe configurar las entidades de servicio que las conexiones utilizan para acceder a los recursos de Azure. Puede crear una conexión de dos maneras:
- Crear una entidad de servicio y una conexión juntas mediante Web Studio
- Crear una conexión utilizando una entidad de servicio creada previamente
Esta sección le muestra cómo completar estas tareas:
- Crear una entidad de servicio y una conexión mediante Web Studio
- Crear una entidad de servicio mediante PowerShell
- Obtener el secreto de la aplicación en Azure
- Crear una conexión utilizando una entidad de servicio existente
Consideraciones
- Citrix® recomienda usar la entidad de servicio con el rol de colaborador. Sin embargo, consulte la sección Permisos mínimos para obtener la lista de permisos mínimos.
- Al crear la primera conexión, Azure le pide que le conceda los permisos necesarios. Para futuras conexiones, deberá autenticarse, pero Azure recordará su consentimiento anterior y no volverá a mostrar la solicitud.
- Las cuentas utilizadas para la autenticación deben tener permisos para asignar roles en la suscripción mediante Azure RBAC. Por ejemplo, Propietario, Administrador de control de acceso basado en roles o Administrador de acceso de usuario de la suscripción.
- La cuenta utilizada para la autenticación debe ser miembro del directorio de la suscripción. Hay dos tipos de cuentas a tener en cuenta: ‘Trabajo o escuela’ y ‘cuenta personal de Microsoft’. Consulte CTX219211 para obtener más detalles.
-
Aunque puede usar una cuenta de Microsoft existente agregándola como miembro del directorio de la suscripción, pueden surgir complicaciones si al usuario se le concedió previamente acceso de invitado a uno de los recursos del directorio. En este caso, es posible que tengan una entrada de marcador de posición en el directorio que no les conceda los permisos necesarios y se devolverá un error.
Rectifique esto eliminando los recursos del directorio y volviéndolos a agregar explícitamente. Sin embargo, utilice esta opción con precaución, ya que tiene efectos no deseados en otros recursos a los que la cuenta puede acceder.
- Existe un problema conocido por el que ciertas cuentas se detectan como invitados del directorio cuando en realidad son miembros. Configuraciones como esta suelen ocurrir con cuentas de directorio establecidas más antiguas. Solución alternativa: agregue una cuenta al directorio, que toma el valor de membresía adecuado.
- Los grupos de recursos son simplemente contenedores de recursos y pueden contener recursos de regiones distintas a la suya propia. Esto puede ser confuso si espera que los recursos mostrados en la región de un grupo de recursos estén disponibles.
- Asegúrese de que su red y subred sean lo suficientemente grandes como para alojar la cantidad de máquinas que necesita. Esto requiere cierta previsión, pero Microsoft le ayuda a especificar los valores correctos, con orientación sobre la capacidad del espacio de direcciones.
Crear una entidad de servicio y una conexión mediante Web Studio
Importante:
Esta función aún no está disponible para las suscripciones de Azure China.
Con Web Studio, puede crear una entidad de servicio y una conexión en un único flujo de trabajo. Las entidades de servicio otorgan a las conexiones acceso a los recursos de Azure. Cuando se autentica en Azure para crear una entidad de servicio, se registra una aplicación en Azure. Se crea una clave secreta (denominada secreto de cliente o secreto de aplicación) para la aplicación registrada. La aplicación registrada (una conexión en este caso) utiliza el secreto de cliente para autenticarse en Microsoft Entra ID.
Antes de empezar, asegúrese de cumplir estos requisitos previos:
- Tiene una cuenta de usuario en el inquilino de Microsoft Entra de su suscripción.
- Las cuentas utilizadas para la autenticación deben tener permisos para asignar roles en la suscripción mediante Azure RBAC. Por ejemplo, Propietario, Administrador de control de acceso basado en roles o Administrador de acceso de usuario de la suscripción.
- Tiene permisos de administrador global, administrador de aplicaciones o desarrollador de aplicaciones para la autenticación. Estos permisos se pueden revocar después de crear la conexión de host. Para obtener más información sobre los roles, consulte roles integrados de Microsoft Entra.
Utilice el asistente Agregar conexión y recursos para crear un principal de servicio y una conexión juntos:
- En la página Conexión, seleccione Crear una conexión nueva, el tipo de conexión Microsoft Azure y su entorno de Azure.
- Seleccione qué herramientas usar para crear las máquinas virtuales y, a continuación, seleccione Siguiente.
-
En la página Detalles de la conexión, introduzca su ID de suscripción de Azure y un nombre para la conexión. Después de introducir el ID de suscripción, el botón Crear nuevo se habilita.
Nota:
El nombre de la conexión puede contener entre 1 y 64 caracteres, y no puede contener solo espacios en blanco ni los caracteres
\/;:#.*?=<>|[]{}"'()'. - Seleccione Crear nuevo y, a continuación, introduzca el nombre de usuario y la contraseña de la cuenta de Microsoft Entra.
- Seleccione Iniciar sesión.
- Seleccione Aceptar para conceder a Citrix Virtual Apps and Desktops™ los permisos enumerados. Citrix Virtual Apps and Desktops crea un principal de servicio que le permite administrar recursos de Azure en nombre del usuario especificado.
-
Después de seleccionar Aceptar, volverá a la página Conexión del asistente.
Nota:
Después de autenticarse correctamente en Azure, los botones Crear nuevo y Usar existente desaparecen. Aparece el texto Conexión correcta, con una marca de verificación verde, lo que indica la conexión correcta a su suscripción de Azure.
-
En la página Detalles de la conexión, seleccione Siguiente.
Nota:
No puede pasar a la página siguiente hasta que se autentique correctamente en Azure y dé su consentimiento para otorgar los permisos necesarios.
-
Configure los recursos para la conexión. Los recursos comprenden la región y la red.
- En la página Región, seleccione una región.
- En la página Red, haga lo siguiente:
- Escriba un nombre de recurso de 1 a 64 caracteres para ayudar a identificar la combinación de región y red. Un nombre de recurso no puede contener solo espacios en blanco ni los caracteres
\/;:#.*?=<>|[]{}"'()'. - Seleccione un par de red virtual/grupo de recursos. (Si tiene más de una red virtual con el mismo nombre, emparejar el nombre de la red con el grupo de recursos proporciona combinaciones únicas). Si la región que seleccionó en la página anterior no tiene ninguna red virtual, vuelva a esa página y seleccione una región que sí las tenga.
- Escriba un nombre de recurso de 1 a 64 caracteres para ayudar a identificar la combinación de región y red. Un nombre de recurso no puede contener solo espacios en blanco ni los caracteres
- En la página Resumen, vea un resumen de la configuración y seleccione Finalizar para completar la configuración.
Ver el ID de la aplicación
Después de crear una conexión, puede ver el ID de la aplicación que utiliza la conexión para acceder a los recursos de Azure.
En la lista Agregar conexión y recursos, seleccione la conexión para ver los detalles. La ficha Detalles muestra el ID de la aplicación.
Crear una entidad de servicio con PowerShell
Para crear una entidad de servicio con PowerShell, conéctese a su suscripción de Azure Resource Manager y utilice los cmdlets de PowerShell que se proporcionan en las siguientes secciones.
Asegúrese de tener estos elementos listos:
-
SubscriptionId:
SubscriptionIDde Azure Resource Manager para la suscripción donde quiere aprovisionar los VDA. - ActiveDirectoryID: ID de inquilino de la aplicación que registró con Microsoft Entra ID.
- ApplicationName: Nombre de la aplicación que se va a crear en Microsoft Entra ID.
Los pasos detallados son los siguientes:
Conéctese a su suscripción de Azure Resource Manager.
`Connect-AzAccount`
-
Seleccione la suscripción de Azure Resource Manager donde desea crear la entidad de servicio.
Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription -
Cree la aplicación en su inquilino de AD.
$AzureADApplication = New-AzADApplication -DisplayName $ApplicationName -
Cree una entidad de servicio.
New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId -
Asigne un rol a la entidad de servicio.
New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId -
En la ventana de salida de la consola de PowerShell, anote el ApplicationId. Proporcione ese ID al crear la conexión de host.
Obtener el secreto de la aplicación en Azure
Para crear una conexión mediante una entidad de servicio existente, primero debe obtener el ID de aplicación y el secreto de la entidad de servicio en el portal de Azure.
Los pasos detallados son los siguientes:
- Obtenga el ID de aplicación desde Web Studio o usando PowerShell.
- Inicie sesión en el portal de Azure.
- En Azure, seleccione Microsoft Entra ID.
- Desde Registros de aplicaciones en Microsoft Entra ID, seleccione su aplicación.
- Vaya a Certificados y secretos.
- Haga clic en Secretos de cliente.
Crear una conexión con una entidad de servicio existente
Si ya tiene una entidad de servicio, puede usarla para crear una conexión con Web Studio.
Asegúrese de tener estos elementos listos:
- SubscriptionId
- ActiveDirectoryID (ID de inquilino)
- ID de aplicación
-
Secreto de aplicación
Para obtener más información, consulte Obtener el secreto de la aplicación.
- Fecha de caducidad del secreto
Los pasos detallados son los siguientes:
En el asistente Agregar conexión y recursos:
-
En la página Conexión, seleccione Crear una conexión nueva, el tipo de conexión Microsoft Azure y su entorno de Azure.
-
Seleccione las herramientas que desea utilizar para crear las máquinas virtuales y, a continuación, seleccione Siguiente.
-
En la página Detalles de la conexión, introduzca su ID de suscripción de Azure y un nombre para la conexión.
Nota:
El nombre de la conexión puede contener entre 1 y 64 caracteres, y no puede contener solo espacios en blanco ni los caracteres
\/;:#.*?=<>|[]{}"'()'. -
Seleccione Usar existente. En la ventana Detalles de la entidad de servicio existente, introduzca la siguiente configuración para la entidad de servicio existente. Después de introducir los detalles, el botón Guardar se habilita. Seleccione Guardar. No puede avanzar más allá de esta página hasta que proporcione detalles válidos.
- ID de suscripción. Introduzca su ID de suscripción de Azure. Para obtener su ID de suscripción, inicie sesión en el portal de Azure y vaya a Suscripciones > Información general.
- ID de Active Directory (ID de inquilino). Introduzca el ID de directorio (inquilino) de la aplicación que registró con Azure AD.
- ID de aplicación. Introduzca el ID de aplicación (cliente) de la aplicación que registró con Azure AD.
- Secreto de aplicación. Cree una clave secreta (secreto de cliente). La aplicación registrada utiliza la clave para autenticarse en Azure AD. Recomendamos cambiar las claves regularmente por motivos de seguridad. Asegúrese de guardar la clave, ya que no podrá recuperarla más tarde.
-
Fecha de caducidad del secreto. Introduzca la fecha después de la cual caduca el secreto de la aplicación. Verá un icono de advertencia en la conexión de host específica en el nodo Alojamiento a partir de 14 días antes de que caduque la clave secreta. Sin embargo, si la clave secreta caduca, recibirá errores.
Nota:
Por motivos de seguridad, el período de caducidad no puede ser superior a dos años a partir de ahora.
- URL de autenticación. Este campo se rellena automáticamente y no es editable.
- URL de administración. Este campo se rellena automáticamente y no es editable.
- Sufijo de almacenamiento. Este campo se rellena automáticamente y no es editable.
- Punto final de almacenamiento de blobs de Azure para cargar o descargar discos o instantáneas. Este campo se rellena automáticamente y no es editable.
- Servicio Key Vault. Este campo se rellena automáticamente y no es editable.
-
Sufijo de Service Bus. Este campo se rellena automáticamente y no es editable.
Se requiere acceso a los siguientes puntos finales para crear un catálogo de MCS en Azure. El acceso a estos puntos finales optimiza la conectividad entre su red y el portal de Azure y sus servicios.
- URL de autenticación:
https://login.microsoftonline.com - URL de administración:
https://management.azure.com. Esta es una URL de solicitud para las API del proveedor de Azure Resource Manager. El punto final para la administración depende del entorno. Por ejemplo, para Azure Global, eshttps://management.azure.com, y para Azure US Government, eshttps://management.usgovcloudapi.net. - Sufijo de almacenamiento:
https://*.core.windows.net. Este (*) es un carácter comodín para el sufijo de almacenamiento. Por ejemplo,https://demo.table.core.windows.net. - Punto final de almacenamiento de blobs de Azure para cargar o descargar discos o instantáneas:
https://*.storage.azure.net. Este (*) es un carácter comodín para las operaciones de importación y exportación de almacenamiento de blobs. Por ejemplo,https://md-impexp-xxxxx.z[00-50].blob.storage.azure.net. - Servicio Key Vault:
https://*.vault.azure.net. Este (*) es un carácter comodín para el nombre del almacén de claves. Por ejemplo,https://<your-key-vault-name>.vault.azure.net. - Sufijo de Service Bus:
https://*.servicebus.windows.net. Este (*) es un carácter comodín para los espacios de nombres creados en la nube global de Azure. Por ejemplo,https://{serviceNamespace}.servicebus.windows.net/{path}.
- URL de autenticación:
- Después de seleccionar Guardar, volverá a la página Detalles de la conexión. Seleccione Siguiente para continuar con la página siguiente.
-
Configure los recursos para la conexión. Los recursos comprenden la región y la red.
- En la página Región, seleccione una región.
- En la página Red, haga lo siguiente:
- Escriba un nombre de recurso de 1 a 64 caracteres para ayudar a identificar la combinación de región y red. Un nombre de recurso no puede contener solo espacios en blanco ni los caracteres
\/;:#.*?=<>|[]{}"'()'. - Seleccione un par de red virtual/grupo de recursos. (Si tiene más de una red virtual con el mismo nombre, emparejar el nombre de la red con el grupo de recursos proporciona combinaciones únicas). Si la región que seleccionó en la página anterior no tiene ninguna red virtual, vuelva a esa página y seleccione una región que tenga redes virtuales.
- Escriba un nombre de recurso de 1 a 64 caracteres para ayudar a identificar la combinación de región y red. Un nombre de recurso no puede contener solo espacios en blanco ni los caracteres
- En la página Resumen, vea un resumen de la configuración y seleccione Finalizar para completar la configuración.
Administrar entidades de servicio y conexiones
Esta sección detalla cómo puede administrar las entidades de servicio y las conexiones:
- Configurar la limitación de Azure
- Habilitar el uso compartido de imágenes en Azure
- Agregar inquilinos compartidos a una conexión mediante Web Studio
- Implementar el uso compartido de imágenes mediante PowerShell
- Administrar el secreto de la aplicación y la fecha de caducidad del secreto
Configurar la limitación de Azure
Azure Resource Manager limita las solicitudes de suscripciones e inquilinos, enrutando el tráfico según los límites definidos y adaptados a las necesidades específicas del proveedor. Consulte Limitación de solicitudes de Resource Manager en el sitio de Microsoft para obtener más información. Existen límites para suscripciones e inquilinos, donde la administración de muchas máquinas puede volverse problemática. Por ejemplo, una suscripción que contenga muchas máquinas podría experimentar problemas de rendimiento relacionados con las operaciones de energía.
Sugerencia:
Para obtener más información, consulte Mejora del rendimiento de Azure con Machine Creation Services.
Para ayudar a mitigar estos problemas, puede eliminar la limitación interna de MCS para usar una mayor parte de la cuota de solicitudes disponible de Azure.
Recomendamos la siguiente configuración óptima al encender o apagar máquinas virtuales en suscripciones grandes, por ejemplo, las que contienen 1000 máquinas virtuales:
- Operaciones simultáneas absolutas: 500
- Máximo de operaciones nuevas por minuto: 2000
- Concurrencia máxima de operaciones: 500
Utilice Web Studio para configurar las operaciones de Azure para una conexión de Azure determinada:
- En Web Studio, seleccione Alojamiento en el panel izquierdo.
- Seleccione la conexión.
- En el asistente Modificar conexión, seleccione Avanzado.
- En la página Avanzado, utilice las opciones de configuración para especificar el número de acciones simultáneas y el número máximo de acciones nuevas por minuto, así como cualquier opción de conexión adicional.

MCS admite 500 operaciones concurrentes máximas de forma predeterminada. Alternativamente, puede usar el SDK de PowerShell remoto para establecer el número máximo de operaciones concurrentes.
Utilice la propiedad PowerShell, MaximumConcurrentProvisioningOperations, para especificar el número máximo de operaciones de aprovisionamiento de Azure concurrentes. Al utilizar esta propiedad, tenga en cuenta:
- El valor predeterminado de
MaximumConcurrentProvisioningOperationses 500. - Configure el parámetro
MaximumConcurrentProvisioningOperationsmediante el comando de PowerShellSet-item.
Habilitar el uso compartido de imágenes en Azure
Al crear o actualizar catálogos de máquinas, puede seleccionar imágenes compartidas de diferentes inquilinos y suscripciones de Azure (compartidas a través de Azure Compute Gallery). Para habilitar el uso compartido de imágenes dentro o entre inquilinos, debe realizar la configuración necesaria en Azure:
Compartir imágenes dentro de un inquilino (entre suscripciones)
Para seleccionar una imagen en Azure Compute Gallery que pertenezca a una suscripción diferente, la imagen debe compartirse con el principal de servicio (SPN) de esa suscripción.
Por ejemplo, si hay un principal de servicio (SPN 1) configurado en Studio como:
Principal de servicio: SPN 1
Suscripción: subscription 1
Inquilino: tenant 1
La imagen está en una suscripción diferente, configurada en Studio como:
Suscripción: subscription 2
Inquilino: tenant 1
Si quiere compartir la imagen de subscription 2 con subscription 1 (SPN 1), vaya a subscription 2 y comparta el grupo de recursos con SPN1.
La imagen debe compartirse con otro SPN mediante el control de acceso basado en roles (RBAC) de Azure. Azure RBAC es el sistema de autorización que se utiliza para administrar el acceso a los recursos de Azure. Para obtener más información sobre Azure RBAC, consulte el documento de Microsoft ¿Qué es el control de acceso basado en roles de Azure (Azure RBAC)?. Para conceder acceso, asigne roles a las entidades de servicio en el ámbito del grupo de recursos con el rol de Colaborador. Para asignar roles de Azure, debe tener el permiso Microsoft.Authorization/roleAssignments/write, como Administrador de acceso de usuario o Propietario. Para obtener más información sobre cómo compartir imágenes con otro SPN, consulte el documento de Microsoft Asignar roles de Azure mediante Azure Portal.
Para obtener información sobre cómo seleccionar una imagen de una suscripción diferente mediante comandos de PowerShell, Seleccionar una imagen de una suscripción diferente.
Compartir imágenes entre inquilinos
Para compartir imágenes entre inquilinos con Azure Compute Gallery, cree un registro de aplicación.
Por ejemplo, si hay dos inquilinos (Inquilino 1 e Inquilino 2) y quiere compartir su galería de imágenes con el Inquilino 1, haga lo siguiente:
-
Cree un registro de aplicación para el Inquilino 1. Para obtener más información, consulte Crear el registro de la aplicación.
-
Conceda acceso al Inquilino 2 a la aplicación solicitando un inicio de sesión mediante un explorador. Reemplace
Tenant2 IDpor el ID de inquilino del Inquilino 1. ReemplaceApplication (client) IDpor el ID de aplicación del registro de aplicación que creó. Una vez realizados los reemplazos, pegue la URL en un explorador y siga las indicaciones de inicio de sesión para iniciar sesión en el Inquilino 2. Por ejemplo:https://login.microsoftonline.com/<Tenant 2 ID>/oauth2/authorize?client_id=<Application (client) ID>&response_type=code&redirect_uri=https%3A%2F%2Fwww.microsoft.com%2F <!--NeedCopy-->Para obtener más información, consulte Conceder acceso al Inquilino 2.
-
Conceda acceso a la aplicación al grupo de recursos del Inquilino 2. Inicie sesión como Inquilino 2 y conceda acceso al registro de la aplicación al grupo de recursos que contiene la imagen de la galería. Para obtener más información, consulte Autenticar solicitudes entre inquilinos.
Para crear un catálogo con una imagen de un inquilino diferente mediante comandos de PowerShell:
- Actualizar las propiedades personalizadas de la conexión de alojamiento con los ID de inquilino compartidos.
- Seleccionar una imagen de un inquilino diferente.
Agregar inquilinos compartidos a una conexión mediante Web Studio
Al crear o actualizar catálogos de máquinas en Web Studio, puede seleccionar imágenes compartidas de diferentes inquilinos y suscripciones de Azure (compartidas a través de Azure Compute Gallery). La función requiere que proporcione información de inquilino y suscripción compartidos para las conexiones de host asociadas.
Nota:
Asegúrese de haber configurado los ajustes necesarios en Azure para habilitar el uso compartido de imágenes entre inquilinos. Para obtener más información, consulte Compartir imágenes entre inquilinos.
Complete los siguientes pasos para una conexión:
- En Web Studio, seleccione Alojamiento en el panel izquierdo.
-
Seleccione la conexión y, a continuación, seleccione Editar conexión en la barra de acciones.

-
En Inquilinos compartidos, haga lo siguiente:
- Proporcione el ID de aplicación y el secreto de aplicación asociados a la suscripción de la conexión. Citrix Virtual Apps™ and Desktops utiliza esta información para autenticarse en Microsoft Entra ID.
- Agregue inquilinos y suscripciones que compartan la Galería de cálculo de Azure con la suscripción de la conexión. Puede agregar hasta 8 inquilinos compartidos y 8 suscripciones por cada inquilino.
- Cuando haya terminado, seleccione Aplicar para aplicar los cambios realizados y mantener la ventana abierta, o seleccione Aceptar para aplicar los cambios y cerrar la ventana.
Implementar el uso compartido de imágenes mediante PowerShell
Esta sección le guía a través de los procesos de uso compartido de imágenes mediante PowerShell:
- Seleccionar una imagen de una suscripción diferente
- Actualizar las propiedades personalizadas de la conexión de alojamiento con los ID de inquilino compartidos
- Seleccionar una imagen de un inquilino diferente
Seleccionar una imagen de una suscripción diferente
Puede seleccionar una imagen en Azure Compute Gallery que pertenezca a una suscripción compartida diferente en el mismo inquilino de Azure para crear y actualizar catálogos de MCS mediante comandos de PowerShell.
- En la carpeta raíz de la unidad de alojamiento, Citrix crea una nueva carpeta de suscripción compartida llamada
sharedsubscription. -
Enumere todas las suscripciones compartidas en un inquilino.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\sharedsubscription.folder" <!--NeedCopy--> -
Seleccione una suscripción compartida y, a continuación, enumere todos los grupos de recursos compartidos de esa suscripción compartida.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription" <!--NeedCopy--> -
Seleccione un grupo de recursos y, a continuación, enumere todas las galerías de ese grupo de recursos.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup" <!--NeedCopy--> -
Seleccione una galería y, a continuación, enumere todas las definiciones de imagen de esa galería.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\testgallery.gallery" <!--NeedCopy--> -
Seleccione una definición de imagen y, a continuación, enumere todas las versiones de imagen de esa definición de imagen.
Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\sigtestdef.imagedefinition" <!--NeedCopy--> -
Cree y actualice un catálogo de MCS utilizando los siguientes elementos:
- Grupo de recursos
- Galería
- Definición de imagen de galería
- Versión de imagen de galería
Para obtener información sobre cómo crear un catálogo mediante el SDK de PowerShell remoto, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Actualizar las propiedades personalizadas de la conexión de alojamiento con ID de inquilino compartidos
Utilice Set-Item para actualizar las propiedades personalizadas de la conexión de alojamiento con ID de inquilino e ID de suscripción compartidos. Agregue una propiedad SharedTenants en CustomProperties. El formato de Shared Tenants es:
[{"Tenant":"94367291-119e-457c-bc10-25337231f7bd","Subscriptions":["7bb42f40-8d7f-4230-a920-be2781f6d5d9"]},{"Tenant":"50e83564-c4e5-4209-b43d-815c45659564","Subscriptions":["06ab8944-6a88-47ee-a975-43dd491a37d0"]}]
<!--NeedCopy-->
Por ejemplo:
Set-Item -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
<Property xsi:type=`"StringProperty`" Name=`"SubscriptionId`" Value=`"123`" />
<Property xsi:type=`"StringProperty`" Name=`"ManagementEndpoint`" Value=`"https://management.azure.com/`" />
<Property xsi:type=`"StringProperty`" Name=`"AuthenticationAuthority`" Value=`"https://login.microsoftonline.com/`" />
<Property xsi:type=`"StringProperty`" Name=`"StorageSuffix`" Value=`"core.windows.net`" />
<Property xsi:type=`"StringProperty`" Name=`"TenantId`" Value=`"123abc`" />
<Property xsi:type=`"StringProperty`" Name=`"SharedTenants`" Value=`"`[ { 'Tenant':'123abc', 'Subscriptions':['345', '567'] } ]`"` />
</CustomProperties>"
-LiteralPath @("XDHyp:\Connections\aazure") -PassThru -UserName "advc345" -SecurePassword
$psd
<!--NeedCopy-->
Nota:
Puede añadir más de un inquilino. Cada inquilino puede tener más de una suscripción.
Seleccionar una imagen de un inquilino diferente
Puede seleccionar una imagen en la Galería de cálculo de Azure que pertenezca a un inquilino de Azure diferente para crear y actualizar catálogos de MCS mediante comandos de PowerShell.
- En la carpeta raíz de la unidad de alojamiento, Citrix crea una nueva carpeta de suscripción compartida llamada
sharedsubscription. -
Enumere todas las suscripciones compartidas.
Get-ChildItem XDHyp:\HostingUnits\azres\sharedsubscription.folder <!--NeedCopy--> -
Seleccione una suscripción compartida y, a continuación, enumere todos los grupos de recursos compartidos de esa suscripción compartida.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription <!--NeedCopy--> -
Seleccione un grupo de recursos y, a continuación, enumere todas las galerías de ese grupo de recursos.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup <!--NeedCopy--> -
Seleccione una galería y, a continuación, enumere todas las definiciones de imagen de esa galería.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery <!--NeedCopy--> -
Seleccione una definición de imagen y, a continuación, enumere todas las versiones de imagen de esa definición de imagen.
Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery\hij.imagedefinition <!--NeedCopy--> -
Cree y actualice un catálogo de MCS utilizando los siguientes elementos:
- Grupo de recursos
- Galería
- Definición de imagen de la galería
- Versión de la imagen de la galería
Para obtener información sobre cómo crear un catálogo mediante el SDK de PowerShell remoto, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Administrar el secreto de la aplicación y la fecha de caducidad del secreto
Asegúrese de cambiar el secreto de la aplicación para una conexión antes de que caduque. Verá un icono de advertencia en la conexión de host específica en el nodo Hosting a partir de 14 días antes de que caduque la clave secreta. Sin embargo, si la clave secreta caduca, recibirá errores.
Crear un secreto de aplicación en Azure
Puede crear un secreto de aplicación para una conexión a través del portal de Azure.
- Seleccione Microsoft Entra ID.
- En Registros de aplicaciones de Microsoft Entra ID, seleccione su aplicación.
- Vaya a Certificados y secretos.
- Haga clic en Secretos de cliente > Nuevo secreto de cliente.
-
Proporcione una descripción del secreto y especifique una duración. Cuando termine, seleccione Agregar.
Nota:
Asegúrese de guardar el secreto de cliente porque no podrá recuperarlo más tarde.
- Copie el valor del secreto de cliente y la fecha de caducidad.
- En Web Studio, edite la conexión correspondiente y reemplace el contenido de los campos Secreto de la aplicación y Fecha de caducidad del secreto con los valores que copió.
Cambiar la fecha de caducidad del secreto
Puede usar Web Studio para agregar o modificar la fecha de caducidad del secreto de aplicación en uso.
Nota:
Verá un icono de advertencia en la conexión de host específica en el nodo Hosting a partir de 14 días antes de que caduque la clave secreta.
- En el asistente Agregar conexión y recursos, haga clic con el botón secundario en una conexión y, a continuación, haga clic en Modificar conexión.
- En la página Propiedades de la conexión, haga clic en Fecha de caducidad del secreto para agregar o modificar la fecha de caducidad del secreto de aplicación en uso.
Zonas extendidas de Azure
Las zonas extendidas de Azure son extensiones de pequeña huella de las regiones de Azure existentes, lo que permite a las organizaciones ejecutar cargas de trabajo más cerca de sus usuarios para mejorar el rendimiento y el cumplimiento. MCS en Azure ahora admite el aprovisionamiento y la administración de energía para máquinas virtuales en zonas extendidas.
Para obtener más información sobre las zonas extendidas de Azure, consulte la documentación de Microsoft: Documentación de las zonas extendidas de Azure.
Casos de uso
Esta función es aplicable a catálogos persistentes y no persistentes:
-
Máquinas virtuales solo con administración de energía: Puede importar sus máquinas virtuales de zona extendida existentes a un catálogo solo con administración de energía y administrarlas con Citrix MCS.
-
Máquinas virtuales aprovisionadas por MCS: Puede aprovisionar nuevas máquinas virtuales en una zona extendida y administrarlas con MCS. Esta función también incluye compatibilidad con flujos de trabajo de administración de imágenes.
Limitaciones
Actualmente existen varias limitaciones para el uso de las zonas extendidas de Azure. Muchas de estas limitaciones se deben a las restricciones actuales de Azure:
- Los hosts dedicados no son compatibles.
- Las reservas de capacidad no son compatibles.
- Los grupos de ubicación por proximidad no son compatibles.
- Las máquinas virtuales Spot no son compatibles.
- Las zonas de disponibilidad no son compatibles en las zonas extendidas.
- Solo se admiten los tipos de almacenamiento StandardSSD_LRS y Premium_LRS.
- Actualmente, no puede usar la función UseSharedImageGallery para guardar una imagen maestra en una Azure Compute Gallery (o Shared Image Gallery) en una zona extendida. Como consecuencia, los discos de SO efímeros tampoco son compatibles.
- Si utiliza una versión de imagen de Azure Compute Gallery como imagen maestra, asegúrese de que la replicación se haya completado por completo en la zona extendida antes de intentar usarla. Intentar usar la versión de la imagen antes de que se complete la replicación podría provocar un error en la implementación.
Requisitos previos
Antes de usar las zonas extendidas, asegúrese de haber completado los siguientes pasos de requisitos previos:
-
Registrarse en Azure:
- Las zonas extendidas no están habilitadas de forma predeterminada.
- Registre el proveedor de recursos
Microsoft.EdgeZonesen su suscripción de Azure: Registre su suscripción para el proveedor de recursos Microsoft.EdgeZones. - Registre cada zona extendida necesaria por separado (ej.: LosAngeles, Perth): Registrarse para una zona extendida de Azure.
-
Preparar recursos de Citrix:
- Cree una red virtual en su Zona Extendida.
- Cree imágenes maestras y instantáneas según sea necesario.
Permisos necesarios
Para crear un catálogo en una Zona Extendida, su entidad de servicio debe tener el siguiente permiso: Microsoft.EdgeZones/extendedZones/read.
Para obtener más información sobre los permisos mínimos necesarios, consulte Permisos mínimos.
Pasos de configuración
-
Crear una unidad de alojamiento en una Zona Extendida
Las Zonas Extendidas, que utilizan el tipo
.extendedzone, se enumeran junto con las regiones en el inventario de Citrix MCS. Para aprovisionar en una zona extendida, debe crear una nueva unidad de alojamiento vinculada a esa zona extendida.Ejemplo: Para crear una unidad de alojamiento en la Zona Extendida de Los Ángeles
$RootPath = "XDHyp:\Connections\MyConnectionName\Los Angeles.extendedzone" $NetworkPath = "XDHyp:\Connections\MyConnectionName\Los Angeles.extendedzone\virtualprivatecloud.folder\MyResourceGroup.resourcegroup\MyExtendedZoneNetwork.virtualprivatecloud\MyExtendedZoneSubnet.network" $HostingUnitPath = "XDHyp:\HostingUnits\MyHostingUnitName" New-Item -HypervisorConnectionName MyConnectionName -NetworkPath @($NetworkPath) -Path @($HostingUnitPath) -RootPath $RootPath -StoragePath @() <!--NeedCopy--> -
Crear un catálogo de MCS en una Zona Extendida
Después de crear su unidad de alojamiento, continúe con la creación del catálogo utilizando Studio o PowerShell. Asegúrese de que su catálogo haga referencia a la unidad de alojamiento de la Zona Extendida.
Solución de problemas
Si encuentra problemas, compruebe lo siguiente:
- Asegúrese de que su suscripción esté registrada para zonas extendidas.
- Confirme que su suscripción está registrada con el proveedor de recursos Microsoft.EdgeZones.
- Asegúrese de que cada Zona Extendida esté registrada individualmente.
-
Verifique que su entidad de servicio tenga el nuevo permiso.
- Su entidad de servicio debe tener el permiso
Microsoft.EdgeZones/extendedZones/read.
- Su entidad de servicio debe tener el permiso
Los elementos de inventario en las Zonas Extendidas pueden mostrarse como “Zona Extendida Desconocida” si faltan el registro o los permisos.
Nota:
Si crea un catálogo en la región principal utilizando una imagen maestra de una Zona Extendida, el registro y los permisos para la Zona Extendida siguen siendo necesarios.
Usar un grupo de seguridad de red precreado
Cree un grupo de seguridad de red de Denegación total para la preparación de imágenes en lugar de solicitar a Citrix que cree y modifique el NSG. Edite las propiedades personalizadas de la unidad de alojamiento mediante un comando de PowerShell Set-Item para incluir el parámetro NsgForPreparation para proporcionar el grupo de seguridad de red de Denegación total.
Requisitos previos
Configure los siguientes permisos necesarios para una entidad de servicio:
-
Microsoft.Network/networkSecurityGroups/join/action: Asociar un grupo de seguridad de red a una subred o interfaz de red -
Microsoft.Network/networkSecurityGroups/read: Obtiene el grupo de seguridad de red -
Microsoft.Network/networkSecurityGroups/securityRules/read: Obtiene la regla
Agregar el grupo de seguridad de red de Denegación total precreado
Para agregar el grupo de seguridad de red de Denegación total precreado, configure las propiedades personalizadas de la unidad de alojamiento de la siguiente manera:
- Abra una ventana de PowerShell con el SDK de PowerShell remoto.
-
Ejecute los siguientes comandos:
Add-PSSnapin citrix*. cd XDHyp:\HostingUnits\ Dir <!--NeedCopy--> -
Seleccione una unidad de alojamiento para recuperar los detalles:
Get-Item "XDHyp:\HostingUnits\<hostingunitname>" <!--NeedCopy--> -
Copie las CustomProperties en un bloc de notas y añada la configuración de propiedad
<Property xsi:type="StringProperty” Name="NsgForPreparation” Value="{ResourceGroupName}/{NetworkSecurityGroupName}"/>. Por ejemplo:<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"NsgForPreparation`" Value=`{ResourceGroupName}/{NetworkSecurityGroupName}`"/></CustomProperties> <!--NeedCopy--> -
En la ventana de PowerShell, asigne una variable a las propiedades personalizadas modificadas. Por ejemplo:
$customProperty = "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"NsgForPreparation`" Value=`"{ResourceGroupName}/{NetworkSecurityGroupName}`"/></CustomProperties>" <!--NeedCopy--> - Ejecute
$cred = Get-Credential. Si se le solicita, proporcione las credenciales de conexión. Las credenciales son el ID de aplicación de Azure y el secreto. -
Ejecute el siguiente comando.
Set-Item -PSPath XDHyp:\HostingUnits\<hostingunitname> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password <!--NeedCopy-->Importante:
Si recibe un mensaje que indica que falta SubscriptionId, reemplace todas las comillas dobles (“) por un acento grave seguido de comillas dobles (`”) en la propiedad personalizada.
- Ejecute
dirpara verificar la configuración actualizada deCustomProperties.
Nota:
Los cambios tardan más de un minuto en reflejarse.
Recuperar los detalles del grupo de seguridad de red
Para recuperar los detalles del grupo de seguridad de red, primero recupere los grupos de recursos que contienen el grupo de seguridad de red y, a continuación, recupere el grupo de seguridad de red en función del nombre del grupo de recursos.
-
Recupere los grupos de recursos que contienen el grupo de seguridad de red. Por ejemplo:
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["networksecuritygroup"]}' <!--NeedCopy--> -
Recupere el grupo de seguridad de red según el nombre del grupo de recursos. Por ejemplo:
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType securitygroup -MaxRecords 5 -AdditionalDataFilter '{"location": ["eastus", "westus"], "resourcegroup":["resourcegroupname"]}' <!--NeedCopy-->
Filtrar grupos de recursos vacíos
Utilice el comando de PowerShell Get-HypInventoryItem para filtrar grupos de recursos vacíos al seleccionar una imagen maestra, un perfil de máquina o una imagen preparada durante la creación del catálogo de máquinas.
Ejemplos:
-
Recuperar el número máximo de registros en una página:
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 <!--NeedCopy--> -
Recuperar el número máximo de registros en una página y filtrar para encontrar contenedores de recursos que tengan recursos específicos.
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' <!--NeedCopy--> -
Recuperar con omisión para indicar directamente la página y filtrar para encontrar contenedores de recursos que tengan recursos específicos.
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -skip 20 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' <!--NeedCopy--> -
Utilice un token para recuperar la página siguiente y filtrar para encontrar contenedores de recursos que tengan recursos específicos.
Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' -ContinuationToken 'ew0KICAiJGlkIjogIjEiLA0KICAiTWF4Um93cyI6IDUsDQogICJSb3dzVG9Ta2lwIjogMjUsDQogICJLdXN0b0NsdXN0ZXJVcmwiOiAiaHR0cHM6Ly9hcmctbmV1LTEzLXNmLmFyZy5jb3JlLndpbmRvd3MubmV0Ig0KfQ==' <!--NeedCopy--> -
Recuperar todos los grupos de recursos con la etiqueta interna de Citrix y limitar el número máximo de registros con
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 <!--NeedCopy--> -
Filtrar por perfil de máquina (imagen maestra) con la etiqueta interna de Citrix y limitar el número máximo de registros con
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}' <!--NeedCopy--> -
Filtrar por imagen preparada con la etiqueta interna de Citrix y limitar el número máximo de registros con
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion"]}' <!--NeedCopy--> -
Filtrar por perfil de máquina (imagen preparada) con la etiqueta interna de Citrix y limitar el número máximo de registros con
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}' <!--NeedCopy--> -
Filtrar por imagen con la etiqueta interna de Citrix y limitar el número máximo de registros con
MaxRecordsy la ubicación.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"], "location": ["eastus", "westus"]}' <!--NeedCopy--> -
Recuperar todos los grupos de recursos sin considerar las etiquetas
CitrixResource.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 50 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"]}' -Force $true <!--NeedCopy-->
Conectarse al entorno de nube Azure Sovereign Airgap
El entorno de nube Azure Sovereign Airgap es adecuado para cargas de trabajo de alto secreto que deben estar en dominios de red segregados. Puede conectarse al entorno de nube Azure Sovereign Airgap utilizando una propiedad personalizada DisableInstanceDiscovery al crear una conexión de host.
<Property xsi:type="StringProperty" Name="DisableInstanceDiscovery" Value="true" />
<!--NeedCopy-->
Consulte Create-HostingConnection.ps1 para obtener más información sobre cómo crear una conexión de host de Azure.
Permisos de Azure necesarios
Esta sección contiene los permisos mínimos y generales necesarios para Azure.
Permisos mínimos
Los permisos mínimos proporcionan un mejor control de seguridad. Sin embargo, las nuevas funciones que requieren permisos adicionales fallan debido al uso de solo permisos mínimos.
Creación de una conexión de host
Agregue una nueva conexión de host utilizando la información obtenida de Azure.
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/disks/read",
"Microsoft.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/tenants/read",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read"
<!--NeedCopy-->
Administración de energía de las máquinas virtuales
Encienda o apague las instancias de máquina.
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
<!--NeedCopy-->
Creación, actualización o eliminación de máquinas virtuales
Cree un catálogo de máquinas, luego agregue, elimine, actualice máquinas y elimine el catálogo de máquinas.
A continuación, se muestra la lista de permisos mínimos necesarios cuando la imagen maestra es un disco administrado o las instantáneas se encuentran en la misma región que la conexión de alojamiento.
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/write",
"Microsoft.Features/providers/features/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/locations/usages/read",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read"
<!--NeedCopy-->
Necesita los siguientes permisos adicionales basados en permisos mínimos para las siguientes funciones:
-
Si la imagen maestra es un VHD en una cuenta de almacenamiento ubicada en la misma región que la conexión de alojamiento:
"Microsoft.Storage/storageAccounts/read", "Microsoft.Storage/storageAccounts/listKeys/action", <!--NeedCopy--> -
Si la imagen maestra es una ImageVersion de la Galería de imágenes compartidas:
"Microsoft.Compute/galleries/read", "Microsoft.Compute/galleries/images/read", "Microsoft.Compute/galleries/images/versions/read", <!--NeedCopy--> -
Si la imagen maestra es un disco administrado, entonces las instantáneas o el VHD están en una región diferente a la región de la conexión de alojamiento:
"Microsoft.Storage/storageAccounts/read", "Microsoft.Storage/storageAccounts/listKeys/action", "Microsoft.Storage/storageAccounts/write", "Microsoft.Storage/storageAccounts/delete", "Microsoft.Storage/checknameavailability/read", "Microsoft.Storage/locations/usages/read", "Microsoft.Storage/skus/read", <!--NeedCopy--> -
Si utiliza un grupo de recursos administrado por Citrix:
"Microsoft.Resources/subscriptions/resourceGroups/write", "Microsoft.Resources/subscriptions/resourceGroups/delete", <!--NeedCopy--> -
Si coloca la imagen maestra en Azure Compute Gallery (anteriormente Shared Image Gallery) en un inquilino o suscripción compartidos:
"Microsoft.Compute/galleries/write", "Microsoft.Compute/galleries/images/write", "Microsoft.Compute/galleries/images/versions/write", "Microsoft.Compute/galleries/read", "Microsoft.Compute/galleries/images/read", "Microsoft.Compute/galleries/images/versions/read", "Microsoft.Compute/galleries/delete", "Microsoft.Compute/galleries/images/delete", "Microsoft.Compute/galleries/images/versions/delete", "Microsoft.Resources/subscriptions/read", <!--NeedCopy--> -
Si utiliza la compatibilidad con host dedicado de Azure:
"Microsoft.Compute/hostGroups/read", "Microsoft.Compute/hostGroups/write", "Microsoft.Compute/hostGroups/hosts/read", <!--NeedCopy--> -
Si utiliza el cifrado del lado del servidor (SSE) con claves administradas por el cliente (CMK):
"Microsoft.Compute/diskEncryptionSets/read", <!--NeedCopy--> -
Si implementa máquinas virtuales mediante plantillas ARM (perfil de máquina):
"Microsoft.Resources/deployments/write", "Microsoft.Resources/deployments/operationstatuses/read", "Microsoft.Resources/deployments/read", "Microsoft.Resources/deployments/delete", "Microsoft.Insights/DataCollectionRuleAssociations/Read", "Microsoft.Insights/dataCollectionRules/read", <!--NeedCopy--> -
Si utiliza la especificación de plantilla de Azure como perfil de máquina:
"Microsoft.Resources/templateSpecs/read", "Microsoft.Resources/templateSpecs/versions/read", <!--NeedCopy-->
Creación, actualización y eliminación de máquinas con disco no administrado
A continuación, se muestra la lista de permisos mínimos necesarios cuando la imagen maestra es VHD y se utiliza el grupo de recursos proporcionado por el administrador:
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/locations/usages/read",
<!--NeedCopy-->
Administración de costes
A continuación, se muestra el permiso mínimo necesario para recuperar el precio de la máquina virtual:
"Microsoft.Consumption/pricesheets/read"
<!--NeedCopy-->
A continuación, se muestra el permiso mínimo necesario para recuperar el coste de la máquina virtual:
"Microsoft.CostManagement/query/read"
<!--NeedCopy-->
Nota:
Para ver la ficha Cost Insights de un catálogo de máquinas de Azure, debe tener el permiso Cost Management > Manage > Read cost (predeterminado para los administradores de la nube). Para obtener información sobre la ficha Cost Insights, consulte Ver detalles del catálogo.
Permiso general
El rol de colaborador tiene acceso total para administrar todos los recursos. Este conjunto de permisos no le impide obtener nuevas funciones.
El siguiente conjunto de permisos proporciona la mejor compatibilidad en el futuro, aunque incluye más permisos de los necesarios con el conjunto de funciones actual:
"Microsoft.Compute/diskEncryptionSets/read",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/galleries/delete",
"Microsoft.Compute/galleries/images/delete",
"Microsoft.Compute/galleries/images/read",
"Microsoft.Compute/galleries/images/versions/delete",
"Microsoft.Compute/galleries/images/versions/read",
"Microsoft.Compute/galleries/images/versions/write",
"Microsoft.Compute/galleries/images/write",
"Microsoft.Compute/galleries/read",
"Microsoft.Compute/galleries/write",
"Microsoft.Compute/hostGroups/hosts/read",
"Microsoft.Compute/hostGroups/read",
"Microsoft.Compute/hostGroups/write",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/locations/usages/read",
"Microsoft.Resources/deployments/operationstatuses/read",
"Microsoft.Resources/deployments/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/deployments/write",
"Microsoft.Resources/deployments/delete",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Resources/tenants/read",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"Microsoft.Features/providers/features/read",
"Microsoft.Insights/DataCollectionRuleAssociations/Read",
"Microsoft.Insights/dataCollectionRules/read",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read"
<!--NeedCopy-->
Validar la conexión del host en un entorno no secreto de Azure
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 averiguar los permisos que faltan necesarios 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, con antelación 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 los usuarios.
- 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 Azure.
- 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 probar una conexión.
Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AzureCon" <!--NeedCopy-->Permiso a nivel de rol requerido para el SPN:
- Microsoft.Authorization/roleDefinitions/read (a nivel de suscripción o a nivel de grupo de recursos si se proporciona el grupo de recursos)
- Microsoft.Authorization/roleAssignments/read (a nivel de suscripción o a nivel de grupo de recursos si se proporciona el grupo de recursos)
Permisos a nivel de API necesarios para el SPN:
Microsoft.Graph:
- Application.Read.All
- Directory.Read.All
- ServicePrincipalEndpoint.Read.All
-
Después de agregar los permisos que faltan para buscar sus permisos, ejecute el siguiente comando para verificar si tiene permisos en las distintas categorías.
Ejemplo:
Para probar una conexión a nivel de suscripción con un nivel de autorización superior requerido:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\ AzureCon -SecurePassword $password -UserName 922e65d5-38ae-4cf5-xxxx-xxxxxxxxx <!--NeedCopy-->Ejemplo:
Para probar una conexión a nivel de grupo de recursos sin un alto nivel de autorización:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -CustomProperties $customProperties | Format-List <!--NeedCopy-->Nota:
El parámetro CustomProperties se utiliza para proporcionar el nivel de grupo de recursos porque el grupo de recursos es información específica de la conexión.
Ejemplo:
Para probar una conexión con el nivel superior de autorización a nivel de grupo de recursos:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -SecurePassword $password -UserName 922e65d5-38ae-4cf5-832b-54122196b7dd -CustomProperties $customProperties <!--NeedCopy-->
Para obtener información sobre los permisos, consulte Permisos de Azure necesarios.
Validar la conexión de host en un entorno secreto de Azure
Puede validar si una conexión de host tiene los permisos necesarios en un entorno secreto de Azure mediante un comando de PowerShell Test-HypHypervisorConnection.
Sin embargo, para obtener correctamente el resultado de la validación, cree o actualice una conexión de host existente para que tenga una propiedad personalizada AuthenticationObjectId. Esta propiedad almacena el ID de objeto de la entidad de servicio vinculada a la conexión de alojamiento.
Nota:
Obtenga el ID de objeto de la entidad de servicio desde el portal de Azure. No utilice el ID de la aplicación.
Crear o actualizar una conexión de host para incluir AuthenticationObjectId
Utilice New-Item para crear una conexión de host y agregar AuthenticationObjectId como propiedad personalizada. Ejemplo:
New-Item -ConnectionType 'Azure' -HypervisorAddress @('http://hypervisorhost1.example.com','http://hypervisorhost2.example.com')`
-LoggingId $loggingId -Path @('XDHyp:\\Connections\\Example') -Persist -Scope @() `
-Password 'Password' -UserName 'root' -CustomProperties <Property xsi:type="StringProperty" Name="AuthenticationObjectId" Value="Object ID of the service principal"/>
<!--NeedCopy-->
Utilice Set-Item para actualizar una conexión de host existente y agregar AuthenticationObjectId como propiedad personalizada. Los pasos para hacerlo son:
- Abra una ventana de PowerShell mediante el SDK de PowerShell remoto.
-
Ejecute los siguientes comandos:
Add-PSSnapin citrix*. cd XDHyp:\Connections\ dir <!--NeedCopy--> - Copie el
CustomPropertiesde la conexión a un Bloc de notas y agregue la configuración de propiedad<Property xsi:type="StringProperty" Name="AuthenticationObjectId" Value="Object ID of the service principal"/>alCustomProperties. - En la ventana de PowerShell, asigne una variable a las propiedades personalizadas modificadas.
- Ejecute
$cred = Get-Credential. Si se le solicita, proporcione las credenciales de conexión. Las credenciales son el ID de aplicación de Azure y el secreto. - Ejecute
Set-Item -PSPath XDHyp:\Connections\<Connection_Name> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password. -
Ejecute
dirpara verificar la configuración actualizada deCustomProperties.Set-Item -PSPath XDHyp:\Connections\$connName -CustomProperties <Property xsi:type="StringProperty" Name="AuthenticationObjectId" Value="Object ID of the service principal"/> -username $cred.username -Securepassword $cred.password <!--NeedCopy-->
Validar la conexión de host para los permisos
Para validar las conexiones de host para los roles y permisos requeridos, ejecute los siguientes comandos:
-
Si tiene roles y permisos asignados a nivel de suscripción:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\<Your-HostingConnection> <!--NeedCopy--> -
Si tiene roles y permisos asignados a nivel de grupo de recursos:
Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\<Your-HostingConnection> -CustomProperties $CustomProperties $CustomProperties = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">'` + '<Property xsi:type="StringProperty" Name="ResourceGroups" Value="ExampleResourceGroup" />'` + '</CustomProperties>' <!--NeedCopy-->
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 Azure, consulte Crear un catálogo de Microsoft Azure
Más información
En este artículo
- Crear entidades de servicio y conexiones
- Administrar entidades de servicio y conexiones
- Zonas extendidas de Azure
- Usar un grupo de seguridad de red precreado
- Filtrar grupos de recursos vacíos
- Conectarse al entorno de nube Azure Sovereign Airgap
- Permisos de Azure necesarios
- Validar la conexión del host en un entorno no secreto de Azure
- Validar la conexión de host en un entorno secreto de Azure
- Pasos siguientes
- Más información