Azure Files と Active Directory Domain Services または Microsoft Entra Domain Services を使用して FSLogix プロファイル コンテナーを設定する

この記事では、セッション ホスト仮想マシン (VM) が Active Directory Domain Services (AD DS) ドメインまたは Microsoft Entra Domain Services マネージド ドメインに参加している場合に、Azure Files を使用して FSLogix プロファイル コンテナーを設定する方法について説明します。

前提条件

次が必要です。

  • セッション ホストが AD DS ドメインまたは Microsoft Entra Domain Services マネージド ドメインに参加し、ユーザーが割り当てられているホスト プール。
  • プロファイル コンテナーを使用するユーザーを含むドメイン内のセキュリティ グループ。 AD DS を使用している場合は、これを Microsoft Entra ID に同期する必要があります。
  • ストレージ アカウントを作成し、ロールの割り当てを追加するための Azure サブスクリプションに対するアクセス許可。
  • コンピューターをドメインに参加させ、管理者特権の PowerShell プロンプトを開くためのドメイン アカウント。
  • ご自分のストレージ アカウントが含まれる Azure サブスクリプションのサブスクリプション ID。
  • ストレージ アカウントをドメインに参加させる PowerShell モジュールをインストールして実行するための、ドメインに参加しているコンピューター。 このデバイスは、Windows のサポートされているバージョンを実行している必要があります。 代わりに、セッション ホストを使用することもできます。

重要

使用したいセッション ホストにユーザーが以前にサインインしたことがある場合は、そのユーザーのローカル プロファイルが作成されており、そのプロファイルをプロファイル コンテナーに保存するには、まず管理者がそのプロファイルを削除する必要があります。

プロファイル コンテナーのストレージ アカウントを設定する

ストレージ アカウントを設定するには:

  1. Azure portal にサインインします。

  2. 検索バーでストレージ アカウントを検索します。

  3. [+ 作成] を選択します。

  4. [ストレージ アカウントの作成] ページの [基本] タブで、次の情報を入力します。

    • ストレージ アカウントを保存するリソース グループを新しく作成するか、既存のものを選びます。
    • ストレージ アカウント用に一意の名前を入力します。 このストレージ アカウント名は 3 から 24 文字にする必要があります。
    • [リージョン] については、Azure Virtual Desktop ホスト プールと同じ場所を選択することをお勧めします。
    • [パフォーマンス] には最低でも [Standard] を選びます。
    • Premium パフォーマンスを選んだ場合は、[Premium アカウントの種類][ファイル共有] に設定します。
    • [冗長] には最低でも [ローカル冗長ストレージ (LRS)] を選びます。
    • 残りのタブの既定値は変更する必要はありません。

    ヒント

    組織によっては、これらの既定値を変更する要件がある場合があります。

  5. [Review + create](レビュー + 作成) を選択します。 使用するパラメーターと値を確認し、[作成] を選びます。

  6. ストレージ アカウントが作成されたら、[リソースに移動] を選びます。

  7. [データ ストレージ] セクションで、[ファイル共有] を選びます。

  8. [+ ファイル共有] を選択します。

  9. [名前] (プロファイル など) を入力し、レベルには [トランザクション最適化] を選びます。

ストレージ アカウントを Active Directory に参加させる

