ID マッピングの基本概念

Microsoft Windows セキュリティー ID (SID) を UNIX 32 ビット・ユーザー/グループ ID (UID/GID) にマッピングします。

Storwize V7000 Unified は、UNIX ベースのシステムです。ユーザーおよびユーザー・グループは、それぞれ UID および GID によって識別されます。ファイルに対する権限またはアクセスは、ファイルに関連付けられている UID および GID に基づいています。 一方、Microsoft Windows Active Directory のユーザーまたはグループは、SID で識別されます。Windows 環境における権限およびファイル・アクセスは、この SID に基づいています。

したがって、Microsoft Windows クライアントに対するデータ・アクセスをサポートし (CIFS プロトコル)、インターオペラビリティーを可能にする (すなわち UNIX クライアントと Windows クライアント間でデータを共有する (CIFS および NFS プロトコル)) ために、Storwize V7000 Unified は Windows の SID を UNIX の UID/GID にマップする必要があります。このプロセスが ID マッピングと呼ばれ、マップは ID マップと呼ばれます。

Storwize V7000 Unified では、SID と UNIX UID/GID とのマッピングにさまざまな方法が可能です。これは、大きく次のように分類されます。

  • 外部 ID マッピング
    • SFU
    • NIS
    • LDAP
  • 内部 ID マッピング
    • AUTO
    • ローカル
次のマトリックスは、Storwize V7000 Unified に対してサポートされている認証および ID マッピング構成です。
表 1. 認証サーバーと ID マッピングのサポート・マトリックス
認証と ID マッピング・サーバー 外部 ID マッピング・サーバー 内部 ID マッピング・サーバー
外部認証サーバー   SFU NIS LDAP AUTO ローカル
Active Directory X N/A
LDAP N/A N/A N/A N/A
Samba PDC N/A N/A N/A
内部認証サーバー ローカル N/A N/A N/A N/A

外部 ID マッピング

ユーザーまたはグループの UID/GID は、Microsoft Active Directory Services for Unix (SFU) サーバー、NIS サーバー、または LDAP サーバーなどの外部サーバーで作成され、保管されます。

外部 ID マッピングは、ユーザー UID またはグループ GID が環境に既に存在する場合に役立ちます。例えば、UID と GID が 100 である NFS クライアントが環境に既に存在するときに、特定のエクスポート/共有に CIFS クライアントと NFS クライアントの両方からアクセスする必要がある場合、外部 ID マッピング・サーバーを使用し、UID/GID 100 を CIFS サーバーに割り当て、CIFS クライアントと NFS クライアントの両方が同じデータにアクセスできるようにすることができます。

注: ユーザー/グループの UID/GID をそれぞれのサーバーで作成または取り込むのは、外部サーバー管理者が行います。
Storwize V7000 Unified は、外部 ID マッピングに以下のサーバーをサポートします。
  • LDAP サーバー。この場合、UID または GID は、LDAP サーバー上のユーザー・オブジェクトまたはグループ・オブジェクト内の専用フィールドに保管されます。
  • Microsoft Services For Unix (SFU) サーバー。この場合、(Active Directory サーバーで定義された) ユーザーまたはグループの UID または GID は、Active Directory サーバー上のユーザー・オブジェクトまたはグループ・オブジェクトの専用フィールドに保管されます。

    Active Directory サーバーには、SFU/RFC2307 スキーマ拡張が定義されている必要があります。

  • Network Information Service (NIS) サーバー。この場合、ユーザーまたはグループの UID または GID は、NIS サーバーで定義されます。

    Storwize V7000 Unified システムは、Active Directory または Samba PDC の拡張機能としての NIS を 2 つのモード (netgroup のみのマッピングまたは netgroup と ID のマッピング) でサポートします。netgroup と ID マッピング・モードでは、ID マッピングは NIS サーバーに保管され、NIS サーバーから読み取られます。 他の netgroup 構成オプションについては、ネットグループの管理を参照してください。

外部サーバーで定義された UID/GID は、Storwize V7000 Unified システムで使用できます。Storwize V7000 Unified は、異なる ID マッピング・タイプを使用するためにさまざまな CLI コマンドを備えています。

SFU および NIS ID マッピング・タイプがサポートされるのは、Storwize V7000 Unified が Active Directory 認証を使用して構成されている場合のみです。

SFU ID マッピングについては、cfgsfu を参照してください。NIS ID マッピングについては、cfgnis を参照してください。

