Azure Files に対して、Active Directory に登録されたユーザーを利用してWindows ACL (NTFS)アクセス権が設定できるようになりましたので、試してみたいと思います。
Azure Virtual Desktop のファイルサーバー&プロファイル置き場として利用できます。
さっそく、構成を確認してみましょう!
【構成条件】
・ADは、AzureADと同期している必要がある ※ADはオンプレでも可
・Azure Filesは、同期されたテナントと同じテナントに作成すること
※エンタープライズアプリケーションを利用する事で同期無しでも可能
・Azure Filesは、ドメインに参加する必要がある ※未同期ドメインでも可
・マルチフォレスト環境の場合は「フォレスト信頼」している必要がある
【管理者が行う設定】
①Azure FilesをActive Directoryにドメイン参加させる
②ユーザーアカウントに対してAzure Filesへの接続を許可するためのRBACを設定
③管理者用端末から、Azure Filesを管理者権限(ストレージアカウントキー)でマウント
④Azure Files内のファイルに対してWindows ACL (NTFS)設定を実施
【ユーザーからの接続の流れ】
ユーザーデバイスからAzure Filesをマウントするには、AzureADでの認証とAzure Filesへの接続許可、Windows ACL 認可が必要となります。
Azure Filesへの許可を与えるには、ストレージアカウントに対してRBAC設定を行います。
以下いずれかのロールが割り当てられたユーザーが対象となります。
・Storage File Data SMB Share Reader:読み取り
・Storage File Data SMB Share Contributor:読み取り/書き込み/削除
・Storage File Data SMB Share Elevated Contributor:読み取り/書き込み/削除/変更
※複数設定した場合、上位の権限が優先される。
※Readerを選択すると、NTFSで書き込みを許可しても読み取りとなる。
全体の流れ
Step1:Azure FilesでのActive Directory認証設定
Step2:ストレージアカウントでのRBAC設定
Step3:Windows ACL (NTFS)アクセス権の設定
※作業用端末は、Filesが参加する予定のドメインに参加済みである必要があります。
事前に[Active Directory][Azure AD Connect][Azure Files]を作成しておいてください。
・Active AD Connect の作成
・Azure ファイルストレージ の作成
Step1:Azure FilesでのActive Directory認証設定
Azure FilesでADを認証に利用するには、PowerShellを実行する必要があります。
ここからの作業は、Filesが参加する予定のドメインに参加済みの端末で行います。
※作業用端末が参加しているドメインにAzure Filesは参加します。
先ずは、作業に必要なコマンドレットをダウンロード
下記コマンドを実施し、Azure Filesをドメインに参加させます。
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
.\CopyToPSPath.ps1
Import-Module -Name AzFilesHybrid
Connect-AzAccount
$SubscriptionId = “<subscription>“
$ResourceGroupName = “<resource-group-name>“
$StorageAccountName = “<storage-account-name>“
Select-AzSubscription -SubscriptionId $SubscriptionId
Join-AzStorageAccountForAuth -ResourceGroupName $ResourceGroupName
-StorageAccountName $StorageAccountName
-DomainAccountType “<ComputerAccount/ServiceLogonAccount>“
-OrganizationalUnitDistinguishedName “OU=AF,DC=wvdwvd,DC=com”
-EncryptionType “<AES256/RC4/AES256,RC4>“
Update-AzStorageAccountAuthForAES256 -ResourceGroupName $ResourceGroupName -StorageAccountName $StorageAccountName
※AES256を選択した場合に実施
コンピュータアカウントが登録されているのが確認できます。
ADDS認証が有効になっているのが確認できます。
Step2:ストレージアカウントでのRBAC設定
Azure Filesへの接続を許可したいユーザー/グループを登録する。
[アクセス制御(IAM)]ー[+追加]ー[ロールの割り当ての追加]
※役割:ストレージファイルデータのSMB共有の管理者特権の共同作成者
※AzureAD上で作成したグループはNG
AD~AzureADとの同期ができない環境の場合
エンタープライズアプリケーションを作成し、RBACにて許可を与える事で、全ユーザーに対してアクセス許可を与える事ができます。
※PowerShellにて実施
$defaultPermission = “StorageFileDataSmbShareContributor”
$account = Set-AzStorageAccount -ResourceGroupName “<resource-group-name>“ -AccountName “<storage-account-name>“ -DefaultSharePermission $defaultPermission
$account.AzureFilesIdentityBasedAuth
Step3:Windows ACL (NTFS)アクセス権の設定
作業用端末にAzure Filesをマウントし、Windows ACL(NTFS)設定を実施します。
ストレージアカウントから、Filesマウント用のコマンドをコピーし、PowerShellにて実行
※管理者アカウントのRBAC設定は不要
マウントができました!
[Owner]を変更すると、自由にWindows ACL(NTFS)権限の設定が可能
ちなみに、下記のように共有フォルダを設定すると、FSlogix用のユーザープロファイル置き場として利用できます。
表示されるのは、自身のユーザープロファイルだけ
それでは、接続してみましょう!
ユーザー用のアカウント&端末にて実施
[\\wvdadds.file.core.windows.net\share] ※ID&Passは聞かれません。
マウント後のファイル操作はWindows ACL(NTFS)アクセス権に従います。
マルチフォレスト環境の場合
ユーザーアカウントが参加するドメインとAzure Filesが参加するドメインが別れている場合
信頼設定は「フォレスト信頼」 ※一方向でも可
UPNサフィックス[file.core.windows.net]を追加
※Filesが参加しているAD(wvdwvd.com)にて実施
上記を実施後、自動同期されている[*.file.core.windows.net]を有効化
※Filesが参加していないAD(wvd.com)にて実施