Citrix DaaS

Crear catálogos unidos a Azure Active Directory

En este artículo se describe cómo crear catálogos unidos a Azure Active Directory (AD) mediante Citrix DaaS.

Para obtener información sobre los requisitos, las limitaciones y los aspectos a tener en cuenta, consulte Unidos a Azure Active Directory.

Antes de crear el catálogo de máquinas, necesita lo siguiente:

  1. Nueva ubicación de recursos
    • Vaya a la interfaz de usuario de la administración de Citrix Cloud > menú de tres líneas de la parte superior izquierda > Ubicaciones de recursos.
    • Haga clic en + Ubicación de recursos.
    • Escriba un nombre para nueva la ubicación de recursos y haga clic en Guardar.
  2. Cree una conexión de host. Consulte la sección Crear y administrar conexiones para obtener información detallada. Al implementar máquinas en Azure, consulte Conexión con Azure Resource Manager.
  3. Para eliminar sistemáticamente los dispositivos obsoletos de Azure AD y permitir que se le unan nuevos dispositivos, puede asignar el rol de administrador de dispositivos en la nube a la entidad principal de servicio de aprovisionamiento. Si no elimina los dispositivos obsoletos de Azure AD, la VM no persistente correspondiente permanecerá en el estado de inicialización hasta que la elimine manualmente del portal de Azure AD. Para ello, habilite la administración de conexiones de host en dispositivos unidos a Azure AD mediante la interfaz de Configuración completa o siga estos pasos:

    1. Inicie sesión en Azure Portal y vaya a Azure Active Directory > Roles and administrators.
    2. Busque el rol integrado Cloud Device Administrator y haga clic en Add assignments para asignar el rol a la entidad principal de servicio de la aplicación utilizada por la conexión de host.
    3. Utilice el SDK de PowerShell remoto de Citrix para ejecutar los siguientes comandos a fin de obtener las CustomProperties de la conexión de host existente. ${HostingConnectionName} hace referencia al nombre de la conexión de host.

      1. Abra una ventana de PowerShell.
      2. Ejecute asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
      3. Ejecute el siguiente comando para obtener las propiedades personalizadas existentes de la conexión de host.

        (Get-Item -LiteralPath XDHyp:\Connections${HostingConnectionName}).CustomProperties
        <!--NeedCopy-->
        
      4. Copie las propiedades personalizadas de la conexión en un bloc de notas y añada la configuración de propiedad <Property xsi:type="StringProperty" Name="AzureAdDeviceManagement" Value="true" />.
      5. En la ventana de PowerShell, asigne una variable a las propiedades personalizadas modificadas. Por ejemplo, $UpdatedCustomProperties=’<CustomProperties …</CustomProperties>’.
      6. Vuelva a establecer la propiedad personalizada en la conexión de host:

        Set-Item -LiteralPath XDHyp:\Connections${HostingConnectionName} -CustomProperties ${UpdatedCustomProperties} -ZoneUid ${ZoneUid}
        <!--NeedCopy-->
        
      7. Ejecute el comando (Get-Item -LiteralPath XDHyp:\Connections\${HostingConnectionName}).CustomProperties para verificar la configuración actualizada de las propiedades personalizadas.

Puede crear catálogos unidos a Azure AD mediante la interfaz de Configuración completa o PowerShell.

Usar la interfaz de Configuración completa

La información siguiente complementa a las instrucciones del artículo Crear catálogos de máquinas. Para crear catálogos unidos a Azure AD, siga las instrucciones generales de ese artículo y tenga en cuenta los detalles específicos sobre los catálogos unidos a Azure AD.

