メインコンテンツまでスキップ

NetApp_Insight_2020.png 

clustered Data ONTAP で CIFS と名前マッピングを設定する際の重要な考慮事項

Views:
21
Visibility:
Public
Votes:
0
Category:
data-ontap-8
Specialty:
core
Last Updated:

に適用されます

  •   clustered Data ONTAP 8    
  •   clustered Data ONTAP 8.1    
  •   clustered Data ONTAP 8.2 

回答

clustered Data ONTAP で CIFS と名前マッピングを設定する際の重要な考慮事項

考慮事項 1 : NTFS セキュリティ形式のボリュームへの CIFS アクセスでは、常に CIFS ユーザを UNIX UID にマッピングする必要があります(これはすべての Data ONTAP バージョンに適用されます)。

任意のタイプのボリュームで CIFS を使用してファイルにアクセスするには、ストレージシステムに認識されている既存の UNIX ユーザに CIFS ユーザをマッピングする必要があります。これは最初は直感的には見えませんが、 Data ONTAP ファイルシステムが UNIX ベースであり、アクセスを許可するためには、それらの ID が権限を決定しない場合でも、関連する UNIX UID と GID を持つ必要があることを考えると、わかりやすくなります。既存の UNIX ユーザにマッピングしないと、 NTFS セキュリティ形式のボリュームでも、共有への CIFS アクセスが拒否されます。この設定の推奨方法は次のとおりです。

  • Vserver でデフォルトの UNIX ユーザを設定します。

vserver cifs options modify -vserver <vserver name> -default-unix-user <user to map to, e.g. pcuser>

次に、デフォルトのマッピングユーザとそのユーザのデフォルトグループが存在することを確認します。最も簡単な方法は、 vserver ns-switch 設定に file が含まれていると仮定して、ローカルで作成することです。(この設定は、 vserver show で確認できます)。

vserver services unix-user create pcuser -id 65534 -primary-gid 65534
vserver services unix-group create pcuser -id 65534

:上記を実行しないと、ボリュームのセキュリティ形式に関係なく、アクセスが必要な CIFS ユーザごとに特定のマップがない限り、 CIFS アクセスは許可されません。

考慮事項 2 : Data ONTAP (任意のバージョン)では、グループまたは GID はマッピングされません

CIFS ユーザを GID にマッピングしたり、 UNIX ユーザを Active Directory ( AD )内のグループにマッピングしたりすることはできません。同様に、GIDをAD内のグループまたはユーザにマッピングしたり、ADグループをUNIX UIDまたはGIDにマッピングしたりすることもできません。マッピング先のユーザのグループは、マッピングされたユーザの権限に影響します。

たとえば
、 AD ユーザ domainjohn は、 UID 501 の特定の UNIX ユーザ john にマッピングされます。このユーザは、ローカルの UNIX ユーザテーブル、 NIS または LDAP を介して、自分のプライマリグループユーザ( GID 500 )、セカンダリグループ ENgr (グループ 30 )および Wheel ( GID 0 )のメンバーになります。UNIX セキュリティ形式のボリューム内のフォルダまたはファイルのビットを変更します。この 3 つのグループのメンバーであるグランドユーザには、特定のアクセス権が付与され、 CIFS 共有を介してアクセスするときに、これらの権限が John に付与されます。 

グループマッピングはありませんが、個々のユーザのグループを特定のユーザにマッピングできます。さらに、正規表現を使用して、より便利に機能させることもできます。

たとえば
、「 Sales 」という語で開始または終了するすべての AD ユーザを、特定の UNIX ユーザとそのユーザの UID にマッピングできます。この機能を実現するために、 AD の特定のユーザの名前を変更し、名前マッピングテーブルで正規表現を使用して、グループアクションを効果的にエミュレートできます。この逆も実行できます。


考慮事項 3 : Data ONTAP 8.0 、 8.1 、および 8.2 Cluster-Mode での CIFS アクセスには、 AD サーバが必要です

