Linux Virtual Delivery Agent

Azure Active Directoryを使用した認証

注:

この機能は、AzureでホストされるVDAでのみ使用できます。

ニーズに基づいて、Azureに2種類のLinux VDAを展開できます:

  • Azure AD DS参加済みVM。VMが、Azure Active Directory(AAD)ドメインサービス(DS)の管理対象ドメインに参加しています。ユーザーはドメイン資格情報を使用してVMにログオンします。
  • ドメイン非参加VM。VMが、AAD IDサービスと統合されており、ユーザー認証を提供します。ユーザーはAAD資格情報を使用してVMにログオンします。

AAD DSおよびAADについて詳しくは、こちらのMicrosoft社の記事を参照してください。

この記事では、ドメイン非参加VDAでAAD IDサービスを有効化および構成する方法について説明します。

サポートされているディストリビューション

  • Ubuntu 22.04、20.04、18.04
  • RHEL 8.7、8.6、8.4、7.9
  • SUSE 15.4

詳しくは、Microsoft社の記事を参照してください。

既知の問題と回避策

RHEL 7.9では、AADユーザー認証後に、PAM(Pluggable Authentication Module:プラグイン可能な認証モジュール)のpam_loginuid.sologinuidの設定に失敗します。この問題により、AADユーザーはVDAセッションにアクセスできなくなります。

この問題を回避するには、/etc/pam.d/remoteSession required pam_loginuid.so行をコメントアウトします。例として以下のスクリーンショットを参照してください。

既知の問題の回避策

手順1:Azure Portalでテンプレート仮想マシンを作成する

テンプレート仮想マシンを作成し、Azure CLIをVMにインストールします。

  1. Azure Portalでテンプレート仮想マシンを作成します。[Review + create] をクリックする前に、[Management] タブで [Login with Azure AD] を選択してください。

    AADでのログインを有効にする設定

  2. テンプレート仮想マシンでAzure CLIをVMにインストールします。 詳しくは、Microsoft社の記事を参照してください。

手順2:テンプレート仮想マシンでマスターイメージを準備

マスターイメージを準備するには、「AzureでのMCSを使用したLinux仮想マシンの作成」の「手順3:マスターイメージを準備する」の手順に従ってください。

手順3:テンプレート仮想マシンをドメイン非参加モードに設定する

マスターイメージを作成したら、次の手順に従ってVMをドメイン非参加モードに設定します:

  1. コマンドプロンプトから次のスクリプトを実行します。

    Modify /var/xdl/mcs/mcs_util.sh
    <!--NeedCopy-->
    
  2. function read_non_domain_joined_info()を見つけて、NonDomainJoinedの値を2に変更します。例として、次のコードブロックを参照してください。

    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. 変更を保存します。

  4. テンプレート仮想マシンをシャットダウンします。

手順4:テンプレート仮想マシンからLinux VMを作成する

ドメイン非参加テンプレート仮想マシンの準備ができたら、次の手順に従ってVMを作成します:

  1. Citrix Cloudにサインインします。

  2. Citrix DaaSをダブルクリックして、[完全な構成]管理コンソールにアクセスします。

  3. [マシンカタログ] で、Machine Creation Servicesを使用してテンプレート仮想マシンからLinux VMを作成することを選択します。詳しくは、Citrix DaaSドキュメントの「ドメイン非参加のVDA」を参照してください。

手順5:Linux VMにAADユーザーアカウントを割り当てる

ドメイン非参加VMを作成したら、それらにAADユーザーアカウントを割り当てます。

AADユーザーアカウントをVMに割り当てるには、次の手順に従います:

  1. 管理者アカウントを使用してVMにアクセスします。
  2. [Identify]>[System assigned] タブで、[System Identity] を有効にします。

    AADでのログインを有効にする設定

  3. [Access control (IAM)]>[Role assignments] タブで、[Virtual Machine User Login] の欄を見つけ、必要に応じてAADユーザーアカウントを追加します。

    AADでのログインを有効にする設定

ドメイン非参加VDAへのログオン

組織内のエンドユーザーは、ドメイン非参加VDAに2つの方法でログオンできます。詳細な手順は次のとおりです:

  1. Workspaceアプリを起動し、AADユーザー名とパスワードを入力してワークスペースにログオンします。[Workspace]ページが開きます。
  2. ドメイン非参加デスクトップをダブルクリックします。[AAD LOGIN]ページが表示されます。

    このページは、VDAで設定されているログインモード(デバイスコードまたはAADアカウント/パスワード)によって異なります。デフォルトでは、Linux VDAは、次のようにデバイスコードログインモードを使用してAADユーザーを認証します。管理者は、必要に応じて、ログインモードをAADアカウント/パスワードに変更できます。手順について詳しくは、以降のセクションを参照してください。

    AADでのログインを有効にする設定

  3. 画面の指示に基づいて、次のいずれかの方法でデスクトップセッションにログオンします:
    • QRコードをスキャンして、コードを入力します。
    • AADユーザー名とパスワードを入力します。

AADアカウント/パスワードログインモードへの変更

デフォルトでは、Linux VDAはデバイスコードを使用してAADユーザーを認証します。詳しくは、Microsoft社の記事を参照してください。ログインモードを [AADアカウント/パスワード] に変更するには、次の手順を実行します:

VDAで次のコマンドを実行し、AADAcctPwdAuthEnableキーを見つけて、その値を0x00000001に変更します。

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

<!--NeedCopy-->

注:

この方法は、Microsoftアカウント、または2要素認証が有効になっているアカウントでは使えません。