En el asistente para la creación de catálogos:

  1. En la página Imagen:
    • Seleccione 2106 o una versión posterior como nivel funcional.
    • Seleccione Usar un perfil de máquina y seleccione la máquina correspondiente de la lista.
  2. En la página Identidades de las máquinas, seleccione Unido a Azure Active Directory. Las máquinas creadas son propiedad de una organización, en las que se ha iniciado sesión con una cuenta de Azure AD que pertenece a esa organización. Solo existen en la nube.

    Nota:

    • El tipo de identidad Unido a Azure Active Directory requiere la versión 2106 o una posterior como nivel funcional mínimo para el catálogo.
    • Las máquinas se unen al dominio de Azure AD asociado al arrendatario al que está vinculada la conexión de host.
  3. Los usuarios deben tener acceso explícito en Azure para iniciar sesión en las máquinas con sus credenciales de AAD. Consulte la sección Unidos a Azure Active Directory para obtener más detalles.

Mediante PowerShell

He aquí los pasos de PowerShell equivalentes a las operaciones de Configuración completa. Para obtener información sobre cómo crear un catálogo con el SDK de PowerShell remoto, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

La diferencia entre los catálogos unidos a AD local y los unidos a Azure AD radica en la creación del grupo de identidades y el esquema de aprovisionamiento.

Para crear un grupo de identidades para los catálogos unidos a Azure AD:

New-AcctIdentityPool -AllowUnicode -IdentityType="AzureAD" -WorkgroupMachine -IdentityPoolName "AzureADJoinedCatalog" -NamingScheme "AzureAD-VM-##" -NamingSchemeType "Numeric" -Scope @() -ZoneUid "81291221-d2f2-49d2-ab12-bae5bbd0df05"
<!--NeedCopy-->

Para crear un esquema de aprovisionamiento para los catálogos unidos a Azure AD, se requiere el parámetro MachineProfile en New-ProvScheme:

New-ProvScheme -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"StandardSSD_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Server`" /></CustomProperties>" -HostingUnitName "AzureResource" -IdentityPoolName "AzureADJoinedCatalog" -InitialBatchSizeHint 1 -MachineProfile "XDHyp:\HostingUnits\AzureResource\image.folder\azuread-rg.resourcegroup\MasterVDA.vm" -MasterImageVM "XDHyp:\HostingUnits\AzureResource\image.folder\azuread-rg.resourcegroup\azuread-small_OsDisk_1_5fb42fadf7ff460bb301ee0d56ea30da.manageddisk" -NetworkMapping @{"0"="XDHyp:\HostingUnits\AzureResource\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\azuread-rg.resourcegroup\azuread-vnet.virtualprivatecloud\Test_VNET.network"} -ProvisioningSchemeName "AzureADJoinedCatalog" -RunAsynchronously -Scope @() -SecurityGroup @() -ServiceOffering "XDHyp:\HostingUnits\AzureResource\serviceoffering.folder\Standard_DS1_v2.serviceoffering"
<!--NeedCopy-->

Todos los demás comandos que se utilizan para crear catálogos unidos a Azure AD son los mismos que se usan para los catálogos tradicionales unidos a AD local.

Ver el estado del proceso de unión a Azure AD

En la interfaz de Configuración completa, el estado del proceso de unión a Azure AD es visible cuando las máquinas unidas a Azure AD de un grupo de entrega están encendidas. Para ver el estado, utilice Buscar para identificar esas máquinas y, a continuación, para cada una de ellas, compruebe la identidad de la máquina en la ficha Detalles del panel inferior. Esta información puede aparecer en Identidad de la máquina:

  • Unida a Azure AD
  • Aún no se ha unido a Azure AD

Nota:

Si las máquinas no se hallan unidas a Azure AD, no se registran en el Delivery Controller. Su estado de registro aparece como Inicialización.

Además, mediante la interfaz de Configuración completa, puede averiguar por qué las máquinas no están disponibles. Para ello, haga clic en una máquina del nodo Buscar, marque Registro en la ficha Detalles del panel inferior y, a continuación, lea el texto de ayuda para obtener información adicional.

Grupo de entrega

Consulte la sección Crear grupos de entrega para obtener información detallada.

Habilitar Rendezvous

