IDベース認証でAzureFilesにユーザプロファイルを保存する

この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。

はじめに

AVDをマルチセッションで使う、もしくは複数のセッションホストで運用する際にほぼ100%ユーザプロファイルの保存先の検討を行うかと思います。
移動ユーザプロファイルやFsLogixを使用して外部ストレージもしくはサーバなどから参照する方法が一般的かと思いますが、今回はAzureFilesにユーザプロファイルを保存する方法をご紹介しようと思います。
AzureFilesを使用することで、AzurePortal上でユーザプロファイルの管理が行えるなど管理面のメリットやバックアップが容易であるといったメリットがありますので、保存先の一つとして検討してみてはいかがでしょうか。
https://docs.microsoft.com/ja-jp/azure/storage/files/storage-files-active-directory-overview

想定シナリオ

今回想定している環境としては
AzureADと同期しているADサーバを使ってAVDを構築し、そのAVDのセッションホストのユーザプロファイルをIDベース認証を使用したファイル共有にてAzureFiles上に保存・参照する方法をご紹介いたします。
※図赤矢印を構成する手順です。
※検証ではオンプレミスの想定環境もAzure上で構成してます。

手順

既にAVDのデプロイが完了している前提とし、AVDの構築手順は割愛します。
また、ユーザプロファイルのローミングにはFsLogixを使用して構築していきます。
1.AzureFiles設定(リソース作成)①(AzurePortal)
2.AzureFilesのAD DS 認証有効化(ADサーバ)
3.AzureFiles設定(ロール割り当て)②(AzurePortal)
4.FsLogix設定(各セッションホスト)
5.確認

といった手順で構築してきます。

1.AzureFiles設定(リソース作成)①(AzurePortal)

まずは Azure上で ストレージアカウントをデプロイしていきます。
既存のストレージアカウントがある場合は次のAzureFilesの作成から始めてください。
このストレージアカウントの作成には特に注意点はありません。
ネットワーク接続はドメインコントローラーからアクセスできるように設定しましょう。

デプロイが完了したらリソースに移動し、AzureFilesを作成します。
ファイル共有名は任意で問題ありません。これでリソース作成は完了です。
次にADサーバにて作業を実施します。

なお、この時点でActive Directoryの構成は”構成されていません”になっていますが、2の手順で構成済みへとかわります。

2.AzureFilesのAD DS 認証有効化(ADサーバ)

以下のリンクよりAzFilesHybridモジュールをインストールして任意のフォルダに展開してください。(説明ではC:\tempに展開しているので配置場所が異なる場合は2行目のスクリプトを適宜変えてください)
https://github.com/Azure-Samples/azure-files-samples/releases

管理者権限でPowerShellを開き、以下のスクリプトを一行ずつ実施してください。
※一行ずつ実施しないと失敗することが多々ありました。
※事前にAzモジュールをインストールしておいてください。
https://docs.microsoft.com/ja-jp/powershell/azure/install-az-ps?view=azps-6.3.0&viewFallbackFrom=azps-2.8.0

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
cd C:\temp\AzFilesHybrid
.\CopyToPSPath.ps1 
Import-Module -Name AzFilesHybrid
Connect-AzAccount

$SubscriptionId = "<サブスクリプションID>"
$ResourceGroupName = "<リソースグループ名>"
$StorageAccountName = "<ストレージアカウント名>"
$DomainAccountType = "<ComputerAccount or ServiceLogonAccount,どちらかを記載>"
$OuDistinguishedName = "<AzureFiles用のコンピュータアカウントを配置するOU>"
$EncryptionType = "<AES256|RC4|AES256,RC4>"

Join-AzStorageAccountForAuth `
        -ResourceGroupName $ResourceGroupName `
        -StorageAccountName $StorageAccountName `
        -DomainAccountType $DomainAccountType `
        -OrganizationalUnitDistinguishedName $OuDistinguishedName `
        -EncryptionType $EncryptionType

Update-AzStorageAccountAuthForAES256 -ResourceGroupName $ResourceGroupName -StorageAccountName $StorageAccountName

OUの指定は例を挙げておきます(ドメイン:wvd2.jpの場合)
例:$OuDistinguishedName = “CN=Computers,DC=wvd2,DC=jp”

成功するとADのユーザとコンピュータにストレージアカウント名のコンピュータアカウントが作成されます。

3.AzureFiles設定(ロール割り当て)②(AzurePortal)

再びAzurePortalにてAzureFilesを見てみましょう。
Active Directoryが構成済みになっているかと思います。

役割:記憶域ファイルデータのSMB共有の管理者特権の共同作成者
を選択し、メンバにはAVDを使用するADユーザを選択してください。

4.FsLogix設定(各セッションホスト)

最後にFsLogixの設定を行います。
FsLogixを使用する場合、グループポリシーにて管理してる方も多いかと思いますが、
今回はセッションホストが一台なので、直接レジストリを編集しています。

※インストール方法は割愛させていただきます。
FsLogixの設定がまだ行われていない場合は
下記ページ内のリンクより FsLogix をダウンロードし、AVDに展開した Windows 10 にインストールしてください
https://docs.microsoft.com/en-us/fslogix/install-ht

それでは、レジストリを編集します。ない設定がある場合は追加してください
HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles
DeleteLocalProfileWhenVHDShouldApply:1 (REG_DWORD)
Enabled:1 (REG_DWORD)
FlipFlopProfileDirectoryName :1(REG_DWORD)
VHDLocations:\\<ストレージアカウント名>.file.core.windows.net\<AzureFilesの共有名>
例:\\profilefolder08.file.core.windows.net\userprofile
上記の設定はPowerShellを使って設定も可能です。
その場合はセッションホストリソース画面からRunPowerShellScriptを活用してみてください

5.確認

まず、AzureFiles内に何もデータがないことを確認します
先ほどストレージアカウントを作成した際にパブリックエンドポイントの設定をしたためリソースは確認できないかと思います。
なので、まずはクライアントIPらのアクセスも許可してあげます
ストレージアカウントのネットワークからクライアントアドレスを許可してあげます。

すると、AzureFilesの中身が見えるようになったかと思います。

空であることを確認したら、AVDでログインしてAzureFilesにユーザプロファイルが作成されることを確認しましょう

FsLogixが適用されていることが確認できました。AzureFilesを確認すると

ユーザプロファイルが作成されていました。

まとめ

以上の手順でIDベース認証を用いてAzureFilesにユーザプロファイルを保管できました。
手順自体はそこまで複雑ではないので、検証等でストレージの管理を簡単に行いたい時など選択肢の一つとして
検討してみてはいかがでしょうか

いいね (この記事が参考になった人の数:3)
(↑参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルプロセス&テクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください