9.7.4. 管理インターフェースに対する LDAP を使用した認証
- LDAP サーバーへの送信接続を作成します。
- LDAP 対応のセキュリティレルムを作成します。
- 管理インターフェースの新規セキュリティドメインを参照します。
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)
/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
管理インターフェースは、デフォルトで設定されているプロパティファイルをベースとするセキュリティレルムの代わりに LDAP サーバーに対して認証を行うことができます。LDAP 認証システムは、最初にリモートのディレクトリサーバーとの接続を確立することによって機能します。次に、ユーザーが認証システムに渡したユーザー名を使用して検索を実行し、LDAP レコードで完全修飾識別名 (DN) を探します。資格情報としてユーザーの DN とユーザーによって提供されたパスワードを使用して、新規接続が確立されます。 LDAP サーバーに対してこの認証が成功すると、DN が有効であることが確認されます。
- 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"
例9.10 LDAP セキュリティレルムの追加
/host=master/core-service=management/security-realm=ldap_security_realm/:add
/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=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=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=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=user-dn,value=dn)
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap/:write-attribute(name=username-attribute,value=sambaAccountName)
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap/:write-attribute(name=username-attribute,value=sambaAccountName)
セキュリティドメインの作成が完了したら、管理インターフェースの設定でそのドメインを参照する必要があります。管理インターフェースは、HTTP ダイジェスト認証用のセキュリティレルムを使用します。
例9.11 HTTP インターフェースへのセキュリティレルム適用
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=TestRealm)
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=TestRealm)