Una vez creado el grupo de entrega, puede habilitar Rendezvous. Consulte Rendezvous V2 para obtener información detallada.

Solución de problemas

Si las máquinas no logran unirse a Azure AD, haga lo siguiente:

  • Compruebe si la identidad administrada asignada del sistema está habilitada para las máquinas. Las máquinas aprovisionadas por MCS deben tener esta opción habilitada automáticamente. El proceso de unión a Azure AD falla sin una identidad administrada asignada del sistema. Si la identidad administrada asignada del sistema no está habilitada para máquinas aprovisionadas por MCS, es posible que se deba a lo siguiente:

    • IdentityType del grupo de identidades asociado al esquema de aprovisionamiento no está configurado en AzureAD. Para comprobarlo, ejecute Get-AcctIdentityPool.
  • En el caso de los catálogos que usan imágenes maestras con la versión 2206 de VDA o anterior, compruebe el estado de aprovisionamiento de la extensión AADLoginForWindows para las máquinas. Si la extensión AADLoginForWindows no existe, los posibles motivos son:

    • IdentityType del grupo de identidades asociado al esquema de aprovisionamiento no está configurado en AzureAD. Para comprobarlo, ejecute Get-AcctIdentityPool.

    • La directiva de Azure bloquea la instalación de la extensión AADLoginForWindows.

  • Para solucionar problemas de aprovisionamiento de la extensión AADLoginForWindows, puede comprobar los registros en C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.ActiveDirectory.AADLoginForWindows de la máquina aprovisionada por MCS.

    Nota:

    MCS no se basa en la extensión AADLoginForWindows para unir una máquina virtual a Azure AD cuando se usa una imagen maestra con la versión 2209 de VDA o una posterior. En este caso, la extensión AADLoginForWindows no se instalará en la máquina aprovisionada por MCS. Por consiguiente, no se pueden recopilar los registros de aprovisionamiento de la extensión AADLoginForWindows.

  • Para comprobar el estado de la unión a Azure AD y los registros de depuración, ejecute el comando dsregcmd /status en la máquina aprovisionada por MCS.

  • Consulte los registros de eventos de Windows en Registros de aplicaciones y servicios > Microsoft > Windows > Registro de dispositivos de usuario.
  • Ejecute Get-Item -LiteralPath XDHyp:\Connections\${HostingConnectionName} para comprobar si la administración de dispositivos de Azure AD está configurada correctamente.

    Compruebe que el valor de:

    • La propiedad AzureAdDeviceManagement en CustomProperties es true
    • La propiedad Citrix_MCS_AzureAdDeviceManagement_PermissionGranted en los metadatos es true

    Si el valor de Citrix_MCS_AzureAdDeviceManagement_PermissionGranted es false, indica que la ServicePrincipal de la aplicación utilizada por la conexión de host no cuenta con permisos suficientes para la administración de dispositivos de Azure AD. Para resolver esto, asigne a la ServicePrincipal el rol Cloud Device Administrator .

Grupo de seguridad dinámico de Azure Active Directory

Las reglas de los grupos dinámicos colocan las máquinas virtuales del catálogo en un grupo de seguridad dinámico según el esquema de nomenclatura del catálogo de máquinas.

Si el esquema de nomenclatura del catálogo de máquinas es Test### (donde # representa un número), Citrix crea la regla de pertenencia dinámica ^Test[0-9]{3}$ en el grupo de seguridad dinámico. Si el nombre de la máquina virtual creada por Citrix está entre Test001 y Test999, la máquina virtual se incluye en el grupo de seguridad dinámico.

Nota:

Si el nombre de la máquina virtual que creó manualmente está entre Test001 y Test999, la máquina virtual también se incluye en el grupo de seguridad dinámico. Esta es una de las limitaciones del grupo de seguridad dinámico.