Vserver への CIFS アクセスには、その Vserver に設定された AD サーバが必要です。さらに、ストレージシステムは CIFS アクセスを決定するために AD を必要としますが、 AD が設定されていない場合、 CIFS アクセスは許可されません。8.2 では、ローカルユーザとグループを設定できますが、 Vserver で CIFS サービスを作成するには、 AD 接続がまだ必要です。

:これは、ローカル CIFS アカウントが存在し、アクセスが許可される Data ONTAP 7G/87-Mode とは異なります。

他の LDAP タイプのサーバでは、 CIFS アクセス用の AD サーバを置き換えることはできませんが、追加の LDAP サーバを使用して UNIX ユーザと AD ユーザを一元的にマッピングできるため、マッピングされた CIFS から UNIX セキュリティ形式のボリュームへのアクセスが可能になります。


考慮事項 4 :混合プロトコル NAS アクセスには、混合セキュリティ形式のボリュームは必要ありません

メモ:ほとんどの場合、セキュリティ形式のボリュームを混在させて使用することは推奨されません。

ユーザを適切にマッピングすることで、 UNIX セキュリティボリュームへの CIFS アクセスのマッピングと、 NTFS セキュリティ形式のボリュームへの NFS アクセスのマッピングが可能になります。CIFS を UNIX セキュリティ形式のボリュームに直接マッピングするか、 NFS を NTFS セキュリティ形式のボリュームにマッピングすることは、実際には、混合セキュリティ形式のボリュームを使用する場合に推奨されます。混合セキュリティ形式のボリュームを使用すると、ファイルに対する効果的なセキュリティや、使用中の Mod ビットと ACL 間の切り替えなど、複雑さが増します。これは、アクセス権限と制限の一貫性が失われる可能性があるため、一般的には望ましくありません。


考慮事項 5 : Vserver の名前マッピングテーブルにエントリがないと、ユーザマッピングが完全に機能します

デフォルトでは、ユーザが CIFS または NFS を介してアクセスする場合、一致するエントリが UNIX ユーザテーブルに存在すると(または NIS または AD 以外の LDAP で設定されている場合)、名前のマッピングは完全に透過的になります( usermap がこれを上書きするエントリがない限り)。

たとえば
、「 XXXXX 」と「 UID1001 」という名前の Vserver に UNIX ユーザが存在し、同じ名前の AD にユーザが存在する場合(例:「 DomainXXXXX 」)、 次に、 UID が 1001 の UNIX ユーザは、 NTFS セキュリティ形式のボリュームの NFS クライアントのユーザ domainXXXXX にマッピングされ、 AD ユーザ domainXXXXX は、 UNIX セキュリティ形式のボリュームの CIFS 共有の UID 1001 にマッピングされます。


考慮事項 6 : clustered Data ONTAP 8.0 および 8.1 で、 CIFS を介してフォルダに直接アクセスするときにジャンクションツリーに親ボリュームがある場合、アクセス制限が CIFS 共有アクセスに影響する可能性があります。

:この要件は、 Data ONTAP 8.1.2 以降から削除されています。

アクセスするには、すべての CIFS ユーザを UID にマッピングする必要があります。共有が Vserver のルートボリュームではないボリュームにある場合、ジャンクションツリー内の共有を持つボリュームの上にあるすべてのフォルダとボリュームは、 CIFS アクセスを可能にするために、マッピングされたユーザーに実行権限を付与する必要があります。

たとえば
、 CIFS 共有は、 /staging/rev2 にある vserver に作成されます。ここで 'rev2 は NTFS セキュリティ形式のボリュームであり ' 共有にアクセスするユーザーはデフォルトの pcuser にマッピングされますこのユーザーがアクセスできるようにするには、ルートボリューム( / )とステージングディレクトリまたは接続されたボリューム( /staging )の両方が、 pcuser に実行権限を与える必要があります。