ファイル共有の共有アクセス許可に Active Directory アカウントを使用するには、AD DS または Microsoft Entra Domain Services をソースとして有効にする必要があります。 このプロセスにより、ストレージ アカウントがドメインに参加し、コンピューター アカウントとして表されます。 シナリオの下にある関連タブを選択し、手順に従います。

  1. AD DS ドメインに参加しているコンピューターにサインインします。 または、いずれかのセッション ホストにサインインします。

  2. Azure Files サンプル GitHub リポジトリから最新バージョンの AzFilesHybrid をダウンロードして抽出します。 ファイルの抽出先のフォルダーをメモしておきます。

  3. 管理者特権の PowerShell プロンプトを開き、ファイルの抽出先のディレクトリに変更します。

  4. 次のコマンドを実行して、AzFilesHybrid モジュールをユーザーの PowerShell モジュール ディレクトリに追加します。

    .\CopyToPSPath.ps1
    
  5. 次のコマンドを実行して、AzFilesHybrid モジュールをインポートします。

    Import-Module -Name AzFilesHybrid
    

    重要

    このモジュールには、PowerShell ギャラリーAzure PowerShell が必要です。 これらがまだインストールされていない場合、または更新が必要な場合は、インストールするように求められる場合があります。 求められたら、それらをインストールしてから、PowerShell のすべてのインスタンスを閉じます。 管理者特権の PowerShell プロンプトを再度開き、AzFilesHybrid モジュールをもう一度インポートしてから続行します。

  6. 次のコマンドを実行して Azure にサインインします。 次のいずれかのロールベースのアクセス制御 (RBAC) ロールを持つアカウントを使用する必要があります。

    • ストレージ アカウントの所有者
    • 所有者
    • Contributor
    Connect-AzAccount
    

    ヒント

    Azure アカウントが複数のテナントやサブスクリプションにアクセスできる場合は、コンテキストを設定して適切なサブスクリプションを選ぶ必要があります。 詳しくは、「Azure PowerShell コンテキスト オブジェクト」をご覧ください

  7. 次のコマンドを実行して、ストレージ アカウントをドメインに参加させ、$subscriptionId$resourceGroupName$storageAccountName の値を実際の値に置き換えます。 パラメーター -OrganizationalUnitDistinguishedName を追加して、コンピューター アカウントを配置する組織単位 (OU) を指定することもできます。

    $subscriptionId = "subscription-id"
    $resourceGroupName = "resource-group-name"
    $storageAccountName = "storage-account-name"
    
    Join-AzStorageAccount `
        -ResourceGroupName $ResourceGroupName `
        -StorageAccountName $StorageAccountName `
        -DomainAccountType "ComputerAccount"
    
  8. ストレージ アカウントがドメインに参加したことを確認するには、次のコマンドを実行して出力を確認し、$resourceGroupName$storageAccountName の値を実際の値に置き換えます。

    $resourceGroupName = "resource-group-name"
    $storageAccountName = "storage-account-name"
    
    (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName).AzureFilesIdentityBasedAuth.DirectoryServiceOptions; (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName).AzureFilesIdentityBasedAuth.ActiveDirectoryProperties
    

重要

ドメインでパスワードの有効期限が適用されている場合は、有効期間が切れる前にパスワードを更新し、Azure ファイル共有にアクセスするときの認証エラーを防ぐ必要があります。 詳細については、「AD DS のストレージ アカウント ID のパスワードを更新する」を参照してください。

RBAC ロールをユーザーに割り当てる

ファイル共有にプロファイルを保存する必要があるユーザーには、それにアクセスするためのアクセス許可が必要です。 これを行うには、各ユーザーに "記憶域ファイル データの SMB 共有の共同作成者" ロールを割り当てる必要があります。

ユーザーにロールを割り当てるには:

  1. Azure portal からストレージ アカウントを参照してから、前に作成したファイル共有を参照します。

  2. [アクセス制御 (IAM)] を選択します。

  3. [+ 追加] を選び、ドロップダウン メニューから [ロールの割り当ての追加] を選びます。

  4. [記憶域ファイル データの SMB 共有の共同作成者] を選び、[次へ] を選びます。

  5. [メンバー] タブで、[ユーザー、グループ、またはサービス プリンシパル] を選んでから、[+ メンバーの選択] を選びます。 検索バーで、プロファイル コンテナーを使用するユーザーを含むセキュリティ グループを検索して選びます。

  6. [レビューと割り当て] を選択して、割り当てを完了します。

NTFS アクセス許可を設定する

次に、フォルダーに NTFS アクセス許可を設定する必要があります。これには、ストレージ アカウントのアクセス キーを取得する必要があります。

ストレージ アカウントのアクセス キーを取得するには:

  1. Azure portal の検索バーで、ストレージ アカウントを検索して選びます。

  2. ストレージ アカウントの一覧から、ID ソースとして Active Directory Domain Services または Microsoft Entra Domain Services を有効にし、前のセクションで RBAC ロールを割り当てたアカウントを選択します。

  3. [セキュリティとネットワーク] で、[アクセス キー] を選び、key1 からキーを表示してコピーします。

フォルダーに適切な NTFS アクセス許可を設定するには:

  1. ホスト プールの一部であるセッション ホストにサインインします。

  2. 管理者特権の PowerShell プロンプトを開き、次のコマンドを実行して、ストレージ アカウントをセッション ホスト上のドライブとしてマップします。 マップ済みドライブはエクスプローラーに表示されませんが、net use コマンドを使用して表示できます。 これにより、共有に対するアクセス許可を設定できます。

    net use <desired-drive-letter>: \\<storage-account-name>.file.core.windows.net\<share-name> <storage-account-key> /user:Azure\<storage-account-name>
    
    • <desired-drive-letter> を、選択したドライブ文字 (y: など) に置き換えます。
    • <storage-account-name> の両方のインスタンスを、以前に指定したストレージ アカウントの名前に置き換えます。
    • <share-name> を、以前に作成した共有の名前に置き換えます。
    • <storage-account-key> を、Azure からのストレージ アカウント キーに置き換えます。

    次に例を示します。

    net use y: \\fsprofile.file.core.windows.net\share HDZQRoFP2BBmoYQ(truncated)== /user:Azure\fsprofile
    
  3. 次のコマンドを実行して、他のユーザーのプロファイルへのアクセスをブロックしながら、Azure Virtual Desktop ユーザーが自身のプロファイルを作成できるように、共有にアクセス許可を設定します。 プロファイル コンテナーを使用するユーザーを含む Active Directory セキュリティ グループを使用する必要があります。 次のコマンドで、<mounted-drive-letter> をドライブのマップに使用したドライブの文字に、<DOMAIN\GroupName> を共有へのアクセスを必要とする Active Directory グループのドメインおよび sAMAccountName に置き換えます。 ユーザーのユーザー プリンシパル名 (UPN) を指定することもできます。

    icacls <mounted-drive-letter>: /grant "<DOMAIN\GroupName>:(M)"
    icacls <mounted-drive-letter>: /grant "Creator Owner:(OI)(CI)(IO)(M)"
    icacls <mounted-drive-letter>: /remove "Authenticated Users"
    icacls <mounted-drive-letter>: /remove "Builtin\Users"
    

    次に例を示します。

    icacls y: /grant "CONTOSO\AVDUsers:(M)"
    icacls y: /grant "Creator Owner:(OI)(CI)(IO)(M)"
    icacls y: /remove "Authenticated Users"
    icacls y: /remove "Builtin\Users"
    

プロファイル コンテナーを使用するようにセッション ホストを構成する

プロファイル コンテナーを使用するには、FSLogix Apps がセッション ホスト VM にインストールされていることを確認する必要があります。 FSLogix Apps は、Windows 10 Enterprise マルチセッションおよびWindows 11 Enterprise マルチセッションのオペレーティング システムにプレインストールされていますが、最新バージョンがインストールされていない可能性があるため、以下の手順に従う必要があります。 カスタム イメージを使用している場合は、イメージに FSLogix Apps をインストールできます。

プロファイル コンテナーを構成するには、グループ ポリシーの基本設定を使用して、すべてのセッション ホストにわたってレジストリ キーと値を大規模に設定することをお勧めします。 カスタム イメージでこれらを設定することもできます。

セッション ホスト VM でプロファイル コンテナーを構成するには:

  1. カスタム イメージの作成に使用した VM にサインインするか、ホスト プールからセッション ホスト VM にサインインします。

  2. FSLogix Apps をインストールまたは更新する必要がある場合は、FSLogix の最新バージョンをダウンロードし、FSLogixAppsSetup.exe を実行してインストールし、セットアップ ウィザードの手順に従います。 カスタマイズや無人インストールなど、インストール プロセスの詳細については、「FSLogix をダウンロードしてインストールする」を参照してください。

  3. 管理者特権の PowerShell プロンプトを開き、次のコマンドを実行し、\\<storage-account-name>.file.core.windows.net\<share-name> を前に作成したストレージ アカウントへの UNC パスに置き換えます。 これらのコマンドを実行すると、プロファイル コンテナーが有効になり、共有の場所が構成されます。

    $regPath = "HKLM:\SOFTWARE\FSLogix\profiles"
    New-ItemProperty -Path $regPath -Name Enabled -PropertyType DWORD -Value 1 -Force
    New-ItemProperty -Path $regPath -Name VHDLocations -PropertyType MultiString -Value \\<storage-account-name>.file.core.windows.net\<share-name> -Force
    
  4. カスタム イメージまたはセッション ホスト VM の作成に使用する VM を再起動します。 残りのセッション ホスト VM に対して、これらの手順を繰り返す必要があります。

これで、プロファイル コンテナーの設定が完了しました。 カスタム イメージにプロファイル コンテナーをインストールする場合は、カスタム イメージの作成を完了する必要があります。 詳細については、Azure でカスタム イメージを作成するの「最終的なスナップショットを取得する」セクションの手順に従ってください。

プロファイルの作成を検証する

プロファイル コンテナーのインストールと構成が完了したら、ホスト プール上のアプリケーション グループまたはデスクトップが割り当てられているユーザー アカウントにサインインして、デプロイをテストできます。

ユーザーが以前にサインインしたことがある場合は、このセッションの間に使用する既存のローカル プロファイルがあります。 最初にローカル プロファイルを削除するか、テストに使用する新しいユーザー アカウントを作成します。

ユーザーは、次の手順に従って、プロファイル コンテナーが設定されていることを確認できます。

  1. テスト ユーザーとして Azure Virtual Desktop にサインインします。

  2. ユーザーがサインインすると、デスクトップに到達する前に、サインイン プロセスの一部として "FSLogix Apps Services を待機してください" というメッセージが表示されます。

管理者は、次の手順に従ってプロファイル フォルダーが作成されていることを確認できます。

  1. Azure portal を開きます。

  2. 前に作成したストレージ アカウントを開きます。

  3. ストレージ アカウントで [データ ストレージ] に移動し、[ファイル共有] を選びます。

  4. ファイル共有を開き、作成したユーザー プロファイル フォルダーがそこにあることを確認します。

次の手順

Azure Files 用の FSlogix プロファイル コンテナーに関連する概念の詳細な情報については、Azure Files 用の FSlogix プロファイル コンテナーに関するページをご覧ください。