[Amazon FSx for NetApp ONTAP] SVM作成時に「委任されたファイルシステム管理者グループ」を指定する場合の影響範囲を確認してみた

「委任されたファイルシステム管理者グループ」完全に理解した
2022.10.27

委任されたファイルシステム管理者グループってなんだ

こんにちは、のんピ(@non____97)です。

皆さんはAmazon FSx for NetApp ONTAP(以降FSx for ONTAP)のSVMを作成する際に指定することができる「委任されたファイルシステム管理者グループ」が何者かご存知ですか? 私は知りませんでした。

FSx for ONTAPのドキュメントを見ると以下のように記載がありました。

委任されたファイルシステム管理者グループ - ファイルシステムを管理できる Active Directory 内のグループ名。

AWS Managed Microsoft AD を使用している場合、AWS が委任した FSx 管理者、AWS 委任管理者などのグループを指定するか、または OU へのアクセス許可を委任されたカスタムグループを指定する必要があります。

自己管理型 AD に参加している場合は、AD でのグループ名を使用してください。デフォルトのグループは Domain Admins です。

FSx for ONTAP ファイルシステムの管理 - FSx for ONTAP

ファイルシステムを管理というのはどういうことでしょうか。謎が謎を呼んでいます。

AWS CLIでSVMを作成するcreate-storage-virtual-machineのドキュメントも確認してみましょう。

FileSystemAdministratorsGroup -> (string)

(Optional) The name of the domain group whose members are granted administrative privileges for the file system. Administrative privileges include taking ownership of files and folders, setting audit controls (audit ACLs) on files and folders, and administering the file system remotely by using the FSx Remote PowerShell. The group that you specify must already exist in your domain. If you don't provide one, your AD domain's Domain Admins group is used.

機械翻訳結果は以下の通りです。

(オプション) ファイルシステムの管理者特権を付与されたメンバーを持つドメイングループの名前です。管理特権には、ファイルやフォルダーの所有権の取得、ファイルやフォルダーへの監査コントロール(監査ACL)の設定、FSxリモートPowerShellを使用したファイルシステムのリモート管理などがあります。指定するグループは、ドメイン内に既に存在している必要があります。指定しない場合は、AD ドメインの Domain Admins グループが使用されます。

どのような設定なのか記載されており、大枠は理解できました。

ただ、この設定がFSx for ONTAP上のどこに設定されているのかは不明です。以下記事でも検証しましたが、マネジメントコンソールやAWS CLIからはSVMにどの委任されたファイルシステム管理者グループを指定したのか確認することができませんでした。

どこに設定されているかが分からないとCIFSサーバーを後からドメイン参加させる場合に、どのように設定すれば良いか分かりません。

ということで、SVM作成時に指定する「委任されたファイルシステム管理者グループ」について調べてみました。

いきなりまとめ

  • SVM作成時に「委任されたファイルシステム管理者グループ」を指定すると、SVMのローカルグループBUILTIN\Administratorsのメンバーに追加される
  • 指定しない場合はDomain Adminsがメンバーに追加される
  • 指定した場合もDomain Adminsはメンバーに追加される
  • CIFSサーバーをドメインから離脱させるとDomain AdminsBUILTIN\Administratorsから削除されるが、「委任されたファイルシステム管理者グループ」で指定したグループはメンバーに残ったまま

NetAppのドキュメントを漁る

NetAppのドキュメントを漁ってみます。

指定しない場合は、AD ドメインの Domain Admins グループが使用されます。というところから ONTAP Domain Adminsで検索すると以下のような表記をしているドキュメントがありました。

BUILTIN\Administrators RID 544

RIDが500のローカルAdministratorアカウントは、最初に作成された時点で自動的にこのグループのメンバーになります。Storage Virtual Machine(SVM)がドメインに参加すると、domain\Domain Adminsグループがこのグループに追加されます。SVMがドメインから削除されると、domain\Domain Adminsグループも、このグループから削除されます。

事前定義のBUILTINグループとそのデフォルトの権限

どうやらドメイン参加すると、Domai AdminsはSVMのBUILTIN\Administratorsに追加されるようです。

