Citrix DaaS™

Conexión a Microsoft Azure

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, debes terminar de configurar tu cuenta de Azure como una ubicación de recursos. Consulta Entornos de virtualización de Microsoft Azure Resource Manager.

Crear entidades de servicio y conexiones

Antes de crear conexiones, debes configurar entidades de servicio que las conexiones usan para acceder a los recursos de Azure. Puedes crear una conexión de dos maneras:

  • Crea una entidad de servicio y una conexión juntas usando Studio
  • Crea una conexión usando una entidad de servicio creada previamente

Esta sección te muestra cómo completar estas tareas:

Consideraciones

Antes de empezar, ten en cuenta estas consideraciones:

  • Citrix® recomienda usar entidades de servicio con un rol de Colaborador. Sin embargo, consulta la sección Permisos mínimos para obtener la lista de permisos mínimos.
  • Al crear la primera conexión, Azure te pide que le concedas los permisos necesarios. Para futuras conexiones, aún debes autenticarte, pero Azure recuerda tu consentimiento anterior y no vuelve a mostrar la solicitud.
  • Después de autenticarte con Azure por primera vez, se invita una aplicación multiinquilino propiedad de Citrix (ID: 08b70dc3-76c5-4611-ba7d-3312ba36cb2b) a tu Microsoft Entra ID en nombre de la cuenta autenticada.
  • Las cuentas usadas para la autenticación deben tener permisos para asignar roles en la suscripción usando 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 usada para la autenticación debe ser miembro del directorio de la suscripción. Hay dos tipos de cuentas que debes tener en cuenta: “Trabajo o escuela” y “cuenta personal de Microsoft”. Consulta CTX219211 para obtener más detalles.
  • Aunque puedes usar una cuenta de Microsoft existente agregándola como miembro del directorio de la suscripción, pueden surgir complicaciones si al usuario se le concedió previamente acceso de invitado a uno de los recursos del directorio. En este caso, es posible que tengan una entrada de marcador de posición en el directorio que no les conceda los permisos necesarios y se devuelva un error.

    Rectifica esto quitando los recursos del directorio y volviéndolos a agregar explícitamente. Sin embargo, ejerce esta opción con cuidado, ya que tiene efectos no deseados en otros recursos a los que esta 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 más antiguas y establecidas. Solución alternativa: agrega 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. Esto puede ser confuso si esperas que los recursos mostrados en la región de un grupo de recursos estén disponibles.
  • Asegúrate de que tu red y subred sean lo suficientemente grandes como para alojar la cantidad de máquinas que necesitas. Esto requiere cierta previsión, pero Microsoft te 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 usando Studio

Importante:

Esta función aún no está disponible para las suscripciones de Azure China.

Con Studio, puedes crear una entidad de servicio y una conexión en un solo flujo de trabajo. Las entidades de servicio dan a las conexiones acceso a los recursos de Azure. Cuando te autenticas en Azure para crear una entidad de servicio, se registra una aplicación en Azure. Se crea una clave secreta (llamada secreto de cliente o secreto de aplicación) para la aplicación registrada. La aplicación registrada (una conexión en este caso) usa el secreto de cliente para autenticarse en Microsoft Entra ID.

Antes de empezar, asegúrate de haber cumplido estos requisitos previos:

  • Tienes una cuenta de usuario en el inquilino de Microsoft Entra de tu suscripción.
  • Las cuentas usadas para la autenticación deben tener permisos para asignar roles en la suscripción usando Azure RBAC. Por ejemplo, Propietario, Administrador de control de acceso basado en roles o Administrador de acceso de usuario de la suscripción.
  • Tienes permisos de administrador global, administrador de aplicaciones o desarrollador de aplicaciones para la autenticación. Los permisos se pueden revocar después de crear una conexión de host. Para obtener más información sobre los roles, consulta Roles integrados de Microsoft Entra.

Usa el asistente Agregar conexión y recursos para crear una entidad de servicio y una conexión juntas:

  1. En la página Conexión, selecciona Crear una nueva conexión, el tipo de conexión Microsoft Azure y tu entorno de Azure.

  2. Selecciona qué herramientas usar para crear las máquinas virtuales y, a continuación, selecciona Siguiente.

  3. En la página Detalles de la conexión, selecciona el modo de autenticación Secreto de cliente de la aplicación, luego crea una entidad de servicio y establece el nombre de la conexión de la siguiente manera:

    1. Introduce tu ID de suscripción de Azure y un nombre para la conexión. Después de introducir el ID de suscripción, el botón Crear nuevo se habilita.

    Nota:

    El nombre de la conexión puede contener entre 1 y 64 caracteres, y no puede contener solo espacios en blanco ni los caracteres \/;:#.*?=<>|[]{}"'().

    1. Selecciona Crear nuevo y, a continuación, introduce el nombre de usuario y la contraseña de la cuenta de Microsoft Entra.
    2. Selecciona Iniciar sesión.
    3. Selecciona Aceptar para conceder a Citrix DaaS™ los permisos enumerados. Azure crea una entidad de servicio que permite a Citrix DaaS administrar los recursos de Azure en nombre del usuario especificado.
    > **Nota:**
    >
    > Citrix DaaS requiere los siguientes permisos para crear una nueva entidad de servicio:
    >
    > -  **Acceder a Azure Service Management como tú**
    > -  **Leer y escribir aplicaciones**
    > -  **Iniciar sesión y leer tu perfil**
    > -  **Mantener el acceso a los datos a los que le has dado acceso**
    
    1. Después de seleccionar Aceptar, vuelves a la página Detalles de la conexión.

      Nota:

      Después de autenticarte correctamente en Azure, los botones Crear nuevo y Usar existente desaparecen. Aparece el texto Conexión correcta con una marca de verificación verde, lo que indica la conexión correcta a tu suscripción de Azure.

    2. Para enrutar las solicitudes de API a Azure a través de los Citrix Cloud™ Connectors, selecciona la casilla de verificación Enrutar tráfico a través de Citrix Cloud Connectors. Cuando los Cloud Connectors no tienen acceso directo a Internet, puedes seleccionar Usar el proxy configurado en los Citrix Cloud Connectors para asegurarte de que la conectividad de Azure funcione correctamente a través de los Citrix Cloud Connectors.

      Alternativamente, puedes habilitar esta función usando PowerShell. Para obtener más información, consulta Crear un entorno seguro para el tráfico administrado por Azure.

      Nota:

      Esta opción solo está disponible cuando hay Citrix Cloud Connectors activos en tu implementación. Actualmente, esta función no es compatible con los Connector Appliances.

  4. Selecciona Siguiente.

Nota:

No puedes continuar a la siguiente página hasta que te autentiques correctamente en Azure y des tu consentimiento para otorgar los permisos necesarios.

  1. Configura los recursos para la conexión de la siguiente manera:

    • En la página Región, selecciona una región.
    • En la página Red, haz lo siguiente:
      • Escribe 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 o los caracteres \/;:#.*?=<>|[]{}"'()'.
      • Selecciona un par de red virtual/grupo de recursos. (Si tienes 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 seleccionaste en la página anterior no tiene ninguna red virtual, vuelve a esa página y selecciona una región que sí tenga redes virtuales.
  2. En la página Resumen, visualiza un resumen de la configuración y selecciona Finalizar para completar tu configuración.

Ver el ID de la aplicación

Después de crear una conexión, puedes ver el ID de la aplicación que la conexión utiliza para acceder a los recursos de Azure.

En la lista Conexión y recursos, selecciona la conexión para ver los detalles. La ficha Detalles muestra el ID de la aplicación.

ID de aplicación en la página Agregar conexión y recursos

Crear una entidad de servicio con PowerShell

Para crear una entidad de servicio con PowerShell, conéctate a tu suscripción de Azure Resource Manager y usa los cmdlets de PowerShell que se proporcionan en las siguientes secciones.

Asegúrate de tener estos elementos listos:

  • SubscriptionId: SubscriptionID de Azure Resource Manager para la suscripción donde quieres aprovisionar VDA.
  • ActiveDirectoryID: ID de inquilino de la aplicación que registraste con Microsoft Entra ID.
  • ApplicationName: Nombre de la aplicación que se va a crear en Microsoft Entra ID.

Los pasos detallados son los siguientes:

  1. Conéctate a tu suscripción de Azure Resource Manager.

    Connect-AzAccount

  2. Selecciona la suscripción de Azure Resource Manager donde quieres crear la entidad de servicio.

    Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription

  3. Crea la aplicación en tu inquilino de AD.

    $AzureADApplication = New-AzADApplication -DisplayName $ApplicationName

  4. Crea una entidad de servicio.

    New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId

  5. Asigna un rol a la entidad de servicio.

    New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId

  6. En la ventana de salida de la consola de PowerShell, anota el ApplicationId. Proporcionarás ese ID al crear la conexión de host.

Obtener el secreto de la aplicación en Azure

Para crear una conexión con una entidad de servicio existente, primero debes 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:

  1. Obtén el ID de aplicación desde Studio o con PowerShell.
  2. Inicia sesión en el portal de Azure.
  3. En Azure, selecciona Microsoft Entra ID.
  4. En Registros de aplicaciones de Microsoft Entra ID, selecciona tu aplicación.
  5. Ve a Certificados y secretos.
  6. Haz clic en Secretos de cliente.

Secreto de la aplicación en el portal de Azure

Crear una conexión con una entidad de servicio existente

Si ya tienes una entidad de servicio, puedes usarla para crear una conexión con Studio.

Asegúrate de tener estos elementos listos:

  • SubscriptionId
  • ActiveDirectoryID (ID de inquilino)
  • ID de aplicación
  • Secreto de la aplicación

    Para obtener más información, consulta 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:

  1. En la página Conexión, selecciona Crear una nueva conexión, el tipo de conexión Microsoft Azure y tu entorno de Azure.

  2. Selecciona las herramientas que quieres usar para crear las máquinas virtuales y, a continuación, selecciona Siguiente.

  3. En la página Detalles de conexión, selecciona el modo de autenticación Secreto de cliente de la aplicación y, a continuación, introduce tu ID de suscripción de Azure y un nombre para la conexión.

    Nota:

    El nombre de la conexión puede contener entre 1 y 64 caracteres, y no puede contener solo espacios en blanco ni los caracteres \/;:#.*?=<>|[]{}"'()'.

  4. Selecciona Usar existente. En la ventana Detalles de la entidad de servicio existente, introduce la siguiente configuración para la entidad de servicio existente. Después de introducir los detalles, el botón Guardar se habilitará. Selecciona Guardar. No podrás avanzar más allá de esta página hasta que proporciones detalles válidos.

    • ID de suscripción. Introduce tu ID de suscripción de Azure. Para obtener tu ID de suscripción, inicia sesión en el portal de Azure y navega hasta Suscripciones > Información general.
    • ID de Active Directory (ID de inquilino). Introduce el ID de directorio (inquilino) de la aplicación que registraste con Microsoft Entra ID.
    • ID de aplicación. Introduce el ID de aplicación (cliente) de la aplicación que registraste con Microsoft Entra ID.
    • Secreto de la aplicación. Introduce una clave secreta (secreto de cliente). La aplicación registrada usa la clave para autenticarse en Microsoft Entra ID. Te recomendamos que cambies las claves con regularidad por motivos de seguridad. Asegúrate de guardar la clave, ya que no podrás recuperarla más tarde.
    • Fecha de caducidad del secreto. Introduce la fecha después de la cual caduca el secreto de la aplicación. Recibirás una alerta en la consola a partir de 14 días antes de que caduque la clave secreta. Sin embargo, si la clave secreta caduca, recibirás errores.

      Nota:

      Por motivos de seguridad, el período de caducidad no puede ser superior a dos años a partir de ahora.

    • URL de autenticación. Este campo se rellena automáticamente y no es editable.
    • URL de administración. Este campo se rellena automáticamente y no es editable.
    • Sufijo de almacenamiento. Este campo se rellena automáticamente y no es editable.
    • Punto de conexión de Azure Blob Storage para cargar o descargar discos o instantáneas. Este campo se rellena automáticamente y no es editable.
    • Servicio Key Vault. Este campo se rellena automáticamente y no es editable.
    • Sufijo de Service Bus. Este campo se rellena automáticamente y no es editable.

Se requiere acceso a los siguientes puntos de conexión para crear un catálogo de MCS en Azure. El acceso a estos puntos de conexión optimiza la conectividad entre tu 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, es https://management.azure.com, y para Azure US Government, es https://management.usgovcloudapi.net.
  • Sufijo de almacenamiento: https://*.core.windows.net. El asterisco (*) es un carácter comodín para el sufijo de almacenamiento. Por ejemplo, https://demo.table.core.windows.net.
  • Punto de conexión de almacenamiento de blobs de Azure para cargar o descargar discos o instantáneas: https://*.storage.azure.net. El asterisco (*) es un carácter comodín para las operaciones de importación y exportación de almacenamiento de blobs. Por ejemplo, https://md-impexp-xxxxx.z[00-50].blob.storage.azure.net.
  • Servicio Key Vault: https://*.vault.azure.net. El asterisco (*) 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. El asterisco (*) 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}.
  1. Después de seleccionar Guardar, se te redirige a la página Detalles de la conexión. Selecciona Siguiente para ir a la página siguiente.

  2. Configura los recursos para la conexión de la siguiente manera:

    • En la página Región, selecciona una región.
    • En la página Red, haz lo siguiente:
      • Escribe 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 \/;:#.*?=<>|[]{}"'()'.
      • Selecciona un par de red virtual/grupo de recursos. (Si tienes 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 seleccionaste en la página anterior no tiene ninguna red virtual, vuelve a esa página y selecciona una región que tenga redes virtuales.
  3. En la página Resumen, consulta un resumen de la configuración y selecciona Finalizar para completar la configuración.

Administrar entidades de servicio y conexiones

Esta sección detalla cómo puedes administrar las entidades de servicio y las conexiones:

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, adaptados a las necesidades específicas del proveedor. Consulta 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, consulta Mejorar el rendimiento de Azure con Machine Creation Services.

Para ayudar a mitigar estos problemas, Citrix DaaS te permite quitar la limitación interna de MCS para usar más 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, aquellas 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

Usa Studio para configurar las operaciones de Azure para una conexión de host determinada:

  1. Desde Studio, selecciona Alojamiento en el panel izquierdo.
  2. Selecciona una conexión relacionada con Azure para modificarla.
  3. En el asistente Modificar conexión, selecciona Avanzado.
  4. En la página Avanzado, usa las opciones de configuración para especificar el número de acciones simultáneas y el máximo de acciones nuevas por minuto, así como cualquier opción de conexión adicional.

Limitación de Azure

MCS admite 500 operaciones concurrentes máximas de forma predeterminada. Alternativamente, puedes usar el SDK de PowerShell remoto para establecer el número máximo de operaciones concurrentes.

Usa la propiedad de PowerShell, MaximumConcurrentProvisioningOperations, para especificar el número máximo de operaciones de aprovisionamiento de Azure concurrentes. Al usar esta propiedad, considera:

  • El valor predeterminado de MaximumConcurrentProvisioningOperations es 500.
  • Configura el parámetro MaximumConcurrentProvisioningOperations usando el comando de PowerShell Set-item.

Administrar la entidad de servicio de una conexión de alojamiento existente

Después de crear una conexión de alojamiento usando una entidad de servicio, puedes optar por modificar la conexión de alojamiento para que tenga:

  • Una nueva entidad de servicio
  • Usar otra entidad de servicio existente
  1. Desde Studio, selecciona Alojamiento en el panel izquierdo.
  2. Selecciona la conexión y luego selecciona Modificar conexión en la barra de acciones.
  3. Selecciona Propiedades de conexión en el panel izquierdo.
  4. En la página Propiedades de conexión que aparece, haz clic en Modificar configuración de conexión. Ahora puedes optar por crear una nueva entidad de servicio o usar otra entidad de servicio existente.

    Modificar configuración

    • Haz clic en Crear entidad de servicio para crear una nueva entidad de servicio. Sigue las indicaciones para iniciar sesión en tu cuenta de usuario de Microsoft Entra. Citrix usa el ID de aplicación multiinquilino 08b70dc3-76c5-4611-ba7d-3312ba36cb2b para crear una nueva entidad de servicio para la conexión de host existente y otorgar los permisos adecuados.
    • Haz clic en Usar existente para usar otra entidad de servicio existente para esa conexión de alojamiento.

Habilitar el uso compartido de imágenes en Azure

Al crear o actualizar catálogos de máquinas, puedes 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, debes realizar la configuración necesaria en Azure:

Compartir imágenes dentro de un inquilino (entre suscripciones)

Para seleccionar una imagen en Azure Compute Gallery que pertenezca a una suscripción diferente, la imagen debe compartirse con 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 quieres compartir la imagen de la suscripción 2 con la suscripción 1 (SPN 1), ve a la suscripción 2 y comparte el grupo de recursos con SPN1.

La imagen debe compartirse con otro SPN mediante el control de acceso basado en roles de Azure (RBAC de Azure). El RBAC de Azure es el sistema de autorización que se usa para administrar el acceso a los recursos de Azure. Para obtener más información sobre el RBAC de Azure, consulta el documento de Microsoft ¿Qué es el control de acceso basado en roles de Azure (RBAC de Azure)?. Para conceder acceso, asigna roles a las entidades de servicio en el ámbito del grupo de recursos con el rol de Colaborador. Para asignar roles de Azure, debes 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, consulta el documento de Microsoft Asignar roles de Azure mediante Azure Portal.

Compartir imágenes entre inquilinos

Para compartir imágenes entre inquilinos con Azure Compute Gallery, crea o actualiza el registro de aplicación y usa esta aplicación para crear una conexión de host.

Por ejemplo, si hay dos inquilinos (Inquilino 1 e Inquilino 2) y quieres compartir tu galería de imágenes con el Inquilino 1, haz lo siguiente:

  1. Crea un registro de aplicación para el Inquilino 1. Para obtener más información, consulta Crear el registro de aplicación.

  2. Concede acceso al Inquilino 2 a la aplicación solicitando un inicio de sesión mediante un explorador. Reemplaza Tenant2 ID por el ID de inquilino del Inquilino 1. Reemplaza Application (client) ID por el ID de aplicación del registro de aplicación que creaste. Cuando hayas terminado de hacer los reemplazos, pega la URL en un explorador y sigue las solicitudes 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, consulta Conceder acceso al Inquilino 2.

  3. Concede acceso a la aplicación al grupo de recursos del Inquilino 2. Inicia sesión como Inquilino 2 y concede acceso al registro de aplicación al grupo de recursos que tiene la imagen de la galería. Para obtener más información, consulta Autenticar solicitudes entre inquilinos.

Agregar inquilinos compartidos a una conexión mediante Studio

Al crear o actualizar catálogos de máquinas en Studio, puedes seleccionar imágenes compartidas de diferentes inquilinos y suscripciones de Azure (compartidas a través de Azure Compute Gallery). La función requiere que proporciones información sobre el inquilino y la suscripción compartidos para las conexiones de host asociadas.

Nota:

Asegúrate de haber configurado los ajustes necesarios en Azure para habilitar el uso compartido de imágenes entre inquilinos. Para obtener más información, consulta Compartir imágenes entre inquilinos.

Completa los siguientes pasos para una conexión:

  1. Desde Studio, selecciona Hosting en el panel izquierdo.
  2. Selecciona la conexión y, a continuación, selecciona Modificar conexión en la barra de acciones.

    Shared tenants

  3. En Inquilinos compartidos, haz lo siguiente:
    1. Proporciona el ID de aplicación y el secreto de aplicación asociados a la suscripción de la conexión. DaaS usa esta información para autenticarse en Microsoft Entra ID.
    2. Agrega inquilinos y suscripciones que compartan Azure Compute Gallery con la suscripción de la conexión. Puedes agregar hasta ocho inquilinos compartidos y ocho suscripciones para cada inquilino.
  4. Cuando hayas terminado, selecciona Aplicar para aplicar los cambios que hiciste y mantener la ventana abierta, o selecciona Aceptar para aplicar los cambios y cerrar la ventana.

Implementar el uso compartido de imágenes mediante PowerShell

Esta sección te guía a través de los procesos de uso compartido de imágenes mediante PowerShell:

Seleccionar una imagen de una suscripción diferente

Puedes 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.

  1. En la carpeta raíz de la unidad de host, Citrix crea una nueva carpeta de suscripción compartida llamada sharedsubscription.
  2. Enumera todas las suscripciones compartidas en un inquilino.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\sharedsubscription.folder"
    <!--NeedCopy-->
    
  3. Selecciona una suscripción compartida y, a continuación, enumera todos los grupos de recursos compartidos de esa suscripción compartida.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription"
    <!--NeedCopy-->
    
  4. Selecciona un grupo de recursos y, a continuación, enumera todas las galerías de ese grupo de recursos.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup"
    <!--NeedCopy-->
    
  5. Selecciona una galería y, a continuación, enumera todas las definiciones de imagen de esa galería.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\testgallery.gallery"
    <!--NeedCopy-->
    
  6. Selecciona una definición de imagen y, a continuación, enumera 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-->
    
  7. Crea y actualiza 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

Actualizar las propiedades personalizadas de la conexión de host con los ID de inquilinos compartidos

Usa Set-Item para actualizar las propiedades personalizadas de la conexión de host con los ID de inquilinos y suscripciones compartidos. Agrega 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:

Puedes agregar más de un inquilino. Cada inquilino puede tener más de una suscripción.

Seleccionar una imagen de un inquilino diferente

Puedes seleccionar una imagen en Azure Compute Gallery que pertenezca a un inquilino de Azure diferente para crear y actualizar catálogos de MCS usando comandos de PowerShell.

  1. En la carpeta raíz de la unidad de alojamiento, Citrix crea una nueva carpeta de suscripción compartida llamada sharedsubscription.
  2. Lista todas las suscripciones compartidas.

    Get-ChildItem XDHyp:\HostingUnits\azres\sharedsubscription.folder
    <!--NeedCopy-->
    
  3. Selecciona una suscripción compartida y, a continuación, lista todos los grupos de recursos compartidos de esa suscripción compartida.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription
    <!--NeedCopy-->
    
  4. Selecciona un grupo de recursos y, a continuación, lista todas las galerías de ese grupo de recursos.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup
    <!--NeedCopy-->
    
  5. Selecciona una galería y, a continuación, lista todas las definiciones de imagen de esa galería.

    Get-ChildItem XDHyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\efg.gallery
    <!--NeedCopy-->
    
  6. Selecciona una definición de imagen y, a continuación, lista 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-->
    
  7. Crea y actualiza un catálogo de MCS usando los siguientes elementos:

    • Grupo de recursos
    • Galería
    • Definición de imagen de galería
    • Versión de imagen de galería

Crear un entorno seguro para el tráfico administrado de Azure

MCS permite que el tráfico de red (llamadas API de Citrix Cloud al hipervisor de Azure) se enrute a través de Cloud Connectors en tu entorno. Esta implementación te ayuda a proteger tu suscripción de Azure para permitir el tráfico de red desde direcciones IP específicas. Para ello, agrega ProxyHypervisorTrafficThroughConnector en CustomProperties. Después de configurar las propiedades personalizadas, puedes configurar las políticas de Azure para tener acceso privado a los discos administrados de Azure.

Si configuras la política de Azure para crear accesos a discos automáticamente para cada nuevo disco que use puntos de conexión privados, no podrás cargar ni descargar más de cinco discos o instantáneas al mismo tiempo con el mismo objeto de acceso a discos, según lo exige Azure. Este límite es para cada catálogo de máquinas si configuras la política de Azure a nivel de grupo de recursos, y para todos los catálogos de máquinas si configuras la política de Azure a nivel de suscripción. Si no configuras la política de Azure para crear accesos a discos automáticamente para cada nuevo disco que use puntos de conexión privados, el límite de cinco operaciones simultáneas no se aplica.

Nota:

Actualmente, esta característica no es compatible con Connector Appliance. Para conocer las limitaciones de Azure relacionadas con esta característica, consulta Restringir el acceso de importación/exportación para discos administrados usando Azure Private Link.

Habilitar el proxy

Para habilitar el proxy, configura las propiedades personalizadas de la siguiente manera en la conexión del host:

  1. Abre una ventana de PowerShell usando el SDK de PowerShell remoto. Para obtener más información, consulta https://docs.citrix.com/en-us/citrix-daas/sdk-api.html#citrix-virtual-apps-and-desktops-remote-powershell-sdk/.
  2. Ejecuta los siguientes comandos:

    Add-PSSnapin citrix*.
    cd XDHyp:\Connections\
    dir
    <!--NeedCopy-->
    
  3. Copia las CustomProperties de la conexión a un bloc de notas y agrega la configuración de propiedad <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" /> a las CustomProperties para habilitar el proxy. Por ejemplo:

    <CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
    <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="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
    <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
    </CustomProperties>
    <!--NeedCopy-->
    
  4. En la ventana de PowerShell, asigna una variable a las propiedades personalizadas modificadas. Por ejemplo:

    $customProperty = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
    <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="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
    <Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
    </CustomProperties>'
    <!--NeedCopy-->
    
  5. Ejecuta $cred = Get-Credential. Si se te solicita, proporciona las credenciales de conexión. Las credenciales son el ID de aplicación de Azure y el secreto.
  6. Ejecuta Set-Item -PSPath XDHyp:\Connections\<Connection_Name> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password.

    Importante:

    Si recibes un mensaje que indica que falta SubscriptionId, reemplaza todas las comillas dobles (“) por una tilde grave seguida de comillas dobles (`”) en la propiedad personalizada. Por ejemplo:

    <CustomProperties xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`" xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`">
    <Property xsi:type=`"StringProperty`" Name=`"SubscriptionId`" Value=`"4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx`" />
    <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=`"5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx`" />
    <Property xsi:type=`"StringProperty`" Name=`"ProxyHypervisorTrafficThroughConnector`" Value=`"True`" />
    </CustomProperties>
    <!--NeedCopy-->
    
  7. Ejecuta dir para verificar la configuración actualizada de CustomProperties.

Opción para usar el proxy del sistema en Citrix Cloud Connectors para el tráfico de la API de Azure redirigido

Para enrutar todo el tráfico externo a través de un proxy no transparente, configura la conexión del host con la propiedad personalizada UseSystemProxyForHypervisorTrafficOnConnectors. Esto redirige el tráfico de Internet de la API de Azure en Citrix Cloud Connectors a través del proxy del sistema.

Realiza los mismos pasos descritos en Habilitar el proxy para configurar la conexión del host con la propiedad personalizada. Sin embargo, asegúrate de agregar la configuración de propiedad <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /> a las CustomProperties para habilitar el proxy.

<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />
<!--NeedCopy-->

Ejemplo:

<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
<Property xsi:type="StringProperty" Name="SubscriptionId" Value="4991xxxx-2xxx-4xxx-8xxx-ff59a830xxxx" />
<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="5cxxxxx-9xxx-4xxx-8xxx-dffe3efdxxxx" />
<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />
<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />
</CustomProperties>
<!--NeedCopy-->

Nota:

Después de establecer esta propiedad, el proxy configurado en la configuración de netsh winhttp en los Citrix Cloud Connectors se utiliza para el tráfico saliente hacia el proveedor de servicios en la nube.

Administrar el secreto de la aplicación y la fecha de caducidad del secreto

Asegúrate de cambiar el secreto de la aplicación para una conexión antes de que caduque. Recibirás una alerta en Studio antes de que caduque la clave secreta.

Crear un secreto de aplicación en Azure

Puedes crear un secreto de aplicación para una conexión a través del portal de Azure.

  1. Selecciona Microsoft Entra ID.
  2. Desde Registros de aplicaciones en Microsoft Entra ID, selecciona tu aplicación.
  3. Ve a Certificados y secretos.
  4. Haz clic en Secretos de cliente > Nuevo secreto de cliente.

    Crear secreto de aplicación

  5. Proporciona una descripción del secreto y especifica una duración. Cuando hayas terminado, selecciona Agregar.

    Nota:

    Asegúrate de guardar el secreto de cliente, ya que no podrás recuperarlo más tarde.

  6. Copia el valor del secreto de cliente y la fecha de caducidad.
  7. En Studio, modifica la conexión correspondiente y reemplaza el contenido de los campos Secreto de aplicación y Fecha de caducidad del secreto con los valores que copiaste.

Cambiar la fecha de caducidad del secreto

Puedes usar Studio para agregar o modificar la fecha de caducidad del secreto de aplicación en uso.

  1. En el asistente Agregar conexión y recursos, haz clic con el botón derecho en una conexión y, a continuación, haz clic en Modificar conexión.
  2. En la página Propiedades de conexión, haz clic en Fecha de caducidad del secreto para agregar o modificar la fecha de caducidad del secreto de aplicación en uso.

Cambiar fecha de caducidad del secreto

Crear una conexión de host mediante Azure Managed Identity

Puedes crear una conexión de host a Microsoft Azure Resource Manager mediante Azure Managed Identity. Las identidades administradas de Azure ofrecen una forma segura y escalable de acceder a los servicios de Azure sin necesidad de administrar credenciales. Este enfoque elimina los riesgos asociados con el almacenamiento, la rotación y la administración de secretos.

El Modo de autenticación tiene tres opciones:

  • AppClientSecret
  • SystemAssignedManagedIdentity
  • UserAssignedManagedIdentity

Antes de empezar

A continuación, se indican los pasos que debes seguir antes de crear la conexión de host mediante Azure Managed Identity:

  1. Instala un Citrix Cloud Connector™ en una máquina virtual de Azure.
  2. Habilita Azure Managed Identity en esa máquina virtual de Cloud Connector.

    • Para la identidad administrada asignada por el usuario:

      1. En el portal de Azure, crea una identidad administrada asignada por el usuario. Para obtener más información, consulta Crear y asignar una identidad administrada asignada por el usuario.
      2. Asigna roles de Azure a la identidad administrada. Consulta Permisos de Azure necesarios.
      3. Crea una máquina virtual de Azure como Cloud Connector y agrégale la identidad asignada por el usuario.
    • Para la identidad administrada asignada por el sistema:

      1. Abre el portal de Azure y ve a tu máquina virtual.
      2. Selecciona la hoja Identidad en la configuración de la máquina virtual.
      3. En la ficha Asignado por el sistema, establece el estado en Activado.
      4. Haz clic en Guardar.
      5. Concede Permisos de Azure necesarios.

      Nota:

      Si habilitas la identidad administrada asignada por el sistema en una máquina virtual de Cloud Connector y la usas para crear una conexión de host, puedes seguir creando conexiones de host con la identidad administrada asignada por el sistema incluso después de deshabilitarla en la máquina virtual de Cloud Connector. La creación de conexiones de host puede realizarse correctamente incluso 24 horas después de que la identidad se haya deshabilitado. Esto ocurre porque los tokens de identidad administrada se almacenan en caché por la infraestructura subyacente de Azure. Para obtener más información, consulta ¿Se almacenan en caché los tokens de identidades administradas?.

Crear la conexión de host con Azure Managed Identity mediante Studio

En el asistente Agregar conexión y recursos:

  1. En la página Conexión:
    1. Selecciona Crear una conexión nueva, el tipo de conexión de Microsoft Azure y tu entorno de Azure.
    2. Selecciona qué herramientas usar para crear las máquinas virtuales y, a continuación, selecciona Siguiente.
  2. En la página Detalles de conexión, selecciona el Modo de autenticación.

    • Para la Identidad administrada asignada por el usuario, introduce la siguiente configuración. Después de introducir los detalles, selecciona Siguiente para pasar a las páginas siguientes. No podrás avanzar más allá de esta página hasta que proporciones detalles válidos.

      • ID de suscripción: Introduce tu ID de suscripción de Azure. Para obtener tu ID de suscripción, inicia sesión en el portal de Azure y navega a Suscripciones > Información general.
      • ID de Active Directory (ID de inquilino): Introduce el ID de directorio (inquilino) de la aplicación que registraste con Microsoft Entra ID.
      • ID de cliente: Introduce el ID de cliente de la identidad administrada que creaste en el portal de Azure.
      • URL de autenticación: Este campo se rellena automáticamente y no es editable.
      • URL de administración: Este campo se rellena automáticamente y no es editable.
      • Sufijo de almacenamiento: Este campo se rellena automáticamente y no es editable.
    • Para la Identidad administrada asignada por el sistema, introduce la siguiente configuración. Después de introducir los detalles, selecciona Siguiente para pasar a las páginas siguientes. No podrás avanzar más allá de esta página hasta que proporciones detalles válidos.

      • ID de suscripción: Introduce tu ID de suscripción de Azure. Para obtener tu ID de suscripción de Azure, inicia sesión en el portal de Azure y navega a Suscripciones > Información general.
      • ID de Active Directory (ID de inquilino): Introduce el ID de directorio (inquilino) de la aplicación que registraste con Microsoft Entra ID.
      • URL de autenticación: Este campo se rellena automáticamente y no es editable.
      • URL de administración: Este campo se rellena automáticamente y no es editable.
      • Sufijo de almacenamiento: Este campo se rellena automáticamente y no es editable.

Crear la conexión de host con Azure Managed Identity mediante PowerShell

Puedes crear esta conexión de host usando una nueva propiedad personalizada AuthenticationMode. La AuthenticationMode tiene tres opciones: AppClientSecret, SystemAssignedManagedIdentity y UserAssignedManagedIdentity. A continuación, se describe las opciones del modo de autenticación:

  • AppClientSecret: Este es el valor predeterminado. Requiere un ID de aplicación y un secreto.
  • UserAssignedManagedIdentity: Requiere que se proporcione un ID de cliente a través de un nombre de usuario.
  • SystemAssignedManagedIdentity: No requiere ninguna entrada. Incluso si proporcionas un ID de cliente, se ignora.

Nota:

Al usar PowerShell, el parámetro ProxyHypervisorTrafficThroughConnector debe ser verdadero para usar la identidad administrada.

  1. Abre una ventana de PowerShell.
  2. Ejecuta asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Crea conexiones de host. Por ejemplo:

    • Para la identidad administrada asignada por el usuario:

       $UserName = "should be the Client ID of the user-assigned managed identity"
       $Password = "It can be any string.Not used"
       
       $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="' + $SubscriptionId + '" />'`
       +  '<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="' + $TenantId + '" />'`
       +  '<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />'`
       +  '<Property xsi:type="StringProperty" Name="AuthenticationMode" Value="UserAssignedManagedIdentity" />'`
       +  '</CustomProperties>'
       
       New-Item -ConnectionType "Custom" `
       -CustomProperties $CustomProperties `
       -HypervisorAddress @($HypervisorAddress) `
       -Path @("XDHyp:\Connections\$($ConnectionName)") `
       -Metadata $Metadata `
       -Persist `
       -PluginId "AzureRmFactory" `
       -Scope @() `
       -Password $Password `
       -UserName $UserName `
       -ZoneUid $zoneUid
       <!--NeedCopy-->
      
    • Para la identidad administrada asignada por el sistema:

       $UserName = "It can be any string. Not used"
       $Password = "It can be any string. Not used"  
       $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="' + $SubscriptionId + '" />'`
       +  '<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="' + $TenantId + '" />'`
       +  '<Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="True" />'`
       +  '<Property xsi:type="StringProperty" Name="AuthenticationMode" Value="SystemAssignedManagedIdentity" />'`
       +  '</CustomProperties>'
       
       New-Item -ConnectionType "Custom" `
       -CustomProperties $CustomProperties `
       -HypervisorAddress @($HypervisorAddress) `
       -Path @("XDHyp:\Connections\$($ConnectionName)") `
       -Metadata $Metadata `
       -Persist `
       -PluginId "AzureRmFactory" `
       -Scope @() `
       -Password $Password `
       -UserName $UserName `
       -ZoneUid $zoneUid
       <!--NeedCopy-->
      

Administrar la identidad administrada de Azure de una conexión de alojamiento existente

Usar Studio

Después de crear una conexión de alojamiento, puedes optar por actualizar la conexión de alojamiento existente para que tenga:

  • Identidad administrada asignada por el sistema
  • Identidad administrada asignada por el usuario
  • Una nueva identidad administrada asignada por el usuario
  1. Desde Studio, selecciona Alojamiento en el panel izquierdo.
  2. Selecciona la conexión y luego selecciona Modificar conexión en la barra de acciones.
  3. En la página Propiedades de conexión que aparece, haz clic en Modificar modo de autenticación. Ahora puedes optar por actualizar el modo de autenticación.

    • Haz clic en Identidad administrada asignada por el usuario para usar la identidad administrada asignada por el usuario para esa conexión de alojamiento. Sigue el ID de cliente que se debe rellenar.
    • Haz clic en Identidad administrada asignada por el sistema para usar la identidad administrada asignada por el sistema para esa conexión de alojamiento.

Usar PowerShell

También puedes actualizar una conexión de host existente usando PowerShell para usar una identidad asignada por el sistema o una identidad administrada asignada por el usuario. Por ejemplo, ejecuta los siguientes comandos de PowerShell:

  1. Abre una ventana de PowerShell.
  2. Ejecuta asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Ejecuta los siguientes comandos:

    $connName = "ConnectionName"
    $conn = get-item XDHyp:\Connections\$connName
    $conn.CustomProperties
    <!--NeedCopy-->
    
  4. Cambia ProxyHypervisorTrafficThroughConnector a True y agrega la propiedad personalizada para AuthenticationMode establecida en SystemAssignedManagedIdentity o UserAssignedManagedIdentity. Por ejemplo:

    $customProps = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation"><Property xsi:type="StringProperty" Name="SubscriptionId" Value="subscriptionId" /><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="tenantId" /><Property xsi:type="StringProperty" Name="AzureAdDeviceManagement" Value="false" /><Property xsi:type="StringProperty" Name="ProxyHypervisorTrafficThroughConnector" Value="true" /><Property xsi:type="StringProperty" Name="AuthenticationMode" Value="SystemAssignedManagedIdentity" /></CustomProperties>'
    <!--NeedCopy-->
    
  5. Ejecuta $cred = Get-Credential. Introduce cualquier cosa aquí.
  6. Ejecuta Set-Item -PSPath XDHyp:\Connections\$connName -CustomProperties $CustomProperties -username $cred.username -Securepassword $cred.password.

Zonas extendidas de Azure

Las zonas extendidas de Azure son extensiones de pequeña huella de las regiones de Azure existentes, lo que permite a las organizaciones ejecutar cargas de trabajo más cerca de sus usuarios para mejorar el rendimiento y el cumplimiento. MCS en Azure ahora admite el aprovisionamiento y la administración de energía para máquinas virtuales en zonas extendidas.

Para obtener más información sobre las zonas extendidas de Azure, consulta la documentación de Microsoft: Documentación de las zonas extendidas de Azure.

Casos de uso

Esta característica es aplicable para catálogos persistentes y no persistentes:

  • Máquinas virtuales solo con administración de energía: Puedes importar tus máquinas virtuales de zona extendida existentes a un catálogo solo con administración de energía y administrarlas con Citrix MCS.

  • Máquinas virtuales aprovisionadas por MCS: Puedes aprovisionar nuevas máquinas virtuales en una zona extendida y administrarlas con MCS. Esta característica también incluye soporte para flujos de trabajo de administración de imágenes.

Limitaciones

Actualmente existen varias limitaciones para usar las zonas extendidas de Azure. Muchas de estas limitaciones se deben a las restricciones actuales de Azure:

  • Los hosts dedicados no son compatibles.
  • Las reservas de capacidad no son compatibles.
  • Los grupos de ubicación de proximidad no son compatibles.
  • Las máquinas virtuales Spot no son compatibles.
  • Las zonas de disponibilidad no son compatibles en las zonas extendidas.
  • Solo se admiten los tipos de almacenamiento StandardSSD_LRS y Premium_LRS.
  • Actualmente no puedes usar la característica UseSharedImageGallery para guardar una imagen maestra en una Galería de computación de Azure (o Galería de imágenes compartidas) en una zona extendida. Como consecuencia, los discos del sistema operativo efímeros tampoco son compatibles.
  • Si estás usando una versión de imagen de la Galería de computación de Azure como tu imagen maestra, asegúrate de que la replicación se haya completado por completo en la zona extendida antes de intentar usarla. Intentar usar la versión de imagen antes de que se complete la replicación podría resultar en un fallo de implementación.

Requisitos previos

Antes de usar las zonas extendidas, asegúrate de haber completado los siguientes pasos de requisitos previos:

  1. Regístrate en Azure:

    1. Las zonas extendidas no están habilitadas de forma predeterminada.
    2. Registra el proveedor de recursos Microsoft.EdgeZones en tu suscripción de Azure: Registra tu suscripción para el proveedor de recursos Microsoft.EdgeZones.
    3. Registra cada zona extendida requerida por separado (ej: LosAngeles, Perth): Regístrate para una zona extendida de Azure.
  2. Prepara los recursos de Citrix:

    1. Crea una red virtual en tu zona extendida.
    2. Crea imágenes maestras y instantáneas según sea necesario.

Permisos necesarios

Para crear un catálogo en una zona extendida, tu entidad de servicio debe tener el siguiente permiso: Microsoft.EdgeZones/extendedZones/read.

Para obtener más información sobre los permisos mínimos necesarios, consulta Permisos mínimos.

Pasos de configuración

  1. Crear una unidad de alojamiento en una zona extendida

    Las zonas extendidas, que usan el tipo .extendedzone, se enumeran junto con las regiones en el inventario de Citrix MCS. Para aprovisionar en una zona extendida, debes crear una nueva unidad de alojamiento vinculada a esa zona extendida.

    Ejemplo: Para crear una unidad de alojamiento en la zona extendida de Los Ángeles

    $RootPath = "XDHyp:\Connections\MyConnectionName\Los Angeles.extendedzone" 
    
    $NetworkPath = "XDHyp:\Connections\MyConnectionName\Los Angeles.extendedzone\virtualprivatecloud.folder\MyResourceGroup.resourcegroup\MyExtendedZoneNetwork.virtualprivatecloud\MyExtendedZoneSubnet.network" 
    
    $HostingUnitPath = "XDHyp:\HostingUnits\MyHostingUnitName" 
    
    New-Item -HypervisorConnectionName MyConnectionName -NetworkPath @($NetworkPath) -Path @($HostingUnitPath) -RootPath $RootPath -StoragePath @() 
    <!--NeedCopy-->
    
  2. Crear un catálogo de MCS en una zona extendida

    Después de crear tu unidad de alojamiento, procede con la creación del catálogo usando Studio o PowerShell. Asegúrate de que tu catálogo haga referencia a la unidad de alojamiento de la zona extendida.

Solución de problemas

Si encuentras problemas, comprueba lo siguiente:

  1. Asegúrate de que tu suscripción esté registrada para las zonas extendidas.
    1. Confirma que tu suscripción esté registrada con el proveedor de recursos Microsoft.EdgeZones.
    2. Asegúrate de que cada zona extendida esté registrada individualmente.
  2. Verifica que tu entidad de servicio tenga el nuevo permiso.

    1. Tu entidad de servicio debe tener el permiso Microsoft.EdgeZones/extendedZones/read.

Los elementos de inventario en las zonas extendidas pueden aparecer como “Zona extendida desconocida” si faltan el registro o los permisos.

Nota:

Si creas un catálogo en la región principal usando una imagen maestra de una zona extendida, el registro y los permisos para la zona extendida siguen siendo necesarios.

Usar un grupo de seguridad de red precreado

Crea un grupo de seguridad de red Deny-All para la preparación de imágenes en lugar de solicitar a Citrix que cree y modifique el NSG. Modifica las propiedades personalizadas de la unidad de alojamiento usando un comando de PowerShell Set-Item para incluir el parámetro NsgForPreparation y proporcionar el grupo de seguridad de red Deny-All.

Requisitos previos

Configura los siguientes permisos necesarios para una entidad de servicio:

  • Microsoft.Network/networkSecurityGroups/join/action: Asocia un grupo de seguridad de red a una subred o interfaz de red
  • Microsoft.Network/networkSecurityGroups/read: Obtiene el grupo de seguridad de red
  • Microsoft.Network/networkSecurityGroups/securityRules/read: Obtiene la regla

Agregar el grupo de seguridad de red Deny-All precreado

Para agregar el grupo de seguridad de red Deny-All precreado, configura las propiedades personalizadas de la siguiente manera en la unidad de alojamiento:

  1. Abre una ventana de PowerShell usando el SDK de PowerShell remoto.
  2. Ejecuta los siguientes comandos:

    Add-PSSnapin citrix*.
    cd XDHyp:\HostingUnits\
    Dir
    <!--NeedCopy-->
    
  3. Selecciona una unidad de alojamiento para recuperar los detalles:

    Get-Item "XDHyp:\HostingUnits\<hostingunitname>"
    <!--NeedCopy-->
    
  4. Copia las CustomProperties a un bloc de notas y anexa 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-->
    
  5. En la ventana de PowerShell, asigna 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-->
    
  6. Ejecuta $cred = Get-Credential. Si se te solicita, proporciona las credenciales de conexión. Las credenciales son el ID de aplicación de Azure y el secreto.
  7. Ejecuta el siguiente comando.

    Set-Item -PSPath XDHyp:\HostingUnits\<hostingunitname> -CustomProperties $customProperty -username $cred.username -Securepassword $cred.password
    <!--NeedCopy-->
    

    Importante:

    Si recibes un mensaje que indica que falta SubscriptionId, reemplaza todas las comillas dobles (“) por una comilla invertida seguida de comillas dobles (`”) en la propiedad personalizada.

  8. Ejecuta dir para verificar la configuración actualizada de CustomProperties.

Nota:

Los cambios 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 recupera los grupos de recursos que contienen el grupo de seguridad de red y, a continuación, recupera el grupo de seguridad de red según el nombre del grupo de recursos.

  1. Recupera 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-->
    
  2. Recupera el grupo de seguridad de red según el nombre del grupo de recursos. Por ejemplo:

    Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType securitygroup -MaxRecords 5 -AdditionalDataFilter '{"location": ["eastus", "westus"], "resourcegroup":["resourcegroupname"]}'
    <!--NeedCopy-->
    

Filtrar grupos de recursos vacíos

Usa el comando de PowerShell Get-HypInventoryItem para filtrar los 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:

  • Recupera el número máximo de registros en una página:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5
     <!--NeedCopy-->
    
  • Recupera el número máximo de registros en una página y filtra para encontrar contenedores de recursos que tienen recursos específicos.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}'
     <!--NeedCopy-->
    
  • Recupera con omisión para indicar directamente la página y filtra para encontrar contenedores de recursos que tienen recursos específicos.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -skip 20 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}'
     <!--NeedCopy-->
    
  • Usa un token para recuperar la página siguiente y filtra para encontrar contenedores de recursos que tienen recursos específicos.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "manageddisk", "snapshot", "imageversion", "storageaccount"]}' -ContinuationToken 'ew0KICAiJGlkIjogIjEiLA0KICAiTWF4Um93cyI6IDUsDQogICJSb3dzVG9Ta2lwIjogMjUsDQogICJLdXN0b0NsdXN0ZXJVcmwiOiAiaHR0cHM6Ly9hcmctbmV1LTEzLXNmLmFyZy5jb3JlLndpbmRvd3MubmV0Ig0KfQ=='
     <!--NeedCopy-->
    
  • Recupera todos los grupos de recursos con la etiqueta interna de Citrix y limita el número máximo de registros con MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5
     <!--NeedCopy-->
    
  • Filtra por perfil de máquina (imagen maestra) con la etiqueta interna de Citrix y limita el número máximo de registros con MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}'
     <!--NeedCopy-->
    
  • Filtra por imagen preparada con la etiqueta interna de Citrix y limita 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-->
    
  • Filtra por perfil de máquina (imagen preparada) con la etiqueta interna de Citrix y limita el número máximo de registros con MaxRecords.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["vm", "templatespecversion"]}'
     <!--NeedCopy-->
    
  • Filtra por imagen con la etiqueta interna de Citrix y limita el número máximo de registros con MaxRecords y la ubicación.

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx04con01unit01" -ResourceType resourceGroup -MaxRecords 5 -AdditionalDataFilter '{"containedresourcetypes": ["manageddisk", "snapshot", "imageversion", "storageaccount"], "location": ["eastus", "westus"]}'
     <!--NeedCopy-->
    
  • Recupera 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-->
    