いずれの場合も、 Mod ビット(全員)は少なくとも 1 である必要がありますが、 5 または 7 でも動作します。
たとえば
、親ボリュームの unix-permissions は、少なくとも -------- x に設定されます。これは、 Vserver 内の共有の場所に関係なく、必須です。ルートボリュームを変更した場合、 LS ミラーも更新されるまで有効にならないことに注意してください。

ジャンクションツリー内のすべてのボリュームが、ルートボリューム(およびその LS ミラー)を含む NTFS セキュリティ形式である場合は、このオプションは適用されません。


考慮事項 7 : CIFS を正常にセットアップするには、 DC で SMB1 をサポートする必要があります。これは、 clustered Data ONTAP のすべてのバージョンに適用されます。  これは、 Data ONTAP 7-Mode には適用されません。

マッピングの仕組み 1 : UNIX セキュリティ形式のボリューム上の CIFS 共有にアクセスする AD ユーザ、 UNIX ユーザへのマッピング

この場合、ユーザは UNIX NFS クライアントを持つ UNIX ボリューム上の CIFS 共有を介してファイルを書き込みます。この環境でのマッピングは、次のように実行されます。

  • Windows クライアントは、アクセス用に SID を送信します。


例: S-1-5-21-3623811015-3361044348-30300820-513

  • ストレージシステムは、 AD 上でこの SID を検索して識別し、ユーザ名(例: domainXXXXX )と照合します。
  • 次に、ストレージ・システムは、 usermap テーブル内のエントリまたは式を検索して、名前とこのユーザ名を照合します。

ルールが存在する場合は、 UNIX ユーザにマッピングされます。一致しない場合、ストレージ・システムは、ローカルの UNIX ユーザ・テーブル、 LDAP 、または NIS ユーザ・データベースで、一致する UNIX UID を検索します(ドメイン ID は名前に一致するように削除されます)。検索順序は、 Vserver で設定できる設定に基づいています。現在の順序を表示するには、 vserver show-fields ns-switch コマンドを実行します。

  • ストレージ・システムが UNIX ユーザ・テーブルで対応するユーザを検出すると、 AD ユーザがそのローカル・ユーザにマッピングされます。

たとえば
、 domainXXXXX の場合、対応するユーザ XXXXX が検索されます。
ユーザが見つからない場合は、 Vserver 固有のデフォルト UNIX ユーザを検索します(上記の推奨事項に従う場合に設定されます)。

  • 上記の手順に基づいて、マッピングされたユーザの一致する UNIX UID が決定され、アクセス権限の決定に使用されます。ストレージシステムは、新しく作成されたファイルの UID としてその UID を使用します(そのユーザのデフォルト GID は、新しく作成されたファイルの GID になります)。◦上記の例では、マッピングされた UNIX ユーザ「 xxxxx 」は、ストレージシステムの UID 1001 を取得します。
    • UNIX qtree 上の CIFS 共有を介して作成されたファイルの UNIX モード権限ビット( 644 、 rw-r--r-- など)は、デフォルトで親フォルダ権限から継承されます。一般的な umask 、 file-umask 、および / またはフォルダ umask の設定を共有に追加することで、これらの設定をより限定的に行うことができます。cifs share modify コマンドを実行して設定します。
  • UNIX NFS クライアントが NFS を介してファイルを読み取る場合、クライアント上の passwd ファイル、 NIS 、 LDAP 、またはその他のネームサービス構成に従って、ファイルが参照する UID がユーザ名にマッピングされます。すべてが正しく設定されている場合は、 UID 1001 を XXXXX にマッピングするエントリが必要です。その結果、ファイルがクライアントから読み取られると、所有権は同じユーザとして報告されます。