次にBUILTIN\Administratorsについて調べると以下のような記載を見つけました。

BUILTIN\Administrators から「 Domain Admins 」を削除すると、「 Domain Admins 」に属するメンバーは、 MMC を使用して CIFS 共有を管理できなくなります。 CIFS 共有レベルおよびファイルレベルの権限があれば、通常の CIFS 共有アクセスを引き続き使用できます。 MMC を使用して CIFS 共有を管理する必要がある特定のドメインユーザは、 SVM の BUILTIN\Administrators に明示的に追加する必要があります。

SVM の BUILTIN\Administrators から「 Domain Admins 」グループを削除すると効果がありますか。 - NetApp

BUILTIN\Administratorsに追加されているグループやユーザーは、MMCを使用してCIFSファイル共有を管理することができるようです。

確かにデフォルトで作成されるCIFSファイル共有c$のパスは/であり、BUILTIN\Administrators / Full Controlとなっていますね。

FsxId078d5a29bc3af27cc::> vserver cifs share show -vserver fsx-for-ontap-svm
Vserver        Share         Path              Properties Comment  ACL
-------------- ------------- ----------------- ---------- -------- -----------
fsx-for-ontap-svm                              oplocks             BUILTIN\Administrators / Full Control
               c$            /                 browsable  -
                                               changenotify
                                               show-previous-versions
fsx-for-ontap-svm                              oplocks             Everyone / Full Control
               cifs-share    /volume           browsable  -
                                               changenotify
                                               show-previous-versions
fsx-for-ontap-svm                              browsable
               ipc$          /                            -        -
3 entries were displayed.

以下記事で検証した通り、上位のジャンクションパスにアクセスすると下位のジャンクションパスのボリュームにもアクセスできるようになります。

裏を返せば、SVMのルートボリュームにアクセスできる権限を持たないと全てのボリュームにアクセスできる権限はないということになります。

これは重要です。

また、BUILTIN\Administratorsに割り当てられている権限は以下の通りです。

権限の名前 説明
SeBackupPrivilege ACL を無視してファイルとディレクトリをバックアップします
SeRestorePrivilege ファイルおよびディレクトリをリストアし、 ACL を上書きすべての有効なユーザまたはグループの SID をファイル所有者として設定します
SeSecurityPrivilege ファイルまたはその他のオブジェクトの所有権を取得します
SeTakeOwnershipPrivilege 監査の管理これには ' セキュリティ・ログの表示 ' ダンプ ' 消去が含まれます
SeChangeNotifyPrivilege トラバースチェックのバイパスこの権限を持つユーザは、フォルダ、シンボリックリンク、またはジャンクションをトラバースするためのトラバース( x )権限は必要ありません。

抜粋 : サポートされる権限のリスト

ドキュメントから「委任されたファイルシステム管理者グループ」を指定した場合の設定される場所や影響範囲が確認できました。

検証環境

ドキュメントを確認して終わりでは楽しくないので「委任されたファイルシステム管理者グループ」を指定した場合とそうでない場合を比較してみます。

検証環境は以下の通りです。

委任されたファイルシステム管理者グループの検証環境構成図

SVMを2つ作成して、SVM1は委任されたファイルシステム管理者グループを指定せずに作成し、SVM2は委任されたファイルシステム管理者グループを指定して作成します。

検証環境の準備

VPCはFSx for ONTAPはAWS CDKでデプロイします。

使用したコードは以下リポジトリに保存しています。

デプロイ後、作成されたVPC上にAD DCとなるWindows ServerのEC2インスタンスを起動させます。

その後、専用OUやサービスアカウント、委任されたファイルシステム管理者グループで使用するグループとユーザーなどSVMがドメイン参加するのに必要な設定を行います。

設定内容は以下記事の「ADの準備」の章で紹介していることと全く同じことをしています。

ADの準備が完了した後、AWS CLIでSVMを2つ作成します。

  • SVM1の作成 : 委任されたファイルシステム管理者グループを指定しない
