Linux Virtual Delivery Agent

Azure Active Directoryによる認証

注:

この機能は、AzureでホストされているVDAでのみ利用可能です。

  • ニーズに応じて、Azureに2種類のLinux VDAを展開できます。

  • Azure AD DSに参加しているVM。VMはAzure Active Directory (AAD) Domain Services (DS) マネージド ドメインに参加しています。ユーザーはドメイン資格情報を使用してVMにログオンします。
  • ドメインに参加していないVM。VMはAAD IDサービスと統合してユーザー認証を提供します。ユーザーはAAD資格情報を使用してVMにログオンします。

  • AAD DSとAADの詳細については、このMicrosoftの記事を参照してください。

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

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

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

詳細については、このMicrosoftの記事を参照してください。

既知の問題と回避策

RHEL 7.9では、PAM (Pluggable Authentication Module) のpam_loginuid.soがAADユーザー認証後にloginuidの設定に失敗します。この問題により、AADユーザーはVDAセッションにアクセスできません。

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

既知の問題の回避策

ステップ 1: AzureポータルでのテンプレートVMの作成

テンプレートVMを作成し、そのVMにAzure CLIをインストールします。

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

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

  2. テンプレートVMにAzure CLIをインストールします。 詳細については、このMicrosoftの記事を参照してください。

ステップ 2: テンプレートVMでのマスターイメージの準備

マスターイメージを準備するには、「Machine Creation Services (MCS) を使用したLinux VDAの作成」のステップ 3: マスターイメージの準備に従ってください。

ステップ 3: テンプレートVMを非ドメイン参加モードに設定

マスターイメージを作成したら、次の手順に従って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. テンプレートVMをシャットダウンします。

ステップ 4: テンプレートVMからのLinux VMの作成

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

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

  2. Citrix DaaS™をダブルクリックし、Full Configuration管理コンソールにアクセスします。

  3. [Machine Catalogs] で、Machine Creation Servicesを使用してテンプレートVMからLinux VMを作成することを選択します。詳細については、Citrix DaaSの記事「非ドメイン参加」を参照してください。

ステップ 5: Linux VMへのAADユーザーアカウントの割り当て

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

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

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

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

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

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

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

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

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

    このページは、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要素認証が有効になっているアカウントでは機能しません。