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.
(/es-es/citrix-virtual-apps-desktops/2503/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 (/es-es/citrix-virtual-apps-desktops/2503/install-configure/install-prepare/azure.html).
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 un principal de servicio y una conexión con Web Studio(/es-es/citrix-virtual-apps-desktops/2503/install-configure/connections/connection-azure-resource-manager.html#create-a-service-principal-and-connection-using-web-studio)
- Crear un principal de servicio con PowerShell(/es-es/citrix-virtual-apps-desktops/2503/install-configure/connections/connection-azure-resource-manager.html#create-a-service-principal-using-powershell)
- Obtener el secreto de la aplicación en Azure(/es-es/citrix-virtual-apps-desktops/2503/install-configure/connections/connection-azure-resource-manager.html#get-the-application-secret-in-azure)
- Crear una conexión con un principal de servicio existente(/es-es/citrix-virtual-apps-desktops/2503/install-configure/connections/connection-azure-resource-manager.html#create-a-connection-using-an-existing-service-principal)
Consideraciones
- Citrix® recomienda usar una entidad de servicio con el rol de colaborador. Sin embargo, consulte la sección (#minimum-permissions) 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: ‘Cuenta profesional o educativa’ 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 provisional en el directorio que no les conceda los permisos necesarios y se devolverá un error.
Para solucionarlo, elimine los recursos del directorio y vuelva a agregarlos 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. Las configuraciones como esta suelen ocurrir con cuentas de directorio antiguas establecidas. Solución alternativa: agregue una cuenta al directorio, lo que toma el valor de pertenencia adecuado.
- Los grupos de recursos son simplemente contenedores de recursos y pueden contener recursos de regiones distintas a la suya. Esto puede resultar 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 Azure AD.
Antes de empezar, asegúrese de cumplir 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 una entidad de servicio y una conexión juntas:
- 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. 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 Azure Active Directory.
- Seleccione Iniciar sesión.
- Seleccione Aceptar para otorgar a Citrix Virtual Apps and Desktops™ los permisos enumerados. Citrix Virtual Apps and Desktops crea una entidad de servicio que le permite administrar los recursos de Azure en nombre del usuario especificado.
-
Después de seleccionar Aceptar, vuelve 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 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 desea 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 desea crear el principal de servicio.
Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription -
Cree la aplicación en su inquilino de AD.
$AzureADApplication = New-AzADApplication -DisplayName $ApplicationName -
Cree un principal de servicio.
New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId -
Asigne un rol al principal de servicio.
New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId -
Desde la ventana de salida de la consola de PowerShell, anote el ApplicationId. Proporcione ese ID al crear la conexión de host.
Obtenga el secreto de la aplicación en Azure
Para crear una conexión utilizando 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 mediante PowerShell.
- Inicie sesión en el portal de Azure.
- En Azure, 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.
Crear una conexión mediante una entidad de servicio existente
Si ya tiene una entidad de servicio, puede usarla para crear una conexión mediante Web Studio.
Asegúrese de tener estos elementos listos:
- SubscriptionId
- ActiveDirectoryID (ID de inquilino)
- Application ID
-
Secreto de la 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 quiere 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.
Nota:
El nombre de la conexión puede contener 1–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 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.
- URL de autenticación. Este campo se rellena automáticamente y no se puede modificar.
- URL de administración. Este campo se rellena automáticamente y no se puede modificar.
- Sufijo de almacenamiento. Este campo se rellena automáticamente y no se puede modificar.
- Punto de conexión de Azure Blob Storage para cargar o descargar discos o instantáneas. Este campo se rellena automáticamente y no se puede modificar.
- Servicio Key Vault. Este campo se rellena automáticamente y no se puede modificar.
-
Sufijo de Service Bus. Este campo se rellena automáticamente y no se puede modificar.
Se requiere acceso a los siguientes puntos de conexión para crear un catálogo de MCS en Azure. El acceso a estos puntos de conexión optimiza la conectividad entre la 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 de conexión 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 de conexión de Azure Blob Storage 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 Blob Storage. 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 a 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 configuración de 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 configuración de 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 Mejorar el 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 simultáneas de Azure. 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 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: subscription 1
Inquilino: tenant 1
La imagen está en una suscripción diferente, que está configurada en Studio como:
Suscripción: subscription 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 otro 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 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 desea 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 utilizando 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 Azure AD.
- Agregue inquilinos y suscripciones que compartan Azure Compute Gallery 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. -
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 mediante 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/.
Actualizar las propiedades personalizadas de la conexión de alojamiento con los ID de inquilino compartidos
Utilice Set-Item para actualizar las propiedades personalizadas de la conexión de alojamiento con los ID de inquilino y los 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 Azure Compute Gallery 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 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/.
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 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 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 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 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 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.
Usar un grupo de seguridad de red precreado
Cree un grupo de seguridad de red Denegar todo 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 Denegar todo.
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
Añadir el grupo de seguridad de red Deny-All precreado
Para añadir el grupo de seguridad de red Deny-All precreado, configure las propiedades personalizadas de la siguiente manera en la unidad de alojamiento:
- Abra una ventana de PowerShell mediante 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 una tilde grave seguida de comillas dobles (`”) en la propiedad personalizada.
- Ejecute
dirpara verificar la configuración actualizada deCustomProperties.
Nota:
Las actualizaciones tardan más de un minuto en reflejarse.
Recuperar 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 basándose en el 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 basándose en 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--> -
Recupere el número máximo de registros en una página y filtre 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--> -
Recupere con omisión para indicar directamente la página y filtre 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 filtre 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--> -
Recupere todos los grupos de recursos con la etiqueta interna de Citrix y limite el número máximo de registros con
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 <!--NeedCopy--> -
Filtre por perfil de máquina (imagen maestra) con la etiqueta interna de Citrix y limite el número máximo de registros con
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}' <!--NeedCopy--> -
Filtre por imagen preparada con la etiqueta interna de Citrix y limite 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--> -
Filtre por perfil de máquina (imagen preparada) con la etiqueta interna de Citrix y limite el número máximo de registros con
MaxRecords.Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}' <!--NeedCopy--> -
Filtre por imagen con la etiqueta interna de Citrix y limite 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 mediante 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 ofrecen un mejor control de seguridad. Sin embargo, las nuevas funciones que requieren permisos adicionales fallan debido al uso de 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",
"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
Encender o apagar 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, 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 características:
-
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 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 características 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 detectar 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 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 de nivel de rol necesario 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 de 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 una información específica de la conexión.
Ejemplo:
Para probar una conexión con el nivel de autorización superior 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 del 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 del principal de servicio vinculado a la conexión de alojamiento.
Nota:
Obtenga el ID de objeto del principal 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 anexe 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 (/es-es/citrix-virtual-apps-desktops/2503/install-configure/machine-catalogs-create.html)
- Para obtener información específica de Azure, consulte (/es-es/citrix-virtual-apps-desktops/2503/install-configure/machine-catalogs-create/create-machine-catalog-citrix-azure.html)
Más información
- Conexiones y recursos(/es-es/citrix-virtual-apps-desktops/2503/manage-deployment/connections.html)
- Crear catálogos de máquinas(/es-es/citrix-virtual-apps-desktops/2503/install-configure/machine-catalogs-create.html)
En este artículo
- Crear entidades de servicio y conexiones
- Administrar entidades de servicio y conexiones
- 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 del host en un entorno secreto de Azure
- Pasos siguientes
- Más información