# SVMを作成するときに使用するパラメーターの指定
$ filesystem_id=fs-002d269844fcf2a92
$ svm_name=svm1
$ net_bios_name=SVM1
$ domain_name=corp.non-97.net
$ organizational_unit_distinguished_name='OU=FSxForONTAP,DC=corp,DC=non-97,DC=net'
$ service_account_user_name=FSxServiceAccount
$ service_account_password='(-S8E(tqqN;N6Ae1GbbMlO@BQPGFZdh*'
$ dns_ip=10.0.1.10

$ create_storage_virtual_machine_input=$(cat <<EOM
{
    "ActiveDirectoryConfiguration": {
        "NetBiosName": "$net_bios_name",
        "SelfManagedActiveDirectoryConfiguration": {
            "DomainName": "$domain_name",
            "OrganizationalUnitDistinguishedName": "$organizational_unit_distinguished_name",
            "UserName": "$service_account_user_name",
            "Password": "$service_account_password",
            "DnsIps": [
                "$dns_ip"
            ]
        }
    },
    "FileSystemId": "$filesystem_id",
    "Name": "$svm_name",
    "Tags": [
        {
            "Key": "Name",
            "Value": "$svm_name"
        }
    ],
    "RootVolumeSecurityStyle": "NTFS"
}
EOM
)

# SVMの作成
$ create_storage_virtual_machine_output=$(aws fsx create-storage-virtual-machine \
    --cli-input-json "$create_storage_virtual_machine_input"
)

# aws fsx create-storage-virtual-machine のレスポンス確認
$ echo $create_storage_virtual_machine_output \
    | jq -r
{
  "StorageVirtualMachine": {
    "ActiveDirectoryConfiguration": {
      "NetBiosName": "SVM1",
      "SelfManagedActiveDirectoryConfiguration": {
        "DomainName": "corp.non-97.net",
        "OrganizationalUnitDistinguishedName": "OU=FSxForONTAP,DC=corp,DC=non-97,DC=net",
        "UserName": "FSxServiceAccount",
        "DnsIps": [
          "10.0.1.10"
        ]
      }
    },
    "CreationTime": "2022-10-27T00:18:32.627000+00:00",
    "Endpoints": {
      "Iscsi": {
        "DNSName": "iscsi.svm-0c31fb3c7a8c8b001.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com"
      },
      "Management": {
        "DNSName": "svm-0c31fb3c7a8c8b001.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com"
      },
      "Nfs": {
        "DNSName": "svm-0c31fb3c7a8c8b001.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com"
      },
      "Smb": {
        "DNSName": "SVM1.corp.non-97.net"
      }
    },
    "FileSystemId": "fs-002d269844fcf2a92",
    "Lifecycle": "PENDING",
    "Name": "svm1",
    "ResourceARN": "arn:aws:fsx:us-east-1:<AWSアカウントID>:storage-virtual-machine/fs-002d269844fcf2a92/svm-0c31fb3c7a8c8b001",
    "StorageVirtualMachineId": "svm-0c31fb3c7a8c8b001",
    "Subtype": "DEFAULT",
    "Tags": [
      {
        "Key": "Name",
        "Value": "svm1"
      }
    ]
  }
}

# SVMのID確認
$ svm1_id=$(echo $create_storage_virtual_machine_output \
    | jq -r ".StorageVirtualMachine.StorageVirtualMachineId"
)