La funcionalidad de grupo de seguridad dinámico es útil cuando quiere administrar las máquinas virtuales con Azure Active Directory (Azure AD). También es útil cuando quiere aplicar directivas de acceso condicional o distribuir aplicaciones desde Intune filtrando las máquinas virtuales con un grupo de seguridad dinámico de Azure AD.

Puede usar los comandos de PowerShell para:

  • Crear un catálogo de máquinas con un grupo de seguridad dinámico de Azure AD
  • Habilitar la funcionalidad de grupo de seguridad para un catálogo de Azure AD
  • Eliminar un catálogo de máquinas con un grupo de seguridad de dispositivos unido a Azure AD

Importante:

  • Para crear un catálogo de máquinas con el grupo de seguridad dinámico de Azure AD, agregar máquinas al catálogo y eliminar el catálogo de máquinas, debe tener un token de acceso a Azure AD. Para obtener información sobre cómo obtener el token de acceso a Azure AD, consulte https://docs.microsoft.com/en-us/graph/graph-explorer/graph-explorer-features#consent-to-permissions/.
  • Para solicitar un token de acceso en Azure AD, Citrix solicita el permiso Group.ReadWrite.All para la API de Microsoft Graph. Un usuario de Azure AD que tenga el permiso de consentimiento del administrador para todo el arrendatario puede conceder el permiso Group.ReadWrite.All para la API de Microsoft Graph. Para obtener información sobre cómo conceder el “consentimiento del administrador para todo el arrendatario” a una solicitud en Azure Active Directory (Azure AD), consulte el documento https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/grant-admin-consent/ de Microsoft.

Crear un catálogo de máquinas con un grupo de seguridad dinámico de Azure AD

  1. En la interfaz de usuario para configuración del catálogo de máquinas de la consola web, en la página Identidades de las máquinas, seleccione Unido a Azure Active Directory.
  2. Inicie sesión en Azure AD.
  3. Obtenga el token de acceso a la API de MS Graph. Utilice este token de acceso como valor del parámetro $AzureADAccessToken cuando ejecute los comandos de PowerShell.
  4. Ejecute el siguiente comando para comprobar si el nombre del grupo de seguridad dinámico existe en el arrendatario.

    Get-AcctAzureADSecurityGroup
    –AccessToken  $AzureADAccessToken
    –Name "SecurityGroupName"
    <!--NeedCopy-->
    
  5. Cree un catálogo de máquinas con el ID de arrendatario, el token de acceso y el grupo de seguridad dinámico. Ejecute el siguiente comando para crear un grupo de identidades (IdentityPool) con IdentityType=AzureAD y crear un grupo de seguridad dinámico en Azure.

    New-AcctIdentityPool
    -AllowUnicode
    -IdentityPoolName "SecurityGroupCatalog"
    -NamingScheme "SG-VM-###"
    -NamingSchemeType "Numeric" -Scope @()
    -ZoneUid "81291221-d2f2-49d2-ab12-bae5bbd0df05"
    -WorkgroupMachine
    -IdentityType "AzureAD"
    -DeviceManagementType "None"
    -AzureADTenantId  620387bb-9167-4bdd-8435-e3dccc58369e
    -AzureADSecurityGroupName "SecurityGroupName"
    -AzureADAccessToken $AzureADAccessToken
    <!--NeedCopy-->
    

Habilitar la funcionalidad de grupo de seguridad para un catálogo de Azure AD

Puede habilitar la funcionalidad de seguridad dinámica para un catálogo de Azure AD que se haya creado sin la funcionalidad grupo de seguridad dinámico habilitada. Para hacerlo:

  1. Cree manualmente un nuevo grupo de seguridad dinámico. También puede reutilizar un grupo de seguridad dinámico existente.
  2. Inicie sesión en Azure AD y obtenga el token de acceso a la API de MS Graph. Utilice este token de acceso como valor del parámetro $AzureADAccessToken cuando ejecute los comandos de PowerShell.

    Nota:

    Para obtener información sobre los permisos que requiere el usuario de Azure AD, consulte https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/grant-admin-consent#prerequisites/.

  3. Ejecute el siguiente comando para conectar el grupo de identidades al grupo de seguridad dinámico de Azure AD creado.

    Set-AcctIdentityPool
    -IdentityPoolName "SecurityGroupCatalog"
    -AzureADTenantId 620387bb-9167-4bdd-8435-e3dccc58369e
    -AzureADSecurityGroupNam "ExistingSecurityGroupName"
    -AzureADAccessToken $AzureADAccessToken
    <!--NeedCopy-->
    

