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、18.04
    • RHEL 8.6、8.4、7.9
    • SUSE 15.3

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

既知の問題と回避策

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

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

既知の問題の回避策

手順 1:Azure portalでのテンプレートVMの作成

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

  1. Azure portalでテンプレートVMを作成します。[管理] タブで [Azure ADでログイン] を選択してから [確認 + 作成] をクリックしてください。

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

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

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

マスターイメージを準備するには、AzureでMCSを使用してLinux VMを作成する「手順 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 Creation Servicesを使用してテンプレートVMからLinux VMを作成することを選択します。詳細については、Citrix DaaSの記事「ドメイン非参加」を参照してください。

手順 5:Linux VMへのAADユーザーアカウントの割り当て

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

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

  1. 管理者アカウントを使用してVMにアクセスします。
  2. [ID] > [システム割り当て済み] タブで、[システムID] を有効にします。

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

  3. [アクセス制御 (IAM)] > [ロールの割り当て] タブで、[仮想マシンユーザーログイン] 領域を見つけて、必要に応じて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要素認証が有効になっているアカウントでは機能しません。