# SVMが作成されたか確認
$ aws fsx describe-storage-virtual-machines \
    --storage-virtual-machine-ids "$svm1_id"
{
    "StorageVirtualMachines": [
        {
            "ActiveDirectoryConfiguration": {
                "NetBiosName": "SVM1",
                "SelfManagedActiveDirectoryConfiguration": {
                    "DomainName": "corp.non-97.net",
                    "OrganizationalUnitDistinguishedName": "OU=FSxForONTAP,DC=corp,DC=non-97,DC=net",
                    "UserName": "FSxServiceAccount",
                    "DnsIps": [
                        "10.0.1.10"
                    ]
                }
            },
            "CreationTime": "2022-10-27T00:18:32.627000+00:00",
            "Endpoints": {
                "Iscsi": {
                    "DNSName": "iscsi.svm-0c31fb3c7a8c8b001.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com",
                    "IpAddresses": [
                        "10.0.1.69",
                        "10.0.1.123"
                    ]
                },
                "Management": {
                    "DNSName": "svm-0c31fb3c7a8c8b001.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com",
                    "IpAddresses": [
                        "10.0.1.107"
                    ]
                },
                "Nfs": {
                    "DNSName": "svm-0c31fb3c7a8c8b001.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com",
                    "IpAddresses": [
                        "10.0.1.107"
                    ]
                },
                "Smb": {
                    "DNSName": "SVM1.corp.non-97.net",
                    "IpAddresses": [
                        "10.0.1.107"
                    ]
                }
            },
            "FileSystemId": "fs-002d269844fcf2a92",
            "Lifecycle": "CREATED",
            "Name": "svm1",
            "ResourceARN": "arn:aws:fsx:us-east-1:<AWSアカウントID>:storage-virtual-machine/fs-002d269844fcf2a92/svm-0c31fb3c7a8c8b001",
            "StorageVirtualMachineId": "svm-0c31fb3c7a8c8b001",
            "Subtype": "DEFAULT",
            "UUID": "f0a1b588-558c-11ed-807e-6f075f07b1b4"
        }
    ]
}
  • SVM2の作成 : 委任されたファイルシステム管理者グループを指定する
# SVMを作成するときに使用するパラメーターの指定
$ svm_name=svm2
$ net_bios_name=SVM2
$ filesystem_administrators_group=FSxAdminGroup

$ create_storage_virtual_machine_input=$(cat <<EOM
{
    "ActiveDirectoryConfiguration": {
        "NetBiosName": "$net_bios_name",
        "SelfManagedActiveDirectoryConfiguration": {
            "DomainName": "$domain_name",
            "OrganizationalUnitDistinguishedName": "$organizational_unit_distinguished_name",
            "FileSystemAdministratorsGroup": "$filesystem_administrators_group",
            "UserName": "$service_account_user_name",
            "Password": "$service_account_password",
            "DnsIps": [
                "$dns_ip"
            ]
        }
    },
    "FileSystemId": "$filesystem_id",
    "Name": "$svm_name",
    "Tags": [
        {
            "Key": "Name",
            "Value": "$svm_name"
        }
    ],
    "RootVolumeSecurityStyle": "NTFS"
}
EOM
)


# SVMの作成
$ create_storage_virtual_machine_output=$(aws fsx create-storage-virtual-machine \
    --cli-input-json "$create_storage_virtual_machine_input"
)

# aws fsx create-storage-virtual-machine のレスポンス確認
$ echo $create_storage_virtual_machine_output \
    | jq -r
{
  "StorageVirtualMachine": {
    "ActiveDirectoryConfiguration": {
      "NetBiosName": "SVM2",
      "SelfManagedActiveDirectoryConfiguration": {
        "DomainName": "corp.non-97.net",
        "OrganizationalUnitDistinguishedName": "OU=FSxForONTAP,DC=corp,DC=non-97,DC=net",
        "UserName": "FSxServiceAccount",
        "DnsIps": [
          "10.0.1.10"
        ]
      }
    },
    "CreationTime": "2022-10-27T00:21:53.832000+00:00",
    "Endpoints": {
      "Iscsi": {
        "DNSName": "iscsi.svm-0cf99a8eac9a6de02.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com"
      },
      "Management": {
        "DNSName": "svm-0cf99a8eac9a6de02.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com"
      },
      "Nfs": {
        "DNSName": "svm-0cf99a8eac9a6de02.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com"
      },
      "Smb": {
        "DNSName": "SVM2.corp.non-97.net"
      }
    },
    "FileSystemId": "fs-002d269844fcf2a92",
    "Lifecycle": "PENDING",
    "Name": "svm2",
    "ResourceARN": "arn:aws:fsx:us-east-1:<AWSアカウントID>:storage-virtual-machine/fs-002d269844fcf2a92/svm-0cf99a8eac9a6de02",
    "StorageVirtualMachineId": "svm-0cf99a8eac9a6de02",
    "Subtype": "DEFAULT",
    "Tags": [
      {
        "Key": "Name",
        "Value": "svm2"
      }
    ]
  }
}