LDAP ID マッピングがサポートされるのは、Storwize V7000 Unified が LDAP 認証を使用して構成されている場合のみです。cfgldap コマンドは、LDAP サーバーから認証と ID マッピングの両方を使用するように Storwize V7000 Unified を構成します。LDAP ID マッピングについては、cfgldap を参照してください。

内部 ID マッピング

ユーザーまたはグループの UID または GID は、Storwize V7000 Unified システムによって自動的に作成され、内部リポジトリーに保管されます。

外部 ID マッピング・サーバーが環境に存在しないか、使用できない場合、Storwize V7000 Unified システムは内部 ID マッピング方式を使用して UID/GID を作成します。

Storwize V7000 Unified は、内部 ID マッピングに以下のタイプをサポートします。
  • 自動: この ID マッピングがサポートされるのは、Storwize V7000 Unified が Active Directory 認証または Samba PDC 認証を使用して構成されている場合のみです。

    Storwize V7000 Unified の自動 ID マッピング方式は、予約済みの ID 範囲を使用して ID を割り振ります。例えば、Storwize V7000 Unified が Active Directory 認証および自動 ID マッピングを使用して構成される場合、ID の作成に以下のアルゴリズムが使用されます。

    Active Directory 内のユーザーまたはグループは SID で識別されます。これには、RID と呼ばれるコンポーネントが含まれます。Active Directory ドメインからユーザー/グループが Storwize V7000 Unified にアクセスするたびに、Active Directory ドメインごとに範囲が割り振られます。UID/GID は、この範囲およびユーザー/グループの RID に応じて割り振られます。

  • ローカル: この ID マッピングがサポートされるのは、Storwize V7000 Unified が、Storwize V7000 Unified 自体によって内部でホストされるローカル認証サーバーを使用して構成される場合のみです。

    Storwize V7000 Unified のローカル ID マッピング方式は、予約済みの ID 範囲を使用し、先着順サービスの増分ベースで UID または GID を割り振ります。

内部 ID マッピングは、ユーザー UID またはグループ GID が環境に既に存在する場合は使用できません。ただし、内部 ID マッピングを使用中に、NFS クライアントが Storwize V7000 Unified 上のデータにアクセスする必要がある場合、その NFS クライアントには、Storwize V7000 Unified システムによって作成されるのと同じ UID/GID が必要です。 次のセクションを参照して、クライアント上の ID マッピングが Storwize V7000 Unified システムが内部で作成したのと同じであることを確実にしてください。

ユーザーおよびグループの手動 ID マッピング

外部 ID が使用可能でないか、使用できない場合 (例えば、Active Directory が内部 ID マッピングで使用される場合)、Storwize V7000 Unified システムのファイルに接続してそれを処理する必要がある各 NFS クライアント上で、手動でマッピングを設定する必要があります。 これにより、クライアント上の ID マッピングが Storwize V7000 Unified システムからのマッピングと等しくなります。

クライアント上の ID マッピングが Storwize V7000 Unified システムからのマッピングと同じであることを確実にするには、以下の手順を実行します。
  1. chkauth コマンドを使用して、Storwize V7000 Unified システム内に存在するユーザーの UID/GID を判別します。 詳しい使用法については、chkauth CLI コマンドのマニュアル・ページを参照してください。例えば、次のとおりです。
    # chkauth --userName w2k3dom01¥¥laura -i
    出力は以下の形式で表示されます。
    Uid = 10000000, Gid = 10000017, Home Directory = /var/opt/IBM/sofs/scproot, 
    Template Shell = /usr/bin/rssh
  2. 同じ UID/GID を使用して、クライアント上で手動でユーザーを定義します。アクセスを必要とするすべてのクライアント上の /etc/passwd ファイルを編集します。上記のステップ 1 の例を使用すると、次の行を追加する必要があります。
    laura::10000000:10000017::/:
    注: Storwize V7000 Unified システム上のホーム・ディレクトリーおよびテンプレート・シェルに関する情報は、クライアントに適用する必要がある情報よりも限定的です。上記の例は、そうした設定を提供または適用するものではなく、単に UID/GID がすべてのクライアントおよび Storwize V7000 Unified システムで一貫性があるようにするために必要な情報を示しているに過ぎません。

管理 GUI でこの機能を使用するには、GUI にログオンして「Access」 > >「User」を選択します。

