Linux Virtual Delivery Agent

Authentification avec Azure Active Directory

Remarque :

Cette fonctionnalité n’est disponible que pour les VDA hébergés sur Azure.

En fonction de vos besoins, vous pouvez déployer deux types de Linux VDA dans Azure :

  • VM jointes à Azure AD DS. Les machines virtuelles sont jointes à un domaine géré par les services de domaine (DS) Azure Active Directory (AAD). Les utilisateurs utilisent leurs informations d’identification de domaine pour se connecter aux machines virtuelles.
  • VM n’appartenant pas à un domaine. Les machines virtuelles s’intègrent au service d’identité AAD pour fournir l’authentification des utilisateurs. Les utilisateurs utilisent leurs informations d’identification AAD pour se connecter aux machines virtuelles.

Pour plus d’informations sur AAD DS et AAD, consultez cet article Microsoft.

Cet article explique comment activer et configurer le service d’identité AAD sur des VDA n’appartenant pas à un domaine.

Distributions prises en charge

  • Ubuntu 20.04, 18.04
  • RHEL 8.4, 7.9
  • SUSE 15.x
  • Debian 10

Pour plus d’informations, veuillez consulter cet article Microsoft.

Problèmes connus et solutions

Sur Red Hat 8.3 et 7.9, le module PAM (Pluggable Authentication Module) pam_loginuid.so ne parvient pas à définir loginuid après l’authentification utilisateur AAD. Ce problème empêche les utilisateurs AAD d’accéder aux sessions VDA.

Pour contourner ce problème, dans /etc/pam.d/remote, commentez la ligne Session required pam_loginuid.so. Reportez-vous à la capture d’écran suivante pour un exemple.

Solution pour un problème connu

Étape 1 : Créer une VM modèle sur le portail Azure

Créez une VM modèle et installez l’interface de ligne de commande Azure sur la machine virtuelle.

  1. Sur le portail Azure, créez une VM modèle. Assurez-vous de sélectionner Se connecter avec Azure AD dans l’onglet Gestion avant de cliquer sur Examiner et créer.

    paramètre pour activer la connexion avec AAD

  2. Installez l’interface de ligne de commande Azure sur la VM modèle. Pour plus d’informations, veuillez consulter cet article Microsoft.

Étape 2 : préparer une image principale sur la VM modèle

Pour préparer une image principale, suivez l’Étape 3 : préparer une image principale dans Utiliser MCS pour créer des machines virtuelles Linux sur Azure.

Étape 3 : Définir la VM modèle sur le mode non joint au domaine

Après avoir créé une image principale, procédez comme suit pour définir la machine virtuelle en mode non joint au domaine :

  1. Exécutez le script suivant à partir de l’invite de commandes.

    Modify /var/xdl/mcs/mcs_util.sh
    <!--NeedCopy-->
    
  2. Localisez function read_non_domain_joined_info(), puis remplacez la valeur NonDomainJoined par 2. Consultez le bloc de code dans l’exemple suivant.

    function read_non_domain_joined_info()
    {
    log "Debug: Enter read_non_domain_joined_info"
    # check if websocket enabled
    TrustIdentity=`cat ${id_disk_mnt_point}${ad_info_file_path} | grep '[TrustIdentity]' | sed 's/\s//g'`
    if [ "$TrustIdentity" == "[TrustIdentity]" ]; then
    NonDomainJoined=2
    fi
    ...
    }
    <!--NeedCopy-->
    
  3. Enregistrez la modification.

  4. Arrêtez la VM modèle.

Étape 4 : Créer les machines virtuelles Linux à partir de la VM modèle

Une fois que la VM modèle n’appartenant pas à un domaine est prête, procédez comme suit pour créer des machines virtuelles :

  1. Connectez-vous à Citrix Cloud.

  2. Double-cliquez sur Citrix DaaS, puis accédez à la console de gestion Configuration complète.

  3. Dans Catalogues de machines, choisissez d’utiliser Machine Creation Services pour créer les machines virtuelles Linux à partir de la VM modèle. Pour plus d’informations, consultez VDA n’appartenant pas à un domaine dans le document Citrix DaaS.

Étape 5 : Attribuer des comptes utilisateurs AAD aux machines virtuelles Linux

Après avoir créé les machines virtuelles n’appartenant pas à un domaine, attribuez-leur des comptes utilisateur AAD.

Pour attribuer des comptes utilisateur AAD à une machine virtuelle, procédez comme suit :

  1. Accédez à la machine virtuelle à l’aide d’un compte administrateur.
  2. Dans l’onglet Identify > System assigned, activez System Identity.

    paramètre pour activer la connexion avec AAD

  3. Dans l’onglet Access control (IAM) > Role assignments, localisez la zone Virtual Machine User Login, puis ajoutez les comptes utilisateur AAD selon vos besoins.

    paramètre pour activer la connexion avec AAD

Se connecter à des VDA n’appartenant pas à un domaine

Les utilisateurs finaux de votre organisation peuvent se connecter à un VDA n’appartenant pas à un domaine de deux manières. Les étapes détaillées sont les suivantes :

  1. Démarrez l’application Workspace, puis connectez-vous à l’espace de travail en saisissant le nom d’utilisateur et le mot de passe AAD. La page Workspace s’affiche.
  2. Double-cliquez sur un bureau n’appartenant pas à un domaine. La page AAD LOGIN s’affiche.

    La page varie en fonction du mode de connexion défini sur le VDA : code d’appareil ou compte/mot de passe AAD. Par défaut, les VDA Linux authentifient les utilisateurs AAD à l’aide du mode de connexion Code d’appareil comme suit. En tant qu’administrateur, vous pouvez définir le mode de connexion sur Compte/mot de passe AAD si nécessaire. Consultez la section suivante pour connaître les étapes détaillées.

    paramètre pour activer la connexion avec AAD

  3. Selon les instructions à l’écran, connectez-vous à la session de bureau de l’une des manières suivantes :
    • Scannez le code QR et saisissez-le.
    • Saisissez le nom d’utilisateur et le mot de passe AAD.

Passer au mode de connexion Compte/mot de passe AAD

Par défaut, les VDA Linux authentifient les utilisateurs AAD avec des codes d’appareil. Consultez cet article Microsoft pour plus de détails. Pour passer au mode de connexion Compte/mot de passe AAD, procédez comme suit :

Exécutez la commande suivante sur le VDA, localisez la clé AADAcctPwdAuthEnable et définissez sa valeur sur 0x00000001.

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket" -t "REG_DWORD" -v "AADAcctPwdAuthEnable" -d "0x00000001" --force

<!--NeedCopy-->

Remarque :

Cette approche ne fonctionne pas avec les comptes Microsoft ou les comptes pour lesquels l’authentification à deux facteurs est activée.