# SVMのID確認
$ svm2_id=$(echo $create_storage_virtual_machine_output \
    | jq -r ".StorageVirtualMachine.StorageVirtualMachineId"
)

# SVMが作成されたか確認
$ aws fsx describe-storage-virtual-machines \
    --storage-virtual-machine-ids "$svm2_id"
{
    "StorageVirtualMachines": [
        {
            "ActiveDirectoryConfiguration": {
                "NetBiosName": "SVM2",
                "SelfManagedActiveDirectoryConfiguration": {
                    "DomainName": "corp.non-97.net",
                    "OrganizationalUnitDistinguishedName": "OU=FSxForONTAP,DC=corp,DC=non-97,DC=net",
                    "UserName": "FSxServiceAccount",
                    "DnsIps": [
                        "10.0.1.10"
                    ]
                }
            },
            "CreationTime": "2022-10-27T00:21:53.832000+00:00",
            "Endpoints": {
                "Iscsi": {
                    "DNSName": "iscsi.svm-0cf99a8eac9a6de02.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com",
                    "IpAddresses": [
                        "10.0.1.116",
                        "10.0.1.93"
                    ]
                },
                "Management": {
                    "DNSName": "svm-0cf99a8eac9a6de02.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com",
                    "IpAddresses": [
                        "10.0.1.103"
                    ]
                },
                "Nfs": {
                    "DNSName": "svm-0cf99a8eac9a6de02.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com",
                    "IpAddresses": [
                        "10.0.1.103"
                    ]
                },
                "Smb": {
                    "DNSName": "SVM2.corp.non-97.net",
                    "IpAddresses": [
                        "10.0.1.103"
                    ]
                }
            },
            "FileSystemId": "fs-002d269844fcf2a92",
            "Lifecycle": "CREATED",
            "Name": "svm2",
            "ResourceARN": "arn:aws:fsx:us-east-1:<AWSアカウントID>:storage-virtual-machine/fs-002d269844fcf2a92/svm-0cf99a8eac9a6de02",
            "StorageVirtualMachineId": "svm-0cf99a8eac9a6de02",
            "Subtype": "DEFAULT",
            "UUID": "6af011dd-558d-11ed-807e-6f075f07b1b4"
        }
    ]
}

各SVMの BUILTIN\Administrators のメンバーの確認

SVM作成後、FSx for ONTAPファイルシステムにSSHしてONTAP CLIでCIFSサーバーとCIFSファイル共有の確認をします。

# FSx for ONTAPファイルシステムにSSH
PS C:\Users\Administrator> ssh fsxadmin@management.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com
The authenticity of host 'management.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com (10.0.1.95)' can't be established.
ECDSA key fingerprint is SHA256:LUlHFVffsYV9QwUnWhcdlPCGpZW+03Spgbva8KYmCV0.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'management.fs-002d269844fcf2a92.fsx.us-east-1.amazonaws.com,10.0.1.95' (ECDSA) to the list of known hosts.
Password:

This is your first recorded login.

# 各SVMのCIFSファイル共有の確認
FsxId002d269844fcf2a92::> cifs share show
Vserver        Share         Path              Properties Comment  ACL
-------------- ------------- ----------------- ---------- -------- -----------
svm1           c$            /                 oplocks    -        BUILTIN\Administrators / Full Control
                                               browsable
                                               changenotify
                                               show-previous-versions
svm1           ipc$          /                 browsable  -        -
svm2           c$            /                 oplocks    -        BUILTIN\Administrators / Full Control
                                               browsable
                                               changenotify
                                               show-previous-versions
svm2           ipc$          /                 browsable  -        -
4 entries were displayed.

# 各SVMのCIFSサーバーを確認
FsxId002d269844fcf2a92::> cifs server show
            Server          Status    Domain/Workgroup Authentication