注:
  • ID マップは、ドメインごとに使用されます。Storwize V7000 Unified 上のデータにアクセスするには、Active Directory 内のすべての AD ユーザーまたはグループ・ドメインに、対応する ID マップが必要です。これらの ID マップは手動で構成するか (AD サーバー上の Microsoft SFU 拡張などのメカニズムを使用)、または自動的に Storwize V7000 Unified システムによって生成することができます。 SFU 拡張スキーマから読み取られた AD ドメインの ID マップは、SFU ID マップと呼ばれます。一方、AD ドメインや一部の内部ドメイン (BUILT-IN、ALLOC など) 用に Storwize V7000 Unified システムによって内部で作成される ID マップは、自動 ID マップと呼ばれます。
  • 内部と外部の両方の ID マッピングを一緒に使用することができます。例えば、Active Directory サーバーが認証に使用される場合、SFU ID マッピングは特定の Active Directory ドメインの ID マッピングに使用できます。自動 ID マッピングは、その他の Active Directory ドメインに使用できます。
  • 非同期複製やリモート・キャッシングのような拡張機能が使用される場合、さまざまなサイトで、各種クラスター上のデータにアクセスするユーザーまたはグループには、同じ UID/GID が必要であることを確認してください。

    Storwize V7000 Unified は、外部 ID マッピング (SFU および LDAP) または内部 ID マッピング (自動) を使用して非同期複製およびリモート・キャッシングをサポートできます。

  • 外部 ID マッピング・サーバーを使用して、すなわち各 Storwize V7000 Unified システムを同じ外部 ID マッピング・サーバーを使用して構成すると、すべての Storwize V7000 Unified システム間ですべてのユーザー/グループが同じ UID/GID を持つことを確実にすることができます。
    図 1. 外部 ID マッピングを示すフローチャート
    外部 ID マッピング
  • 内部 ID マッピング (自動) を使用して、すなわち同じ内部 ID マッピング方式 (自動) を使用して各 Storwize V7000 Unified システムを構成し、ID マップをコピーすると、すべての Storwize V7000 Unified システム間ですべてのユーザー/グループが同じ UID/GID を持つことを確実にすることができます。
    図 2. 内部 ID マッピングを示すフローチャート
    内部 ID マッピング

ID マップ・キャッシュ

UID および GID は、自動生成されたものであるか、SFU または NIS 内のものであるかに関係なく、すべてキャッシュされます。 ユーザー・ログインが成功するたびに、UID と GID は 7 日間保管されます。ユーザーのログイン試行が成功しなかった (クラスターへのログイン試行が失敗した) 場合、UID と GID は 2 分間キャッシュされます。

外部 ID マッピング・サーバーを使用する場合は、UID も GID も、いったん作成したら変更しないことをお勧めします。UID または SID の変更が必要になった場合は、できれば、データが Storwize V7000 Unified 上に置かれるようになる前に、このアクティビティーについて十分な計画を作成する必要があります。 変更後は、キャッシュされた項目がフラッシュ消去されていることを確認します。

以下の CLI コマンドを使用して、指定されたユーザーまたはグループの ID マップ・キャッシュ項目を削除します。このコマンドは、外部 ID マッピング・サーバーで UID または GID を変更した後に使用してください。
rmidmapcacheentry

このコマンドは、--name オプションまたは --sid オプションでそれぞれ名前または SID が指定された NAS ユーザーまたは NAS グループのデータ・アクセスのみに影響を及ぼします。 このコマンドによってファイル所有権の変更や割り当て量レポートまたは ACL の更新は行われません (割り当て量は引き続き元の UID/GID に対して計算されます)。

ユーザーまたはユーザー・グループの UID または GID を変更した後は、ファイル・システムの全探索を行って、ACL とファイル所有権を修正する必要があります。

rmidmapcacheentry コマンドは、現在接続されているユーザーに UID/GID が設定されているかどうかを確認し、ユーザーが CIFS に接続されている場合は、CIFS 接続を終了して、ユーザーを切断します。 CIFS 接続は、ファイルが読み取りまたは書き込み用にまだ開いているかどうかに関係なく、直ちに終了されます。

重要: 外部 ID マッピング・サーバーではユーザーおよびグループに設定された UID または GID を変更しないことをお勧めします。これらの値は Storwize V7000 Unified 上にキャッシュされ、フラッシュ消去されるまで参照の対象になります。 ルックアップによって古い UID や GID の値が得られる場合があり、それにより、ユーザーとグループがシステムにアクセスするときに問題が生じる可能性があります。 外部 ID マッピング・サーバーでユーザーおよびグループに設定された UID または GID を変更すると、これらのユーザーのファイルへのアクセスが失われる可能性があります。これは、変更された ID が、ファイル ACL では変更されないからです。