Amazon FSx for WindowsでABE(アクセスベースのディレクトリ列挙)の設定をしてみる

記事タイトルとURLをコピーする

こんにちは。 夏らしい強い日差しを求めている技術3課の島村です。

今年の梅雨は長いですね。 暑い中で冷えたアイスコーヒーを美味しく飲みたいものです。

さて、今回はFSxでABE(アクセスベースのディレクトリ列挙)の設定を行なっていきます。 本題に入る前にFSxの紹介とABE(アクセスベースのディレクトリ列挙)の説明を簡単します。

Amazon FSx for Windows

名前の通り、完全マネージドサービスで提供されているファイルシステムサービスです。 WindowsServerに構築されているため従来のWindowsServerで使用されている WindowsACLとも互換性があります。

最近既存ADとも連携ができるようになり、使い勝手がさらに向上しました。 より機能の詳細を知りたい方は公式ページを参照してみてください。 https://aws.amazon.com/jp/fsx/windows/

ABE(アクセスベースのディレクトリ列挙)

基本的にWindowsOSではアクセス権のないフォルダでも表示されてしまいますが ABEの設定を行うことにより、アクセス権のないフォルダは表示されなくなる機能です。

環境

今回、検証を行う環境を構成図にしてみました。 構成図の通り、ADサーバにFSxのファイルシステムをネットワークドライブとしてマウントしてABEの挙動を確認していきます。

前提

ADサーバとFSxは構築済みかつADサーバでFSxがマウントされている状態から進めていきます。 ADサーバとFSxの準備ができていない方は弊社鎌田がFSx構築のブログを書いておりますので 参考の上環境を作ってみてください。

http://blog.serverworks.co.jp/tech/2019/06/26/fsx-enable-your-active-directory/

検証に使用するユーザーは以下の権限で作成しています。

ユーザ名 権限
FSxUser Domain User
FSxAdmin Domain Admin

1.ABEの有効化

早速設定をやっていきます。 ABEはデフォルトでオフとなっているのでABEの有効化をしていきます。

まずはADサーバーにログインし、Powershellを管理者権限で実行します。

ファイル共有モジュールのダウンロードを行います

Install-Module -Name FileShareUtils

設定前の確認

Get-NetShare -server fs-xxxxxxxxxx."DomainName" -name "ShareFolderName"

設定前の確認をするとABEの設定がDisabledになっていることが確認できると思います。

PS C:\Users\test> Get-NetShare -server fs-xxxxxxxxxx."DomainName" -name "ShareFolderName"


Server              : amznfsxj2mdb1kk.serverworks.local
Name                : share
Path                : D:\share
Description         :
ABE                 : Disabled
CachingMode         : Manual
ShareACLText        : Everyone|FullControl
CurrentUses         : 1
ConcurrentUserLimit : -1
BranchCache         : Disabled
Flags               : 0
Type                : Disk Drive
ShareSDDL           : D:(A;;FA;;;WD)
ShareACL            : System.Security.AccessControl.DirectorySecurity

ABEの有効化

以下のコマンドを実行してABEの有効化を行います。

Set-NetShare -server fs-xxxxxxxxxx."DomainName" -name "ShareFolderName" -abe enabled

設定後の確認

ABEが有効になっているかを確認します。

Get-NetShare -server fs-xxxxxxxxxx."DomainName" -name ShareFolderName

ABEの設定がEnabledになりました!

PS C:\Users\test> Get-NetShare -server fs-xxxxxxxxxx."DomainName" -name "ShareFolderName"


Server              : amznfsxj2mdb1kk.serverworks.local
Name                : share
Path                : D:\share
Description         :
ABE                 : Enabled
CachingMode         : Manual
ShareACLText        : Everyone|FullControl
CurrentUses         : 1
ConcurrentUserLimit : -1
BranchCache         : Disabled
Flags               : 2048
Type                : Disk Drive
ShareSDDL           : D:(A;;FA;;;WD)
ShareACL            : System.Security.AccessControl.DirectorySecurity

これで有効化が終わりました。 実際に動きを確認していきましょう。

2.ABE有効化の反映確認

フォルダを2つ作成します。 ※名前は任意です。

権限は次の通りとなっています。

以下の通り権限を設定します。 親フォルダの"Share"から継承を受けている状態となるので継承を無効化にして設定を行なってください。 ただし、SYSTEMグループだけは削除しないでください。ファイルシステムやフォルダが利用できなくなる可能性があります。

さて、これで準備ができたので各ユーザーでログインして試してみます。

FSxUserでログインした結果

FSxAdminでログインした結果

うまくいきました!! ABEの制御できていてアクセス権のあるフォルダのみ表示されていると思います!

最後に

フルマネージドサービスのFSxでもABEによる制御ができました。 オンプレミスのファイルサーバの移行を考えている方はFSxを選択肢に入れてみてはいかがでしょうか。

島村 輝 (Shimamura Hikaru) 記事一覧はコチラ

SRE2課所属。キャンプと内燃機関が大好きです。