Vserver     Name            Admin     Name             Style
----------- --------------- --------- ---------------- --------------
svm1        SVM1            up        CORP             domain
svm2        SVM2            up        CORP             domain
2 entries were displayed.

どちらのSVMのCIFSサーバーも起動していますね。

それでは、BUILTIN\Administratorsのメンバーを確認します。

FsxId002d269844fcf2a92::> cifs users-and-groups local-group show-members
Vserver        Group Name                   Members
-------------- ---------------------------- ------------------------
svm1           BUILTIN\Administrators       SVM1\Administrator
                                            CORP\Domain Admins
               BUILTIN\Guests               CORP\Domain Guests
               BUILTIN\Users                CORP\Domain Users
svm2           BUILTIN\Administrators       SVM2\Administrator
                                            CORP\Domain Admins
                                            CORP\FSxAdminGroup
               BUILTIN\Guests               CORP\Domain Guests
               BUILTIN\Users                CORP\Domain Users
6 entries were displayed.

どちらのSVMのBUILTIN\AdministratorsにもCORP\Domain Adminsが所属しており、委任されたファイルシステム管理者グループをしたSVM2の方にはCORP\FSxAdminGroupも追加されていました。

Domain Adminsも追加されるというのがポイントですね。Domain Adminsには権限渡したくないという場合は、Domain Adminsvserver cifs users-and-groups local-group remove-membersで手動でメンバーから外す必要がありそうです。

委任されたファイルシステム管理者グループ内のユーザーでマウントできるか確認

次に委任されたファイルシステム管理者グループ内のユーザーでマウントできるか確認してみます。

まずは、比較用にドメインのAdministratorでマウントしてみます。当然ながらドメインのAdministratorはDomain Adminsのメンバーです。

# 現在のユーザーの確認
PS C:\Users\Administrator> whoami -fqdn
CN=Administrator,CN=Users,DC=corp,DC=non-97,DC=net

# Domain Adminsのメンバー確認
PS C:\Users\Administrator> Get-ADGroupMember -Identity 'Domain Admins'


distinguishedName : CN=Administrator,CN=Users,DC=corp,DC=non-97,DC=net
name              : Administrator
objectClass       : user
objectGUID        : 58baec07-4ab4-4707-ba62-c6af52894508
SamAccountName    : Administrator
SID               : S-1-5-21-38571244-2121234638-1230449559-500

それではSVM1のc$をZドライブに、SVM2のc$をYドライブにマウントしてみます。

# 現在のドライブ一覧
PS C:\Users\Administrator> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                               CurrentLocation
----           ---------     --------- --------      ----                                               ---------------
Alias                                  Alias
C                  14.72         15.28 FileSystem    C:\                                            Users\Administrator
Cert                                   Certificate   \
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan

# SVM1の c$ をZドライブにマウント
PS C:\Users\Administrator> net use Z: \\SVM1.corp.non-97.net\c$
The command completed successfully.

# SVM2の c$ をYドライブにマウント
PS C:\Users\Administrator> net use Y: \\SVM2.corp.non-97.net\c$
The command completed successfully.

# ZドライブとYドライブにそれぞれマウントされたことを確認
PS C:\Users\Administrator> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                         CurrentLocation
----           ---------     --------- --------      ----                                                         ---------------
AD                                     ActiveDire... //RootDSE/
Alias                                  Alias
C                  14.73         15.27 FileSystem    C:\                                                      Users\Administrator
Cert                                   Certificate   \
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan
Y                   0.00          0.95 FileSystem    \\SVM2.corp.non-97.net\c$
Z                   0.00          0.95 FileSystem    \\SVM1.corp.non-97.net\c$

委任されたファイルシステム管理者グループ内のユーザーFSxAdminでマウントできるか確認します。

# SSMセッションマネージャーで接続するときのユーザーで操作
PS C:\Windows\system32> whoami
ec2amaz-ko9o6l0\ssm-user