AD 環境では、ドメインユーザ名は、常にストレージシステムまたはドメインに関連付けられた任意のホストからの同じ SID にマッピングされます。UNIX クライアントでは、常に NIS や LDAP などの中央ディレクトリを使用して、すべてのユーザと UID のマッピングが環境全体で同一であるとは限りません。ストレージ・システムが AD ユーザを UNIX UID にマッピングするときに、 UNIX クライアントの passwd ファイルが Vserver の UNIX ユーザ・テーブルと一致しないと、 NFS エクスポートがこれらのクライアントから表示されたときに、ファイル所有権と権限が予期しないものになることがあります。このファイルでは、 AD ユーザ domainXXXXX を UID 1001 にマッピングできますが、 NFS クライアントに「 yyy 」にマッピングする passwd エントリがある場合、 UNIX セキュリティ形式のボリューム上の CIFS を介して domainXXXXX で作成されたファイルは、このクライアントの観点からは「 yyyyy 」が所有しているように見えます。そのため、ストレージ・システムがこのような混乱を避けるために使用するすべてのクライアントが、同じユーザー UID マッピング( passwd ファイル内)を持つようにすることが重要です。


マッピングの仕組み 2 : NFS クライアント上のユーザが NTFS セキュリティ形式のボリューム上の NFS エクスポートにアクセスし、 AD ユーザにマッピングする方法

この場合、ユーザーは、 Solaris NFS クライアントを持つ NTFS セキュリティ形式のボリュームに NFS 経由でファイルを書き込みます。この環境でのマッピングは、次のように実行されます。

  • UNIX システムである NFS クライアントは、現在のユーザを passwd ファイル、 NIS または LDAP に基づいて UID にマッピングします。この UID は、ストレージシステム上のファイルを書き込む UID として送信されます。
  • ストレージ・システムはこの UID を取得し、 UNIX ユーザ・テーブル、 NIS 、または LDAP に従ってユーザ名にマッピングします。

この検索順序は、 Vserver で設定できる設定に基づいています。現在の順序を表示するには、 <<vserver show-fields ns-switch>> コマンドを実行します。

  • ストレージ・システムが UNIX ユーザ・テーブル( NIS または LDAP )で UID のエントリを検索する場合は、 UNIX アクセスにデフォルト・ユーザが適用されます。vserver nfs show コマンドを実行して、ユーザを検索します。
  • ストレージシステムはこの名前を使用し、 usermap テーブル内で名前と一致するエントリ / 式を検索します。

ルールが存在する場合は、それに応じてドメインユーザにマッピングされます。そうでない場合は、ドメインコントローラに照会して、ユーザ名の SID を取得します。

:ドメイン名を追加すると、 XXXXX のマッピング時に DomainXXXXX が検索されます。 •

  • AD から報告された SID は、アクセス許可と、新しく作成されたファイルの所有権を決定するために使用されます。ファイルを作成または変更するときに、 Vim などの一部の UNIX アプリケーションは、ファイル作成プロセスの一部として UNIX スタイルの権限を変更しようとします。ボリュームに NTFS セキュリティ形式が設定されていて、 UNIX モードビットの変更が関係しないため、この処理は失敗します。同様に、ファイルのセキュリティ記述子を変更しようとすると、通常は chmod で a が報告されます。ストレージ・システムは、これらの試行を無視し、をレポートしないように設定できます。その結果、 vim などのプログラムは適切に動作し、 chmod は NTFS セキュリティ形式のボリュームで(権限を変更しないが)レポートしません。このサイレント無視をオンにするには、ボリュームをエクスポートする「エクスポートポリシールール」内で ntfs-unix-security-ops を ignore に設定します(これは advanced レベルの権限で表示されます)。


マッピングの仕組み 3 : UserMapping テーブル

名前マッピングテーブルでは、自動的にマッピングされないユーザをマッピングできます。これは、 Vserver が有効なドメイン外の信頼されたドメイン内のユーザ、または UNIX 名が Windows 名と一致しないユーザ(大文字と小文字の区別など)を対象としています。正規表現を使用してユーザグループをマッピングすることもできます。

追加情報

名前マッピングのトラブルシューティングの詳細については、次の記事を参照してください。

マルチプロトコル環境での名前マッピングについて

clustered Data ONTAP で vserver の名前マッピングルールを作成し、理解する方法