Conexión a Microsoft Azure
Nota:
Desde julio de 2023, Microsoft ha cambiado el nombre de Azure Active Directory (Azure AD) a Microsoft Entra ID. En este documento, cualquier referencia a Azure Active Directory, Azure AD o AAD ahora se refiere a Microsoft Entra ID.
Crear y administrar conexiones y recursos 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 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 mediante una entidad de servicio creada anteriormente
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 mediante 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, puede haber 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 más antiguas y establecidas. 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 el número 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 Azure AD.
Antes de empezar, asegúrese de haber cumplido estos requisitos previos:
- Tiene una cuenta de usuario en el inquilino de Azure Active Directory 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 Azure AD.
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 nueva conexión, el tipo de conexión Microsoft Azure y su entorno de Azure.
- Seleccione las herramientas que desea usar para crear las máquinas virtuales y, a continuación, seleccione Siguiente.
-
En la página Detalles de conexión, introduzca el ID de su suscripción de Azure y un nombre para la conexión. Después de introducir el ID de la 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 Azure Active Directory.
- 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 que la conexión a su suscripción de Azure se ha realizado correctamente.
-
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í 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.
Ver el ID de la aplicación
Después de crear una conexión, puede ver el ID de la aplicación que la conexión utiliza 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 VDA. - ActiveDirectoryID: ID de inquilino de la aplicación que registró con Azure AD.
- ApplicationName: Nombre de la aplicación que se va a crear en Azure AD.
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 quiere 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 utilizando un principal de servicio existente, primero debe obtener el ID de aplicación y el secreto del principal de servicio en el portal de Azure.
Los pasos detallados son los siguientes:
- Obtenga el ID de aplicación desde Web Studio o mediante PowerShell.
- Inicie sesión en el portal de Azure.
- En Azure, seleccione Azure Active Directory.
- Desde Registros de aplicaciones en Azure AD, seleccione su aplicación.
- Vaya a Certificados y secretos.
- Haga clic en Secretos de cliente.
Crear una conexión utilizando un principal de servicio existente
Si ya tiene un principal de servicio, puede usarlo para crear una conexión mediante 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 nueva conexión, el tipo de conexión Microsoft Azure y su entorno de Azure.
-
Seleccione las herramientas que desea usar para crear las máquinas virtuales y, a continuación, seleccione Siguiente.
-
En la página Detalles de la conexión, introduzca el ID de su 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 el ID de su suscripción de Azure. Para obtener el ID de su 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 la aplicación. Cree una clave secreta (secreto de cliente). La aplicación registrada utiliza la clave para autenticarse en Azure AD. Le recomendamos que cambie 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.
- Authentication URL (URL de autenticación). Este campo se rellena automáticamente y no es editable.
- Management URL (URL de administración). Este campo se rellena automáticamente y no es editable.
-
Storage suffix (Sufijo de almacenamiento). 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, es https://management.azure.com/, y para Azure US Government, es https://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/.
-
Después de seleccionar Guardar, volverá a la página Detalles de la conexión. Seleccione Siguiente para continuar con la siguiente página.
-
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 entidades de servicio y 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 de PowerShell, MaximumConcurrentProvisioningOperations, para especificar el número máximo de operaciones de aprovisionamiento de Azure concurrentes. Al usar 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 pertenece a una suscripción diferente, la imagen debe compartirse con la entidad de servicio (SPN) de esa suscripción.
Por ejemplo, si hay una entidad de servicio (SPN 1), que está configurada en Studio como:
Entidad de servicio: SPN 1
Suscripción: suscripción 1
Inquilino: inquilino 1
La imagen está en una suscripción diferente, que está configurada en Studio como:
Suscripción: suscripción 2
Inquilino: inquilino 1
Si desea compartir la imagen de la suscripción 2 con la suscripción 1 (SPN 1), vaya a la suscripción 2 y comparta el grupo de recursos con SPN1.
La imagen debe compartirse con otra SPN mediante el control de acceso basado en roles de Azure (RBAC). 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 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 otra 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, entonces:
-
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 Hosting 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 Azure AD.
- 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 para compartir 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 la Galería de cálculo de Azure 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. -
Enumerar 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 con 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 agregar 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. -
Enumerar 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 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 Alojamiento 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 de Azure Portal.
- Seleccione Azure Active Directory.
- En Registros de aplicaciones de Azure AD, 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, ya que 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 aplicación y Fecha de caducidad del secreto con los valores que ha copiado.
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 del nodo Alojamiento 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 derecho 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 la aplicación en uso.
Permisos de Azure necesarios
Esta sección contiene los permisos mínimos y generales necesarios para Azure.
Permisos mínimos
Los permisos mínimos ofrecen un mejor control de seguridad. Sin embargo, las nuevas funciones que requieren permisos adicionales fallan al usar solo permisos mínimos.
Crear 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"
<!--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-->
Crear, actualizar o eliminar máquinas virtuales
Cree un catálogo de máquinas y, a continuación, 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",
<!--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, las instantáneas o el VHD están en una región diferente a la 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-->
Permiso general
El rol de Colaborador tiene acceso completo 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",
<!--NeedCopy-->
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 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 utilizando 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 un grupo de recursos)
- Microsoft.Authorization/roleAssignments/read (a nivel de suscripción o a nivel de grupo de recursos si se proporciona un grupo de recursos)
Permisos a nivel de API requeridos para el SPN:
Microsoft.Graph:
- Application.Read.All
- Directory.Read.All
- ServicePrincipalEndpoint.Read.All
-
Después de añadir 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 superior de autorización 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 nivel alto 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.
Adónde ir a continuación
- 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