Permisos de Azure necesarios

Esta sección detalla los permisos mínimos y los permisos 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 si solo se otorgan permisos mínimos. Esta sección enumera los permisos mínimos por acción.

Crear una conexión de host

Agrega una conexión de host usando 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",
"Microsoft.EdgeZones/extendedZones/read"
<!--NeedCopy-->

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

Enciende o apaga las instancias de máquina.

"Microsoft.Compute/virtualMachines/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
<!--NeedCopy-->

Creación, actualización o eliminación de máquinas virtuales

Crea un catálogo de máquinas y, a continuación, agrega, elimina, actualiza máquinas y elimina el catálogo de máquinas.

A continuación, se muestra la lista de permisos mínimos necesarios cuando las imágenes maestras son discos administrados o instantáneas que 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",
"Microsoft.Compute/capacityReservationGroups/deploy/action"
<!--NeedCopy-->

Necesitas los siguientes permisos adicionales basados en los permisos mínimos para las siguientes funciones:

  • Si la imagen maestra es un VHD en una cuenta de almacenamiento 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 Azure Compute Gallery (anteriormente Shared Image Gallery):

     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     <!--NeedCopy-->
    
  • Si la imagen maestra es un disco administrado, una instantánea o un VHD en una región diferente de la región de la conexión de alojamiento:

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     "Microsoft.Storage/storageAccounts/write",
     "Microsoft.Storage/storageAccounts/delete",
     "Microsoft.Storage/checknameavailability/read",
     "Microsoft.Storage/locations/usages/read",
     "Microsoft.Storage/skus/read",
     <!--NeedCopy-->
    
  • Si utilizas el grupo de recursos administrado por Citrix:

     "Microsoft.Resources/subscriptions/resourceGroups/write",
     "Microsoft.Resources/subscriptions/resourceGroups/delete",
     <!--NeedCopy-->
    
  • Si colocas 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 utilizas la compatibilidad con host dedicado de Azure:

     "Microsoft.Compute/hostGroups/read",
     "Microsoft.Compute/hostGroups/write",
     "Microsoft.Compute/hostGroups/hosts/read",
     <!--NeedCopy-->
    
  • Si utilizas el cifrado del lado del servidor (SSE) con claves administradas por el cliente (CMK):

     "Microsoft.Compute/diskEncryptionSets/read",
     <!--NeedCopy-->
    
  • Si implementas 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 utilizas la especificación de plantilla de Azure como perfil de máquina:

     "Microsoft.Resources/templateSpecs/read",
     "Microsoft.Resources/templateSpecs/versions/read",
     <!--NeedCopy-->
    