# SVM1の c$ をZドライブにマウント
# マウント時に委任されたファイルシステム管理者グループ内のユーザー FSxAdmin の認証情報を入力
PS C:\Windows\system32> net use Z: \\10.0.1.107\c$
The password is invalid for \\10.0.1.107\c$.

Enter the user name for '10.0.1.107': corp.non-97.net\FSxAdmin
Enter the password for 10.0.1.107:
System error 5 has occurred.

Access is denied.

# SVM2の c$ をZドライブにマウント
PS C:\Windows\system32> net use Z: \\10.0.1.103\c$
The password is invalid for \\10.0.1.103\c$.

Enter the user name for '10.0.1.103': corp.non-97.net\FSxAdmin
Enter the password for 10.0.1.103:
The command completed successfully.

# 現在のドライブ一覧を確認
PS C:\Windows\system32> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                                                    CurrentLocation
----           ---------     --------- --------      ----                                                                                    ---------------
Alias                                  Alias
C                  13.85         16.15 FileSystem    C:\                                                                                    Windows\system32
Cert                                   Certificate   \
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan
Z                   0.00          0.95 FileSystem    \\10.0.1.103\c$

委任されたファイルシステム管理者グループを指定しなかったSVM1のCIFSファイル共有にはマウント出来ず、委任されたファイルシステム管理者グループを指定したSVM2のCIFSファイル共有はマウント出来ました。

SVM1がかわいそうなので、手動でSVM1のBUILTIN\AdministratorsのメンバーにFSxAdminGroupを追加させます。

# SVM1の BUILTIN\Administrators のメンバーに FSxAdminGroup を追加
FsxId002d269844fcf2a92::> cifs users-and-groups local-group add-members -vserver svm1 -group-name BUILTIN\Administrators -member-names CORP\FSxAdminGroup

# SVM1の BUILTIN\Administrators のメンバーに FSxAdminGroup が追加されたことを確認
FsxId002d269844fcf2a92::> cifs users-and-groups local-group show-members
Vserver        Group Name                   Members
-------------- ---------------------------- ------------------------
svm1           BUILTIN\Administrators       SVM1\Administrator
                                            CORP\Domain Admins
                                            CORP\FSxAdminGroup
               BUILTIN\Guests               CORP\Domain Guests
               BUILTIN\Users                CORP\Domain Users
svm2           BUILTIN\Administrators       SVM2\Administrator
                                            CORP\Domain Admins
                                            CORP\FSxAdminGroup
               BUILTIN\Guests               CORP\Domain Guests
               BUILTIN\Users                CORP\Domain Users
6 entries were displayed.

追加されましたね。

それでは、SVM1のCIFSファイル共有に委任されたファイルシステム管理者グループ内のユーザーFSxAdminでマウントできるか確認します。

# SVM1の c$ をYドライブにマウント
PS C:\Windows\system32> net use Y: \\10.0.1.107\c$
The password is invalid for \\10.0.1.107\c$.

Enter the user name for '10.0.1.107': corp.non-97.net\FSxAdmin
Enter the password for 10.0.1.107:
The command completed successfully.

# マウント出来たことを確認
PS C:\Windows\system32> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                                                    CurrentLocation
----           ---------     --------- --------      ----                                                                                    ---------------
Alias                                  Alias
C                  13.85         16.14 FileSystem    C:\                                                                                    Windows\system32
Cert                                   Certificate   \
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan
Y                   0.00          0.95 FileSystem    \\10.0.1.107\c$
Z                   0.00          0.95 FileSystem    \\10.0.1.103\c$

BUILTIN\Administratorsに追加したおかげでマウントできました。

ドメインから離脱した場合の BUILTIN\Administrators のメンバー

最後にドメインから離脱した場合のBUILTIN\Administratorsのメンバーを確認してみます。

試しにSVM2をドメインからワークグループに変更します。

# どちらのCIFSサーバーもドメインに参加していることを確認
FsxId002d269844fcf2a92::> cifs server show
            Server          Status    Domain/Workgroup Authentication
Vserver     Name            Admin     Name             Style
----------- --------------- --------- ---------------- --------------
svm1        SVM1            up        CORP             domain
svm2        SVM2            up        CORP             domain
2 entries were displayed.

