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
  • Debian 10

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

既知の問題と回避策

Red Hat 8.3 および 7.9 では、PAM (Pluggable Authentication Module) の pam_loginuid.so が AAD ユーザー認証後に loginuid の設定に失敗します。この問題により、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 でマスターイメージを準備

マスターイメージを準備するには、「MCS を使用して Azure に 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 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 要素認証が有効になっているアカウントでは機能しません。