NFS ボリュームの Active Directory Domain Services (AD DS) LDAP 認証を有効にする
NFS ボリューム を作成する場合は、ボリュームの拡張グループ機能 (LDAP オプション) を使用して LDAP を有効にすることができます。 この機能により、Active Directory LDAP ユーザーおよび拡張グループ (最大 1024 グループ) がボリューム内のファイルおよびディレクトリにアクセスできるようになります。 NFSv 4.1 と NFSv3 の両方のボリュームで、拡張グループ機能で LDAP を使用できます。
Note
既定では、Active Directory LDAP サーバーでは、MaxPageSize
属性は既定値の 1,000 に設定されます。 この設定は、1,000 を超えるグループが LDAP クエリで切り捨てられることを意味します。 拡張グループの 1,024 値で完全なサポートを有効にするには、1,024 値を反映するように MaxPageSiz
e 属性を変更する必要があります。 その値を変更する方法については、「Ntdsutil.exe を使用して Active Directory で LDAP ポリシーを表示および設定する方法」を参照してください。
Azure NetApp Files は、RPC ヘッダーからではなく、LDAP ネーム サービスからの拡張グループのフェッチをサポートしています。 Azure NetApp Files は、NFS プロトコル操作のユーザー名、数値の ID、グループ、グループ メンバーシップなどの属性を照会することで、LDAP と対話します。
名前の検索や拡張グループのフェッチなどの操作に LDAP が使用される場合は、次のプロセスが行われます。
- Azure NetApp Files は、LDAP クライアント構成を使用して、 Azure NetApp Files AD 構成で指定されている AD DS または Microsoft Entra Domain Services LDAP サーバーへの接続試行を行います。
- 定義済みの AD DS または Microsoft Entra Domain Services LDAP サービス ポート経由の TCP 接続が成功した場合、Azure NetApp Files LDAP クライアントは、LDAP クライアント構成で定義された資格情報を使用して、AD DS または Microsoft Entra Domain Services LDAP サーバー (ドメイン コントローラー) に「バインド」(サインイン) しようとします。
- バインドが成功した場合、Azure NetApp Files LDAP クライアントは RFC 2307bis LDAP スキーマを使用して、AD DS または Microsoft Entra Domain Services LDAP サーバー (ドメイン コントローラー) に LDAP 検索クエリを実行します。
クエリで以下の情報がサーバーに渡されます。
- ベース/ユーザー DN (検索範囲を絞り込む)
- 検索範囲の種類 (サブツリー)
- オブジェクト クラス (ユーザーの場合、
user
、posixAccount
、グループの場合、posixGroup
) - UID またはユーザー名
- 要求された属性 (ユーザーの場合、
uid
、uidNumber
、gidNumber
、またはグループの場合、gidNumber
)
- ユーザーまたはグループが見つからない場合、要求は失敗し、アクセスは拒否されます。
- 要求が成功した場合、ユーザー属性とグループ属性が後で使用するためにキャッシュされます。 この操作により、キャッシュされたユーザーまたはグループ属性に関連付けられている後続の LDAP クエリのパフォーマンスが向上します。 また、AD DS または Microsoft Entra Domain Services LDAP サーバーの負荷も軽減されます。
考慮事項
拡張グループ機能を使用して LDAP を有効にできるのは、ボリュームの作成時のみです。 この機能は、既存のボリュームでさかのぼって有効にすることはできません。
拡張グループを含む LDAP は、Active Directory Domain Services (AD DS) または Microsoft Entra Domain Services でのみサポートされます。 OpenLDAP またはその他のサードパーティの LDAP ディレクトリサービスはサポートされていません。
Microsoft Entra Domain Services を使用している場合は、TLS 経由の LDAP を有効にしないでください。
ボリュームを作成した後、LDAP オプション設定(有効または無効)を変更することはできません。
次の表では、LDAP キャッシュの Time to Live (TTL) 設定について説明します。 クライアントを使用してファイルまたはディレクトリにアクセスしようとする前に、キャッシュが更新されるまで待機する必要があります。 そうでないと、アクセスまたはアクセス許可の拒否メッセージがクライアントに表示されます。
キャッシュ [Default Timeout](既定のタイムアウト) グループ メンバーシップの一覧 24 時間の TTL Unix グループ 24 時間の TTL、1 分の負の TTL Unix ユーザー 24 時間の TTL、1 分の負の TTL キャッシュには、Time to Live と呼ばれる特定のタイムアウト期間があります。 タイムアウト期間が経過すると、古いエントリが残らないようにエントリが期限切れになります。 "負の TTL" の値は、存在しない可能性があるオブジェクトの LDAP クエリに起因するパフォーマンスの問題を回避するために、失敗した参照が存在する場所です。
Active Directory 接続の [LDAP を使用するローカル NFS ユーザーを許可する] オプションは、ローカル ユーザーに不定期および一時的なアクセスを提供することを目的としています。 このオプションを有効にすると、LDAP サーバーからのユーザーの認証と参照が動作を停止します。Azure NetApp Files でサポートされるグループ メンバーシップの数が 16 に制限されます。 そのため、Active Directory 接続ではこのオプションを "無効" にしておく必要があります。ただし、ローカル ユーザーが LDAP が有効になっているボリュームにアクセスする必要がある場合は除きます。 その場合は、ボリュームにローカル ユーザー アクセスが不要になったら、すぐにこのオプションを無効にする必要があります。 ローカル ユーザー アクセスの管理については、「LDAP を使用するローカル NFS ユーザーにデュアルプロトコル ボリュームへのアクセスを許可する」を参照してください。
手順
LDAP ボリュームには、LDAP サーバー設定の Active Directory 構成が必要です。 「Active Directory 接続の要件」と「Active Directory 接続を作成する」の手順に従い、Azure portal で Active Directory 接続を構成します。
Note
Active Directory 接続の設定が構成されていることを確認します。 コンピューター アカウントは、Active Directory 接続設定で指定された組織単位 (OU) に作成されます。 この設定は、Active Directory を使用して認証するために LDAP クライアントによって使用されます。
Active Directory で Active Directory LDAP サーバーが稼働していることを確認します。
LDAP NFS ユーザーは、LDAP サーバー上で特定の POSIX 属性を持っている必要があります。 次のように、LDAP ユーザーと LDAP グループの属性を設定します。
- LDAP ユーザーに必要な属性:
uid: Alice
=
uidNumber: 139
=
gidNumber: 555
=
objectClass: user, posixAccount
- LDAP グループに必要な属性:
objectClass: group, posixGroup
=
gidNumber: 555
objectClass
に指定された値は、個別のエントリです。 たとえば、複数値の文字列エディターでは、objectClass
には、次のように LDAP ユーザーとして個別の値 (user
とposixAccount
) が指定されます。Note
POSIX 属性が正しく設定されていない場合、ユーザーおよびグループ参照操作が失敗し、NFS ボリュームにアクセスするときにユーザーが
nobody
に押しつぶされる可能性があります。Active Directory ユーザーとコンピューター MMC スナップインを使用して、POSIX 属性を管理できます。 次の例は、Active Directory の属性エディターを示しています。 詳細については、Active Directory 属性エディターへのアクセスに関するセクションを参照してください。
- LDAP ユーザーに必要な属性:
LDAP 統合 NFSv4.1 Linux クライアントを構成する場合は、「Azure NetApp Files 用に NFS クライアントを構成する」をご覧ください。
LDAP 対応ボリュームで NFSv4.1 を使用する場合は、「NFSv4.1 ID ドメイン を構成する」の手順に従って、
/etc/idmapd.conf
ファイルを構成します。/etc/idmapd.conf
内のDomain
は、NetApp アカウントの Active Directory 接続で構成されているドメインに設定する必要があります。 たとえば、contoso.com
が NetApp アカウントで構成されているドメインの場合は、Domain = contoso.com
を設定します。その後、ホストで
rpcbind
サービスを再起動するか、ホストを再起動します。「Azure NetApp Files の NFS ボリュームを作成する」の手順に従って、NFS ボリュームを作成します。 ボリュームの作成処理中に、[プロトコル] タブで [LDAP] オプションを有効にします。
省略可能 - Windows LDAP サーバー上に存在しないローカル NFS クライアント ユーザーが、拡張グループが有効になっている LDAP を持つ NFS ボリュームにアクセスできるようにすることができます。 これを行うには、次のように、[LDAP を使用するローカル NFS ユーザーを許可する] オプションを有効にします。
- [Active Directory 接続] を選択します。 既存の Active Directory 接続で、コンテキスト メニュー (3 つのドット
…
) を選択し、[編集] を選択します。 - 表示される [Active Directory 設定の編集] ウィンドウで、[LDAP を使用するローカル NFS ユーザーを許可する] オプションを選択します。
- [Active Directory 接続] を選択します。 既存の Active Directory 接続で、コンテキスト メニュー (3 つのドット
省略可能 - 大規模なトポロジを使用していて、デュアル プロトコル ボリュームまたは拡張グループを使用する LDAP で Unix セキュリティ スタイルを使用している場合は、[LDAP 検索スコープ] オプションを使用して、Linux クライアントでの Azure NetApp Files に対する "アクセスが拒否されました" エラーを回避することができます。
[LDAP 検索スコープ] オプションは、[Active Directory 接続] ページから構成します。
大規模なトポロジに対して LDAP サーバーからユーザーとグループを解決するには、[Active Directory 接続] ページで、次のように [ユーザー DN]、[グループ DN]、[グループ メンバーシップ フィルター] オプションの値を設定します。
- 入れ子になった [ユーザー DN] と [グループ DN] は、
OU=subdirectory,OU=directory,DC=domain,DC=com
の形式で指定します。 - [グループ メンバーシップ フィルター] は、
(gidNumber=*)
の形式で指定します。 - ユーザーが 256 を超えるグループのメンバーである場合は、256 グループのみが一覧表示されます。
- エラーが発生した場合は、LDAP ボリュームのエラーを参照してください。
- 入れ子になった [ユーザー DN] と [グループ DN] は、