Creación, actualización y eliminación de máquinas con disco no administrado

A continuación, se muestra la lista de permisos mínimos necesarios cuando la imagen maestra es VHD y se utiliza el grupo de recursos proporcionado por el administrador:

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/locations/usages/read"
<!--NeedCopy-->

Administración de costos

A continuación, se muestra el permiso mínimo necesario para recuperar los precios de las máquinas virtuales:

"Microsoft.Consumption/pricesheets/read"
<!--NeedCopy-->

A continuación, se muestra el permiso mínimo necesario para recuperar el costo de las máquinas virtuales:

"Microsoft.CostManagement/query/read"
<!--NeedCopy-->

Nota:

Para ver la ficha Cost Insights de un catálogo de máquinas de Azure, debes tener el permiso Administración de costos > Administrar > Leer costo (predeterminado para los administradores de la nube). Para obtener información sobre la ficha Cost Insights, consulta Ver detalles del catálogo.

Permisos generales

El rol de Colaborador tiene acceso completo para administrar todos los recursos. Este conjunto de permisos no te impide obtener nuevas funciones.

El siguiente conjunto de permisos proporciona la mejor compatibilidad en el futuro, aunque incluye más permisos de los necesarios con el conjunto de funciones actual:

"Microsoft.Compute/diskEncryptionSets/read",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/galleries/delete",
"Microsoft.Compute/galleries/images/delete",
"Microsoft.Compute/galleries/images/read",
"Microsoft.Compute/galleries/images/versions/delete",
"Microsoft.Compute/galleries/images/versions/read",
"Microsoft.Compute/galleries/images/versions/write",
"Microsoft.Compute/galleries/images/write",
"Microsoft.Compute/galleries/read",
"Microsoft.Compute/galleries/write",
"Microsoft.Compute/hostGroups/hosts/read",
"Microsoft.Compute/hostGroups/read",
"Microsoft.Compute/hostGroups/write",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/locations/publishers/artifacttypes/types/versions/read",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/extensions/read",
"Microsoft.Compute/virtualMachines/extensions/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/locations/usages/read",
"Microsoft.Resources/deployments/operationstatuses/read",
"Microsoft.Resources/deployments/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/deployments/write",
"Microsoft.Resources/deployments/delete",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Resources/providers/read",
"Microsoft.Resources/subscriptions/locations/read",
"Microsoft.Resources/subscriptions/read",
"Microsoft.Resources/tags/read",
"Microsoft.Resources/tags/write",
"Microsoft.Resources/tenants/read",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/checknameavailability/read",
"Microsoft.Storage/locations/usages/read",
"Microsoft.Storage/skus/read",
"Microsoft.Features/providers/features/read",
"Microsoft.Insights/DataCollectionRuleAssociations/Read",
"Microsoft.Insights/dataCollectionRules/read",
"Microsoft.Insights/diagnosticsettings/delete",
"Microsoft.Insights/diagnosticsettings/read",
"Microsoft.Insights/diagnosticsettings/write",
"Microsoft.Compute/capacityReservationGroups/capacityReservations/read",
"Microsoft.Consumption/pricesheets/read",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/securityRules/read",
"Microsoft.Compute/capacityReservationGroups/deploy/action",
"Microsoft.EdgeZones/extendedZones/read"