# SVM2のCIFSサーバーをドメインからワークグループに変更
FsxId002d269844fcf2a92::> cifs modify -vserver svm2 -cifs-server SVM2 -workgroup fsxn-workgroup -status-admin down

Warning: To enter workgroup mode, all domain-based features must be disabled and their configuration removed automatically by the system, including
         continuously-available shares and shadow copies. However, domain-configured share ACLs such as "CORP.NON-97.NET\userName" will not work properly,
         but cannot be removed by Data ONTAP. Remove these share ACLs as soon as possible using external tools after the command completes.
Do you want to continue? {y|n}: y

Successfully queued CIFS Server Modify job [id: 42] for CIFS server "SVM2". To view the status of the job, use the "job show -id <jobid>" command.

# SVM2のCIFSサーバーがワークグループになったことを確認
FsxId002d269844fcf2a92::> cifs server show
            Server          Status    Domain/Workgroup Authentication
Vserver     Name            Admin     Name             Style
----------- --------------- --------- ---------------- --------------
svm1        SVM1            up        CORP             domain
svm2        SVM2            up        FSXN-WORKGROUP   workgroup
2 entries were displayed.

SVM2のCIFSサーバーがドメインから離脱できたので、SVM2のBUILTIN\Administratorsのメンバーを確認します。

FsxId002d269844fcf2a92::> cifs users-and-groups local-group show-members
Vserver        Group Name                   Members
-------------- ---------------------------- ------------------------
svm1           BUILTIN\Administrators       SVM1\Administrator
                                            CORP\Domain Admins
                                            CORP\FSxAdminGroup
               BUILTIN\Guests               CORP\Domain Guests
               BUILTIN\Users                CORP\Domain Users
svm2           BUILTIN\Administrators       SVM2\Administrator
                                            CORP\FSxAdminGroup
4 entries were displayed.

Domain Adminsは削除されていますが、FSxAdminGroupは残ったままですね。

となると、例えワークグループになった状態でもCORP\FSxAdminGroupのメンバーのユーザーでマウントできるのか確認してみます。

# 現在のドライブ一覧の確認
PS C:\Windows\system32> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                                                    CurrentLocation
----           ---------     --------- --------      ----                                                                                    ---------------
Alias                                  Alias
C                  13.53         16.47 FileSystem    C:\                                                                                    Windows\system32
Cert                                   Certificate   \
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan
Y                   0.00          0.95 FileSystem    \\10.0.1.107\c$
Z                                      FileSystem    \\10.0.1.103\c$


# Zドライブをアンマウント
PS C:\Windows\system32> net use /delete z:
z: was deleted successfully.

# ZドライブにSVM2の c$ をDomain Adminsに属するユーザーでマウントしようとしてみる
PS C:\Windows\system32> net use Z: \\10.0.1.103\c$
The password is invalid for \\10.0.1.103\c$.

Enter the user name for '10.0.1.103': corp.non-97.net\Administrator
Enter the password for 10.0.1.103:
System error 1907 has occurred.

The user's password must be changed before signing in.

# ZドライブにSVM2の c$ をFSxAdminGroupに属するユーザーでマウントしようとしてみる
PS C:\Windows\system32> net use Z: \\10.0.1.103\c$
The password is invalid for \\10.0.1.103\c$.

Enter the user name for '10.0.1.103': corp.non-97.net\FSxAdmin
Enter the password for 10.0.1.103:
System error 1326 has occurred.

The user name or password is incorrect.

はい、マウント出来ませんでした。

BUILTIN\Administratorsのメンバーにはなっていますが、CIFSサーバーがドメインに参加していないので、SVMからドメインに対して認証情報が正しいのか問い合わせることがないためだと考えます。

「委任されたファイルシステム管理者グループ」完全に理解した

SVM作成時に「委任されたファイルシステム管理者グループ」を指定する場合の影響範囲を確認しました。

おかげで「委任されたファイルシステム管理者グループ」を完全に理解しました。

この記事が誰かの助けになれば幸いです。

以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!