Si actualiza el esquema de nomenclatura, Citrix lo actualizará con una nueva regla de pertenencia. Si elimina el catálogo, se eliminará la regla de pertenencia, y no el grupo de seguridad.

Eliminar un catálogo de máquinas con un grupo de seguridad de dispositivos unido a Azure AD

Al eliminar un catálogo de máquinas, también se elimina el grupo de seguridad de dispositivos unido a Azure AD.

Para eliminar el grupo de seguridad dinámico de Azure AD, haga lo siguiente:

  1. Inicie sesión en Azure AD.
  2. Obtenga el token de acceso a la API de MS Graph. Utilice este token de acceso como valor del parámetro $AzureADAccessToken cuando ejecute los comandos de PowerShell.
  3. Ejecute este comando:

    Remove-AcctIdentityPool
    -IdentityPoolName "SecurityGroupCatalog"
    -AzureADAccessToken $AzureADAccessToken
    <!--NeedCopy-->
    

Crear un grupo de seguridad dinámico de Azure AD bajo un grupo de seguridad asignado de Azure AD existente

Puede crear un grupo de seguridad dinámico de Azure AD bajo un grupo de seguridad asignado de Azure AD existente. Puede realizar lo siguiente:

  • Obtener información del grupo de seguridad.
  • Obtener todos los grupos de seguridad asignados de Azure AD que se sincronizan desde el servidor de AD local o los grupos de seguridad asignados a los que se pueden asignar roles de Azure AD.
  • Obtener todos los grupos de seguridad dinámicos de Azure AD.
  • Agregar un grupo de seguridad dinámico de Azure AD como miembro del grupo asignado de Azure AD.
  • Eliminar la pertenencia entre el grupo de seguridad dinámico de Azure AD y el grupo de seguridad asignado de Azure AD al eliminar el grupo de seguridad dinámico de Azure AD junto con el catálogo de máquinas.

También puede ver mensajes de error explícitos cuando se produce un error en alguna de las operaciones.

Requisito:

Debe tener el token de acceso a la API de MS Graph al ejecutar los comandos de PowerShell.

Para obtener el token de acceso:

  1. Abra el explorador de Microsoft Graph e inicie sesión en Azure AD.
  2. Debe contar con los permisos Group.ReadWrite.all y GroupMember.ReadWrite.all.
  3. Obtenga el token de acceso del explorador de Microsoft Graph. Utilice este token de acceso cuando ejecute los comandos de PowerShell.

Para obtener información del grupo de seguridad por ID de grupo:

  1. Obtenga el token de acceso.
  2. Busque el ID del objeto de grupo en el portal de Azure.
  3. Ejecute el siguiente comando de PowerShell en la consola de PowerShell:

    Get-AcctAzureADSecurityGroup
    -AccessToken <token> -GroupId <GroupUid>
    <!--NeedCopy-->
    

Para obtener grupos de seguridad por nombre simplificado del grupo:

  1. Obtenga el token de acceso.
  2. Ejecute el siguiente comando de PowerShell en la consola de PowerShell:

    Get-AcctAzureADSecurityGroup
    -AccessToken <token>
    -Name <TargetGroupDisplayName>
    <!--NeedCopy-->
    

Para obtener grupos de seguridad cuyo nombre simplificado contiene una subcadena:

  1. Obtenga el token de acceso.
  2. Ejecute el siguiente comando de PowerShell en la consola de PowerShell:

    Get-AcctAzureADSecurityGroup
    -AccessToken <token>
    -SearchString <displayNameSubString>
    <!--NeedCopy-->
    