<!--NeedCopy-->

Configurar los permisos necesarios para la conexión de host de Azure

Puedes configurar fácilmente todos los permisos mínimos necesarios para una entidad de servicio o cuenta de usuario en Azure vinculada a una conexión de host para realizar todas las operaciones de MCS mediante una plantilla ARM. Esta plantilla ARM automatiza lo siguiente:

  • Creación de un rol de Azure con los permisos mínimos necesarios para las operaciones.
  • Asignación de este rol a una entidad de servicio de Azure existente a nivel de suscripción.

Puedes implementar esta plantilla ARM mediante Azure Portal o comandos de PowerShell. Para obtener más información, consulta Plantilla ARM para operaciones de Citrix Virtual Apps and Desktops.

Validar permisos en la conexión de host

Puedes 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 de MCS. Esta implementación te ayuda a averiguar los permisos faltantes 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 puedas evitar bloqueos en momentos críticos.

Puedes 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 de MCS.
  • Acción correctiva: El paso que un administrador debe realizar para resolver una discrepancia de permisos faltantes de un usuario.
  • Permiso faltante: La lista de permisos faltantes para una categoría.

Para validar los permisos, haz lo siguiente:

  1. Crea una conexión de host a Azure.
  2. Abre una ventana de PowerShell desde el host de Delivery Controller™.
  3. Ejecuta asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  4. Ejecuta el siguiente comando para verificar si tienes los permisos necesarios para probar una conexión.

    Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AzureCon"
    <!--NeedCopy-->
    

    Permiso a nivel de rol necesario para la SPN:

    • Microsoft.Authorization/roleDefinitions/read (a nivel de suscripción o a nivel de grupo de recursos si se proporciona el grupo de recursos)
    • Microsoft.Authorization/roleAssignments/read (a nivel de suscripción o a nivel de grupo de recursos si se proporciona el grupo de recursos)

    Permisos a nivel de API necesarios para la SPN:

    Microsoft.Graph:

    • Application.Read.All
    • Directory.Read.All
    • ServicePrincipalEndpoint.Read.All
  5. Después de agregar los permisos faltantes necesarios para buscar tus permisos, ejecuta el siguiente comando para verificar si tienes 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 nivel de autorización alto:

    Test-HypHypervisorConnection -LiteralPath XDHyp:\Connections\testles -CustomProperties $customProperties | Format-List
    <!--NeedCopy-->
    

    Nota:

    El parámetro CustomProperties se usa 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 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, consulta Permisos de Azure necesarios.

Pasos siguientes

Más información