LDAP 認証の構成

Confluent Platform 内の REST サービスはすべて、Metadata Service(MDS)によって提供される一元的な認証サービスを使用して LDAP に対して認証できるように構成できます。MDS は、MDS クラスター内のブローカーで構成された LDAP サーバーで認証することにより、REST サービスに関する基本的なユーザー名/パスワード認証を実行します。MDS クラスター内のすべてのブローカーでログインユーザーに代わって認証を実行する LDAP 認証情報を構成する必要があります。これらのブローカーはファイアウォールの内側に配置できるため、このアーキテクチャを使用すると、ファイアウォールの外側にあるユーザー向けコンポーネントから LDAP アクセスを受け取る必要がなくなります。

MDS の LDAP 認証構成オプションの多くは、LDAP Authorizer で使用されるものと同じです。ただし、MDS のコンテキストで使用する場合は、これらの属性のプレフィックスとして ldap.authorizer. ではなく ldap. を使用する必要があります。認証には以下の構成属性(詳細は「LDAP Authorizer の構成」を参照)も使用されます。

  • ldap.user.search.base
  • ldap.user.object.class
  • ldap.user.search.filter
  • ldap.user.search.scope
  • ldap.user.name.attribute
  • ldap.user.name.attribute.pattern

LDAP 検索フィルターでは、正規表現は使用できません。代わりに、LDAP 検索フィルターでは 'substring' 検索がサポートされます(ワイルドカードとは異なり、正規表現でもありません)。これは、Confluent Platform ではなく LDAP サーバー側で実行されます。有効な部分文字列 LDAP 検索フィルターの例は、'(uid=abc*)''(mail=`john@*.com')`)' のようになります。

memberOfdistinguishedName を指定するときは、オブジェクトの完全な DN(識別名)を指定する必要があります。Active Directory の使用中、LDAP 検索フィルターを設定するときに完全な DN を指定する方法の詳細については、『Active Directory: LDAP Syntax Filters』を参照してください。

認可の構成に使用される LDAP 属性を使用して、認証用の LDAP コンテキストを作成することもできます。

ネスト化された LDAP グループはサポートされていない点にご注意ください。

重要

グループロールバインディングに指定するユーザー ID では大文字と小文字が区別され、AD レコードでの指定と一致する必要があります。スーパーユーザーとしてログインするときは、ログイン ID の大文字と小文字も区別され、ロールバインディング内のユーザー ID の指定と一致する必要があることにも注意してください。

詳細については、「LDAP Authorizer の構成」を参照してください。この構成には、標準の Java ネームサービスプロバイダーオプションと、ldap. というプレフィックスが付いた JNDI オプションが含まれます(『 LDAP Naming Service Provider for the Java Naming and Directory Interface (JNDI) 』を参照してください)。

単純バインドを使用した LDAP 認証

LDAP に推奨される認証方法では、ユーザーが指定したパスワードを使用して単純バインドが実行されます。これを行うには、以下の権限が必要です。

  • LDAP 検索を実行するための LDAP 認証情報を構成して、MDS クラスター内のブローカーでログインユーザーの DN を取得する必要があります。LDAP のグループベースの認可を使用するブローカーの場合、Authorizer が使用するものと同じ認証情報を認証の際に使用することもできます。この認証情報では、Confluent サービスに接続しているすべてのユーザーにアクセスできる必要があります。
  • Confluent サービスに接続するすべてのユーザーについて、ログインユーザーの DN とパスワードを使用して LDAP 単純バインドを有効にする必要があります。

MDS では、LDAP 認証情報を使用して認証し、検索を実行してユーザーの DN を取得します。DN を特定した後、ブローカーは DN とログインパスワードを使用して、単純な LDAP バインドを実行します。バインドが成功すると、認証成功です。

MDS クラスター内のブローカー用に LDAP 認証情報が構成されていない場合は、匿名検索を使用してユーザーの DN が決定されます。この認証オプションは、開発やテストに役立つことがありますが、本稼働環境で使用する場合には安全性が十分ではありません。このため、本稼働レベルの LDAP サーバーに接続するときは、匿名検索を無効にして、ブローカーで LDAP 認証情報を構成する必要があります。