LDAP を使用した認証¶
Solution Manager サーバーでは、ユーザーの認証を LDAP サーバーに委任する LDAP 認証がサポートされます。Solution Manager で LDAP 認証を有効にするには、Solution Manager Web ツールを使用して管理者ユーザーとしてログインし、 [Configuration] メニュー > [Authentication] をクリックして、[LDAP Configuration] を開きます。
LDAP authentication enabled: LDAP 認証を有効にする場合にチェックします。有効な場合、LDAP サーバーからユーザーを取得して、その資格情報でユーザーを認証できます。
Global LDAP configuration: ユーザーと役割の取得に使用する LDAP ソースと必要な検索を構成します。
この構成は、LDAP 認証のほかに、特定のシングルサインオン構成 (Kerberos など) を選択した場合や、アサーションによる役割の抽出のない外部 ID プロバイダーを選択した場合にも使用されます。
Server URI: LDAP サーバーのパス。
Login および Password: LDAP サーバーにアクセスするための資格情報。
Use GSSAPI SASL: 「シンプルバインド」ではなく、GSSAPI 認証メカニズムを使用した SASL バインドにより LDAP サーバーに接続する認証メカニズム。組織がマルチドメイン環境を採用している場合、このチェックボックスをチェックする必要があります。また、LDAP サーバー (通常は Active Directory) の管理者は、ドメイン間の信頼関係を確立して、すべてのドメインからユーザーを認証できるようにする必要があります。
Use paging: クエリあたりの結果の数が LDAP サーバーによって制限されている場合にチェックします。チェックすると、Solution Manager はページ検索を使用してクエリのすべての結果を取得します。
Max Page Size: 1 ページに含まれる結果の数。
User base: ユーザーを表すノードを検索するためのスコープとして使用する LDAP サーバーのノード。複数の「ユーザーベース」式を入力できます。
Attribute with user name: ユーザーを表すノードにおける、ユーザーのユーザー名が含まれる属性の名前。
User search pattern: サーバーに接続しようとしているユーザーを表すノードを取得する場合、LDAP クエリが実行されます。これは、そのクエリを生成するために使用するパターンです。
Role base: このデータベースのユーザーが持つことのできる役割を表すノードを検索するためのスコープとして使用する LDAP サーバーのノード。複数の「役割ベース」式を入力できます。
Attribute with role name: 役割を表すノードにおける、役割の名前が含まれる属性の名前。
Role search pattern: ユーザーのロールを表すノードを取得するために実行される LDAP クエリの生成に使用するパターン。このパターンには、トークン
@{USERDN}
または@{USERLOGIN}
を含める必要があります (両方を含めることはできません)。オプションで、@{OBJECT_SID}
を含めることもできます。@{USERDN}
は、このデータベースに接続しようとしているユーザーの識別名に置換されます。たとえば、「CN=john,CN=Users,DC=acme,DC=loc」です。@{USERLOGIN}
は、このデータベースに接続しようとしているユーザーのログイン名に置換されます。たとえば、「john」です。
注釈
LDAP ロールキャッシュが構成されている場合、Virtual DataPort は LDAP サーバーにクエリしません。詳細については、「 Solution Manager で LDAP ロールキャッシュを有効化 」を参照してください。
@{OBJECT_SID}
は、Active Directory サーバーのユーザーのオブジェクトセキュリティ ID(「S-1-5-21-1111111111-2222222222-3333333333-4444」など) で置き換えられます。この値は、他のドメインに属するグループまたはユーザーを取得するのに役立ちます (マルチドメインアーキテクチャでのみ適用可能)。
重要
LDAP によって取得できる特定の役割を作成し、それらの役割に、対応する権限を割り当ててください。詳細については、 権限システム を参照してください。
この構成で LDAP 認証を有効にした後でユーザーが Solution Manager にアクセスすると、依存する LDAP ソースにあるユーザー名とパスワードを使用してログインするようになります。
Solution Manager で LDAP ロールキャッシュを有効化¶
「LDAP ロールキャッシュ」を有効にした場合、Solution Manager に含まれる Virtual DataPort サーバーは、Virtual DataPort にログインした各ユーザーのロールを LDAP サーバー (Active Directory など) から取得した場合、そのロールを限られた期間だけメモリ内に保存します。これには、Kerberos 認証、OAuth、および SAML を使用して LDAP サーバーからロールを取得するオプションを選択しているユーザー、またはユーザーとパスワードを使用して LDAP サーバーからロールを取得するユーザーが該当します。Virtual DataPort が LDAP サーバー (Active Directory など) からロールを取得する必要があるのはユーザーが最初にログインしたときのみなので、同じユーザーが次回ログインするときのコネクション時間が短くなります。この機能が無効な場合、Virtual DataPort はログインが試行されるたびに LDAP サーバーにクエリします。
この機能は、デフォルトで無効になっています。これを有効にするには、管理者アカウントで Solution Manager の Virtual DataPort (デフォルト URL は //denodo-solution-manager.acme.com:19999/
) にログインし、次のコマンドを実行します。
SET 'com.denodo.vdb.security.LDAPRolesCache.UseCache' = 'true';
この変更を適用するために Virtual DataPort を再起動する必要はありません。この機能を無効にするには、上記のコマンドを、プロパティを「false」に設定して、実行します。
ユーザーのロールは一定期間 (デフォルトは 10 分) メモリに保存されます。メモリに保存されてから 10 分が経過すると、このユーザーのロールは削除されます。次にこのユーザーがコネクションを開いたときは、再びこのユーザーのロールを LDAP サーバーから取得してメモリに保存します。
LDAP ロールキャッシュの設定を変更するには、VQL シェルで次のステートメントを実行します。
-- To modify for how long the roles of a user are stored in memory.
-- Default value: 10 minutes
SET 'com.denodo.vdb.security.LDAPRolesCache.ExpirationTimeMinutes' = '5';
-- To modify the time, in milliseconds, how often the tasks that removes the expired entries from this cache runs.
-- Default value: 60000 (1 minute)
SET 'com.denodo.vdb.security.LDAPRolesCache.CacheMaintenancePeriodMilliseconds' = '120000';