Azure Files で Active Directory 認証を試す!

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)にて実施