9.7.4. 管理インターフェースに対する LDAP を使用した認証
管理コンソール、管理 CLI、管理 API の認証ソースとして LDAP ディレクトリサーバーを使用するには、以下の手順を実行する必要があります。
- LDAP サーバーへの送信接続を作成します。
- LDAP 対応のセキュリティレルムを作成します。
- 管理インターフェースの新規セキュリティドメインを参照します。
LDAP サーバーへの送信接続を作成します。
LDAP 送信接続には、以下の属性を使用することができます。
表9.1 LDAP 送信接続の属性
属性 | 必須 | 説明 |
---|---|---|
名前 | はい |
この接続を識別するための名前。この名前はセキュリティレルムの定義に使用されます。
|
url | はい |
ディレクトリサーバーの URL アドレス
|
search-dn | はい |
検索の実行を許可されているユーザーの完全識別名 (DN)
|
search-credentials | はい |
検索の実行を許可されているユーザーのパスワード
|
initial-context-factory | いいえ |
接続を確立する際に使用する初期コンテキストファクトリ。デフォルトでは
com.sun.jndi.ldap.LdapCtxFactory に設定されています。
|
例9.7 LDAP 送信接続の追加
この例では、以下のプロパティーセットを使用して送信接続を追加します。
- Search DN:
cn=search,dc=acme,dc=com
- Search Credential:
myPass
- URL:
http://127.0.0.1
/host=master/core-service=management/ldap-connection=ldap_connection/:add(search-credential=myPass,url=http://127.0.0.1,search-dn=cn=search,dc=acme,dc=com)
例9.8 LDAP 送信出力を示す XML
<outbound-connections> <ldap name="ldap_connection" url="ldap://127.0.0.1" search-dn="cn=search,dc=acme,dc=com" search-credential="myPass /> </outboundconnections>
LDAP 対応セキュリティレルムの作成
管理インターフェースは、デフォルトで設定されているプロパティファイルをベースとするセキュリティレルムの代わりに LDAP サーバーに対して認証を行うことができます。LDAP 認証システムは、最初にリモートのディレクトリサーバーとの接続を確立することによって機能します。次に、ユーザーが認証システムに渡したユーザー名を使用して検索を実行し、LDAP レコードで完全修飾識別名 (DN) を探します。資格情報としてユーザーの DN とユーザーによって提供されたパスワードを使用して、新規接続が確立されます。 LDAP サーバーに対してこの認証が成功すると、DN が有効であることが確認されます。
LDAP のセキュリティレルムが機能を実行するには、以下のような属性とエレメントが必要です。
- connection
<outbound-connections>
で定義されている接続名。LDAP ディレクトリへの接続に使用します。- base-dn
- ユーザー検索を開始するためのコンテキストの識別名
- recursive
- LDAP ディレクトリツリー全体にわたって再帰的に検索を行うか、指定のコンテキストのみを検索するかの指定。デフォルトでは
false
に設定されています。 - user-dn
- 識別名を持つするユーザーの属性。これは、後で認証のテストに使用されます。デフォルトでは
dn
に設定されています。 - 子要素として、
username-filter
またはadvanced-filter
のいずれか一方。 username-filter
はattribute
と呼ばれる単一の属性を取ります。その値はuserName
やsambaAccountName
などのユーザー名を格納する LDAP の属性名です。advanced-filter
はfilter
と呼ばれる単一の属性を取ります。この属性には、(&(sAMAccountName={0})(memberOf=cn=admin,cn,useres,dc=acme,dc=com))
のような標準的な LDAP 構文のフィルタークエリが含まれています。
例9.9 LDAP 対応のセキュリティレルムを示す XML
この例には、以下のパラメーターを使用します。
- connection -
ldap_connection
- base-dn -
cn=users,dc=acme,dc=com
. - username-filter -
attribute="sambaAccountName"
<security-realm name="TestRealm"> <authentication> <ldap connection="ldap_connection" base-dn="cn=users,dc=acme,dc=com"> <username-filter-attribute="sambaAccountName" /> </ldap> </authentication> </security-realm>
例9.10 LDAP セキュリティレルムの追加
以下のコマンドはセキュリティレルムを追加し、その属性を設定します。
/host=master/core-service=management/security-realm=ldap_security_realm/:add
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap/:write-attribute(name=connection,value=ldap_connection)
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap/:write-attribute(name=base-dn,value=cn=users,dc=acme,dc=com)
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap/:write-attribute(name=recursive,value=false)
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap/:write-attribute(name=user-dn,value=dn)
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap/:write-attribute(name=username-attribute,value=sambaAccountName)
管理インターフェースへの新規セキュリティドメイン適用
セキュリティドメインの作成が完了したら、管理インターフェースの設定でそのドメインを参照する必要があります。管理インターフェースは、HTTP ダイジェスト認証用のセキュリティレルムを使用します。
例9.11 HTTP インターフェースへのセキュリティレルム適用
この設定が有効になると、Web ベースの管理コンソールは LDAP を使用してユーザーの認証を行います。
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=TestRealm)
Restart JBoss Enterprise Application Platform を再起動すると、HTTP インターフェースは認証に LDAP サーバーを使用するようになります。