第3章 レガシーセキュリティーサブシステム
3.1. LDAP を使用するようセキュリティードメインを設定 リンクのコピーリンクがクリップボードにコピーされました!
セキュリティードメインは、ログインモジュールを使用して認証および承認に LDAP サーバーを使用するよう設定できます。セキュリティードメインおよびログインモジュールの基本は、JBoss EAP 『セキュリティーアーキテクチャー 』ガイドで説明しています。LdapExtended は LDAP サーバー (Active Directory を含む) との統合に推奨されるログインモジュールですが、他のいくつかの LDAP ログインモジュールも使用できます。特に、LDAP を使用するようセキュリティードメインを設定するには、Ldap、AdvancedLdap、AdvancedAdLdap ログインモジュールを使用することもできます。本セクションでは、LdapExtended ログインモジュールを使用して、認証および承認に LDAP を使用するセキュリティードメインの作成方法を説明しますが、他の LDAP ログインモジュールを使用することもできます。他の LDAP ログインモジュールの詳細は、JBoss EAP『ログインモジュールのリファレンス』を参照してください。
レガシー security サブシステムが LDAP サーバーを使用して認証を実行する場合、JBoss EAP は 500または内部サーバーエラー (LDAP サーバーにアクセスできない場合) を返します。この動作は、同じ条件下で、401、または未承認のエラーコードを返す JBoss EAP の以前のバージョンとは異なります。
3.1.1. LdapExtended ログインモジュール リンクのコピーリンクがクリップボードにコピーされました!
LdapExtended (org.jboss.security.auth.spi.LdapExtLoginModule) はログインモジュール実装で、LDAP サーバー上のバインドユーザーと関連付けられたロールの特定に使用されます。ロールは再帰的にクエリーを行い、DN に従って階層的なロール構造を移動します。セキュリティードメインで LDAP を使用する場合、ほとんどの場合、特に Active Directory 以外の LDAP 実装では、LdapExtended ログインモジュールを使用する必要があります。LdapExtended ログインモジュールの設定オプションの完全リストは、JBoss EAP『ログインモジュールのリファレンス』の「LdapExtended ログインモジュール」を参照してください。
認証は以下のように行われます。
-
LDAP サーバーへの最初のバインドは、
bindDNオプションおよびbindCredentialオプションを使用して行われます。BindDNは LDAP ユーザーであり、ユーザーとロールのbaseCtxDNおよびrolesCtxDNツリーの両方を検索する機能があります。認証するユーザー DN は、baseFilter属性で指定されたフィルターを使用してクエリーされます。 -
生成されるユーザー DN は、
InitialLdapContext環境Context.SECURITY_PRINCIPALとして使用してユーザー DN を使用し、LDAP サーバーにバインドして認証されます。Context.SECURITY_CREDENTIALSプロパティーはコールバックハンドラーによって取得されるStringパスワードに設定されます。
3.1.1.1. LdapExtended ログインモジュールを使用するようセキュリティードメインを設定 リンクのコピーリンクがクリップボードにコピーされました!
データの例 (LDIF 形式)
LdapExtended ログインモジュールを追加する CLI コマンド
ここで使用する管理 CLI コマンドは、JBoss EAP スタンドアロンサーバーを実行していることを仮定しています。JBoss EAP 管理対象ドメインの管理 CLI を使用する場合の詳細は『管理 CLI ガイド』を参照してください。
3.1.1.1.1. Active Directory に LdapExtended ログインモジュールを使用するようセキュリティードメインを設定 リンクのコピーリンクがクリップボードにコピーされました!
Microsoft Active Directory では、LdapExtended ログインモジュールを使用できます。
以下の例は、デフォルトの Active Directory 設定を示しています。Active Directory の設定によっては、通常のポート 389 ではなく、ポート 3268 でグローバルカタログを検索する必要がある場合があります。これは、Active Directory フォレストに複数のドメインが含まれる場合によく見られます。
デフォルト AD 設定用の LdapExtended ログインモジュールの設定例
以下の例では、Active Directory 内で再帰的なロール検索を実装します。この例と、デフォルトの Active Directory の例の主な違いは、ユーザーの DN を使用してメンバー属性を検索するためにロール検索が置き換えられている点です。ログインモジュールは、ロールの DN を使用して、グループがメンバーとなっているグループを検索します。
再帰検索を使用したデフォルトの AD 設定に対する LdapExtended ログインモジュールの設定例