[Amazon FSx for NetApp ONTAP] ファイル共有のACLでReadのみの明示的なDenyをONTAPが認識できるのか確認してみた
ONTAP上では No Access と表現されているけどReadのみの明示的なDenyって設定できるのだとうか
こんにちは、のんピ(@non____97)です。
皆さんはしたいなと思ったことはありますか? 私はあります。
以下記事で紹介しているとおり、ONTAPではReadのみやRead/Changeのみの明示的なDenyはできません。全てNo Acceessと設定することになります。
そのため、仮にReadのみの明示的なDenyを設定したい場合はONTAP CLIやONTAP REAST APIではなく、MMCスナップインなどから設定変更することになります。
この場合、ONTAPとしてReadのみの明示的なDenyを受け付け、認識してくれるのでしょうか。
実際に試してみます。
なお、私個人としてはReadやChangeは拒否して、所有者やアクセス権の変更を暗黙的に許可するシチュエーションやメリットは思いつきません。Readが拒否されているのであれば、他の操作も拒否される形(= Full ControlでDeny)でも良いのではと考えます。
いきなりまとめ
- ONTAP上でもファイル共有のACLでReadのみの明示的なDenyは認識できる
- 内部的にアクセスマスクが変わる
やってみた
ファイル共有の作成
早速やってみましょう。
AD DCについては以下記事の検証で使用したものを流用します。
SMBサーバーがドメインに参加していることを確認して、ファイル共有を作成します。
::> set diag Warning: These diagnostic commands are for use by NetApp personnel only. Do you want to continue? {y|n}: y FsxId01ca0ec2962673930::*> cifs show -instance Vserver: svm CIFS Server NetBIOS Name: SHARE-TEST NetBIOS Domain/Workgroup Name: CORP Fully Qualified Domain Name: CORP.NON-97.NET Organizational Unit: OU=FSxForONTAP,DC=corp,DC=non-97,DC=net Default Site Used by LIFs Without Site Membership: Workgroup Name: - Kerberos Realm: - Authentication Style: domain CIFS Server Administrative Status: up CIFS Server Description: List of NetBIOS Aliases: - FsxId01ca0ec2962673930::*> cifs share show Vserver Share Path Properties Comment ACL -------------- ------------- ----------------- ---------- -------- ----------- svm c$ / oplocks - BUILTIN\Administrators / Full Control browsable changenotify show-previous-versions svm ipc$ / browsable - - 2 entries were displayed. ::*> volume show -fields security-style, junction-path vserver volume security-style junction-path ------- -------- -------------- ------------- svm svm_root unix / svm vol1 unix /vol1 svm vol_smb ntfs /vol_smb 3 entries were displayed. ::*> cifs share create -vserver svm -share-name smb-share -path /vol_smb FsxId01ca0ec2962673930::*> cifs share show Vserver Share Path Properties Comment ACL -------------- ------------- ----------------- ---------- -------- ----------- svm c$ / oplocks - BUILTIN\Administrators / Full Control browsable changenotify show-previous-versions svm ipc$ / browsable - - svm smb-share /vol_smb oplocks - Everyone / Full Control browsable changenotify show-previous-versions 3 entries were displayed.
作成したファイル共有のACLを確認します。
FsxId01ca0ec2962673930::*> cifs share access-control show -share smb-share Share User/Group User/Group Access Vserver Name Name Type Permission -------------- ----------- --------------------------- ----------- ----------- svm smb-share Everyone windows Full_Control FsxId01ca0ec2962673930::*> cifs share access-control show -share smb-share -instance Vserver: svm Share Name: smb-share User/Group Name: Everyone User or Group Type: windows Access Type: Full_Control Windows SID: S-1-1-0 Access mask: 1f01ff
EveryoneのFull Controlが付与されていますね。
No AccessのACEの設定
それではNo AccessのACEを追加します。
test-user01
というドメインユーザーに対して設定します。
::*> cifs share access-control create -share smb-share -user-or-group CORP\test-user01 -user-group-type windows -permission No_access FsxId01ca0ec2962673930::*> cifs share access-control show -share smb-share Share User/Group User/Group Access Vserver Name Name Type Permission -------------- ----------- --------------------------- ----------- ----------- svm smb-share CORP\test-user01 windows No_access svm smb-share Everyone windows Full_Control 2 entries were displayed. FsxId01ca0ec2962673930::*> cifs share access-control show -share smb-share -instance Vserver: svm Share Name: smb-share User/Group Name: CORP\test-user01 User or Group Type: windows Access Type: No_access Windows SID: S-1-5-21-38571244-2121234638-1230449559-1606 Access mask: 1f01ff Vserver: svm Share Name: smb-share User/Group Name: Everyone User or Group Type: windows Access Type: Full_Controlー Windows SID: S-1-1-0 Access mask: 1f01ff 2 entries were displayed.
設定できました。Access mask上ではどちらも1f01ff
です。これはFull Controlを表す際のアクセスマスクです。どうやらDenyの場合もAllowの場合もアクセスマスクは同じようですね。アクセスマスクの詳細は以下NetApp KBとMicrosoft公式ドキュメントをご覧ください。
それでは、ドメインのAdministratorでログインしているWindowsインスタンスでfsmgmt.msc
を起動します。
起動後、FSxN上のSMBサーバーに接続します。
SMBサーバー上のファイル共有一覧から作成したファイル共有を選択し、Share Permissions
を確認します。test-user01
に対してFull ControlでDenyになっていますね。
ReadとChangeのみDeny
ReadとChangeのみDenyにした場合、ONTAP上ではどのように認識されるのか確認します。
test-user01
に対してReadとChangeをDenyするように設定変更します。
設定変更後、ONTAP CLIから様子を見ます。
::*> cifs share access-control show -share smb-share Share User/Group User/Group Access Vserver Name Name Type Permission -------------- ----------- --------------------------- ----------- ----------- svm smb-share CORP\test-user01 windows No_access svm smb-share Everyone windows Full_Control 2 entries were displayed. FsxId01ca0ec2962673930::*> cifs share access-control show -share smb-share -instance Vserver: svm Share Name: smb-share User/Group Name: CORP\test-user01 User or Group Type: windows Access Type: No_access Windows SID: S-1-5-21-38571244-2121234638-1230449559-1606 Access mask: 1301bf Vserver: svm Share Name: smb-share User/Group Name: Everyone User or Group Type: windows Access Type: Full_Control Windows SID: S-1-1-0 Access mask: 1f01ff 2 entries were displayed.
アクセスマスクが1301bf
に変わっていました。Access TypeとしてはNo Accessのままですが、内部的には正しく認識してくれていそうです。
ReadのみDenyにした場合
ReadのみDenyにした場合も確認します。
test-user01
に対してReadをDenyするように設定変更します。
ONTAP CLIから様子を見ます。
::*> cifs share access-control show -share smb-share Share User/Group User/Group Access Vserver Name Name Type Permission -------------- ----------- --------------------------- ----------- ----------- svm smb-share CORP\test-user01 windows No_access svm smb-share Everyone windows Full_Control 2 entries were displayed. FsxId01ca0ec2962673930::*> cifs share access-control show -share smb-share -instance Vserver: svm Share Name: smb-share User/Group Name: CORP\test-user01 User or Group Type: windows Access Type: No_access Windows SID: S-1-5-21-38571244-2121234638-1230449559-1606 Access mask: 1200a9 Vserver: svm Share Name: smb-share User/Group Name: Everyone User or Group Type: windows Access Type: Full_Control Windows SID: S-1-1-0 Access mask: 1f01ff 2 entries were displayed.
今度はアクセスマスクが1200a9
に変わっていますね。問題なさそうです。
アクセスマスクをONTAP CLIで設定できるか
アクセスマスクはONTAP CLIから設定できるのでしょうか。気になってきました。
残念ながらできません。ファイル共有のACLを変更するコマンドを確認しましたが、アクセスマスクを指定するオプションはありませんでした。
::*> cifs share access-control create ? [ -vserver <vserver name> ] Vserver (default: svm) [-share] <Share> Share Name [-user-or-group] <TextNoCase> User/Group Name [ -user-group-type {windows|unix-user|unix-group} ] User or Group Type (default: windows) [-permission] <access rights> Access Type FsxId01ca0ec2962673930::*> cifs share access-control modify ? [ -vserver <vserver name> ] Vserver (default: svm) [-share] <Share> Share Name [-user-or-group] <TextNoCase> User/Group Name [ -user-group-type {windows|unix-user|unix-group} ] User or Group Type (default: windows) [[-permission] <access rights>] Access Type [ -winsid <windows sid> ] Windows SID FsxId01ca0ec2962673930::*> cifs share access-control modify -permission ? No_access No access Read Read Change Change Full_Control Full Control
MMCスナップインからACEを追加した場合
最後にMMCスナップインからACEを追加した場合も確認します。
test-user02
に対するReadとChangeのDenyをするACEを追加しました。
ONTAP CLIから様子を見ます。
::*> cifs share access-control show -share smb-share Share User/Group User/Group Access Vserver Name Name Type Permission -------------- ----------- --------------------------- ----------- ----------- svm smb-share CORP\test-user01 windows No_access svm smb-share CORP\test-user02 windows No_access svm smb-share Everyone windows Full_Control 3 entries were displayed. FsxId01ca0ec2962673930::*> cifs share access-control show -share smb-share -instance Vserver: svm Share Name: smb-share User/Group Name: CORP\test-user01 User or Group Type: windows Access Type: No_access Windows SID: S-1-5-21-38571244-2121234638-1230449559-1606 Access mask: 1200a9 Vserver: svm Share Name: smb-share User/Group Name: CORP\test-user02 User or Group Type: windows Access Type: No_access Windows SID: S-1-5-21-38571244-2121234638-1230449559-1607 Access mask: 1301bf Vserver: svm Share Name: smb-share User/Group Name: Everyone User or Group Type: windows Access Type: Full_Control Windows SID: S-1-1-0 Access mask: 1f01ff 3 entries were displayed.
test-user02
に対してNo Accessでアクセスマスクが1301bf
と意図したものになっていますね。
ファイル共有に対してReadのみ、ReadとChangeのみDenyしたい場合は手動で設定変更をしよう
ファイル共有のACLでReadのみの明示的なDenyをONTAPが認識できるのか確認しました。
答えとしては問題なく認識できます。
ただし、ONTAP CLIやONTAP REST APIでは操作できないため、ファイル共有に対してReadのみ、ReadとChangeのみDenyしたい場合は手動で設定変更をしましょう。
なお、ChangeのみDenyというのはMMCスナップイン等GUIからはできません。Changeのチェックボックスにチェックを入れると、自動でReadのチェックボックスにもチェックが入ります。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!