Para obtener todos los grupos de seguridad asignados de Azure AD que se sincronizan desde el servidor de AD local o los grupos de seguridad asignados a los que se pueden asignar roles de Azure AD:

  1. Obtenga el token de acceso.
  2. Ejecute el siguiente comando de PowerShell en la consola de PowerShell:

    Get-AcctAzureADSecurityGroup
    -AccessToken <token>
    -Assigned true
    <!--NeedCopy-->
    

Para obtener todos los grupos de seguridad dinámicos de Azure AD:

  1. Obtenga el token de acceso.
  2. Ejecute el siguiente comando de PowerShell en la consola de PowerShell:

    Get-AcctAzureADSecurityGroup
    -AccessToken <token>
    -Dynamic true
    <!--NeedCopy-->
    

Para obtener los grupos de seguridad asignados de Azure AD con un recuento máximo de registros:

  1. Obtenga el token de acceso.
  2. Ejecute el siguiente comando de PowerShell en la consola de PowerShell:

    Get-AcctAzureADSecurityGroup
    -AccessToken <token>
    -Assigned true
    -MaxRecordCount 10
    <!--NeedCopy-->
    

Para agregar un grupo de seguridad dinámico de Azure AD como miembro del grupo de seguridad asignado de Azure AD:

  1. Obtenga el token de acceso.
  2. Ejecute el siguiente comando de PowerShell en la consola de PowerShell:

    Add-AcctAzureADSecurityGroupMember
    -AccessToken <token>
    -GroupId <ASG-Id>
    -RefGroupId <DSG-Id>
    <!--NeedCopy-->
    

Para obtener los miembros del grupo de seguridad asignado de Azure AD:

  1. Obtenga el token de acceso.
  2. Ejecute el siguiente comando de PowerShell en la consola de PowerShell:

    Get-AcctAzureADSecurityGroupMember
    -AccessToken <token>
    -GroupId <ASG-Id>
    <!--NeedCopy-->
    

    Nota:

    Get-AcctAzureADSecurityGroupMember le proporciona únicamente los miembros directos del grupo de seguridad situado bajo el grupo de seguridad asignado de Azure AD.

Para eliminar la pertenencia entre el grupo de seguridad dinámico de Azure AD y el grupo de seguridad asignado de Azure AD al eliminar el grupo de seguridad dinámico de Azure AD junto con el catálogo de máquinas:

  1. Obtenga el token de acceso.
  2. Ejecute el siguiente comando de PowerShell en la consola de PowerShell:

    Remove-AcctIdentityPool
    -IdentityPoolName "SecurityGroupCatalog"
    -AzureADAccessToken $AzureADAccessToken
    <!--NeedCopy-->
    

Modificar el nombre del grupo de seguridad dinámico de Azure AD

Se puede modificar el nombre del grupo de seguridad dinámico de Azure AD asociado a un catálogo de máquinas. Esta modificación hace que la información del grupo de seguridad almacenada en el objeto del grupo de identidades de Azure AD sea coherente con la información almacenada en Azure Portal.

Nota:

Los grupos de seguridad dinámicos de Azure AD no incluyen los grupos de seguridad sincronizados desde instancias de AD locales ni otros tipos de grupos, como el grupo de Office 365.

El nombre del grupo de seguridad dinámico de Azure AD se puede modificar mediante la interfaz de Configuración completa y los comandos de PowerShell.

Para modificar el nombre del grupo de seguridad dinámico de Azure AD mediante PowerShell:

  1. Abra la ventana de PowerShell.
  2. Ejecute asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Ejecute el comando Set-AcctIdentityPool -AzureAdSeurityGroupName [DSG-Name].

Si no se puede modificar el nombre del grupo de seguridad dinámico de Azure AD, recibirá los mensajes de error correspondientes.