LDAP認証設定ファイル(アカウントの認証にLDAP認証を利用する場合)¶
intra-mart Accel Platform でアカウントの認証にLDAP認証を利用する方法を解説します。
項目
LDAP認証モジュールの機能¶
アカウントの認証時に入力されたユーザIDおよびパスワードを利用してLDAPサーバに対して認証を行うモジュールです。
LDAP認証モジュールでは、以下の機能を提供します。
- 設定したLDAPサーバのディレクトリ配下に存在するユーザを検索して認証ができます。(複数 OU 対応)
- 複数のLDAPサーバを設定できます。
- LDAPサーバがダウンしてる場合に、順次設定されたLDAPサーバに問合せ先を切り替えます。
- LDAPサーバで認証が失敗した場合、順次設定されたLDAPサーバに問合せ先を切り替えることも可能です。
注意
LDAPサーバのユーザIDと同じユーザIDのアカウントが intra-mart Accel Platform にも必要となります。
- パスワード以外の情報は intra-mart Accel Platform のアカウント情報を利用します。
注意
LDAPサーバに Active Directory を利用する場合は、LDAPサーバでユーザの検索を行うための検索用LDAPユーザの設定が必要です。
詳しくは <search-controls> を参照してください。
LDAP認証モジュールの利用¶
LDAP認証モジュールを利用する場合は、以下の手順でモジュールを追加します。
im-Juggling で LDAP認証モジュールを選択してください。
LDAP認証モジュールを選択すると、エディタ上部に警告が表示されます。[設定ファイルが存在しません(LDAP認証設定ファイル)]のリンクをクリックします。 「設定ファイル解決」ダイアログが表示されますので、[OK]をクリックします。LDAP認証設定ファイル(ldap-certification-config.xml)がプロジェクトのconfに追加されます。 追加されたldap-certification-config.xmlをエディタで編集します。
LDAP認証設定ファイル¶
LDAP認証に用いるLDAPサーバおよび各種設定を行うファイルです。
<?xml version="1.0" encoding="UTF-8"?> <ldap-certification-config xmlns="http://intra-mart.co.jp/system/security/certification/provider/ldap" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://intra-mart.co.jp/system/security/certification/provider/ldap ../schema/ldap-certification-config.xsd "> <enable>false</enable> <load-balancing>false</load-balancing> <attempt-on-failed-authentication>true</attempt-on-failed-authentication> <log>false</log> <ldap-servers> <ldap-server> <permit-no-password>true</permit-no-password> <provider-url>ldap://localhost:389/</provider-url> <context-factory>com.sun.jndi.ldap.LdapCtxFactory</context-factory> <base-dn>dc=ldaps,dc=intra,dc=intra-mart,dc=jp</base-dn> <search-filter>sAMAccountName=?</search-filter> <search-controls> <connect-timeout-property-name>com.sun.jndi.ldap.connect.timeout</connect-timeout-property-name> <connect-timeout>0</connect-timeout> <searching-dn>sAMAccountName=admin,cn=User,dc=ldaps,dc=intra,dc=intra-mart,dc=jp</searching-dn> <searching-pw>******</searching-pw> <count-limit>0</count-limit> <time-limit>0</time-limit> </search-controls> </ldap-server> <ldap-server> <permit-no-password>true</permit-no-password> <provider-url>ldap://localhost2:389/</provider-url> <context-factory>com.sun.jndi.ldap.LdapCtxFactory</context-factory> <base-dn>ou=People,dc=example,dc=com</base-dn> <search-filter>uid=?</search-filter> <search-controls> <connect-timeout-property-name>com.sun.jndi.ldap.connect.timeout</connect-timeout-property-name> <connect-timeout>0</connect-timeout> <searching-dn>uid=admin,ou=People,dc=example,dc=com</searching-dn> <searching-pw>******</searching-pw> <count-limit>0</count-limit> <time-limit>0</time-limit> </search-controls> </ldap-server> </ldap-servers> </ldap-certification-config>
<ldap-certification-config>¶
LDAP認証の共通的な設定を行います。
<ldap-certification-config>の子要素 タグ 説明 必須 設定値 デフォルト値 複数設定 <enable> LDAP認証を利用するかどうかを設定します。○ true / false なし × <load-balancing> ロードバランサを有効にします。false : <ldap-servers>に設定されている<ldap-server>順に認証を試みます。true : <ldap-server>の開始位置をランダムに決定し、決定した位置を基準にし、設定した順に認証を試みます。× true / false false × <attempt-on-failed-authentication> LDAP 認証失敗(ユーザID またはパスワードが不正)時に次の<ldap-server>に認証を試みます。false : 次の<ldap-server>に認証を試みません。true : 次の<ldap-server>に認証を試みます。× true / false false × <log> ログをコンソールに出力かどうかを設定します。デバッグ用のオプションです。× true / false false × <ldap-servers> このタグの配下に<ldap-server>を使用して、認証に利用するLDAPサーバの設定を行います。○ なし なし ×
<ldap-server>¶
LDAP認証に用いるLDAPサーバの設定を記述します。<ldap-servers>の子要素です。
<ldap-server>の要素 タグ 説明 必須 設定値 デフォルト値 複数設定 <ldap-server> 認証に用いるLDAPサーバの設定を記述します。複数設定した場合、設定順にLDAPサーバに通信を試みます。通信できない場合は、次のLDAPサーバに通信を試みます。○ なし なし 1つ以上
<ldap-server>の子要素 タグ 説明 必須 設定値 デフォルト値 複数設定 <permit-no-password> 空パスワードによる認証を許可するかどうかを設定します。false : 空パスワードを認証失敗とみなします。true : 空パスワードでLDAP に問い合わせます。× true/false false × <provider-url> プロバイダURL を設定します。 【例】ldap://localhost:389/○ URL なし × <context-factory> 認証に用いるLDAPサーバの設定を記述します。× コンテキストファクトリクラス名 com.sun.jndi.ldap.LdapCtxFactory × <base-dn> 識別情報のベースを設定します。【例】ou=People,dc=example,dc=com (Open LDAP)【例】dc=ldaps,dc=intra,dc=intra-mart,dc=jp (Active Directory)○ なし なし × <search-filter> ユーザを特定する為に一意になる属性を設定します。【例】uid=? (Open LDAP)【例】sAMAccountName=? (Active Directory)<search-filter> の代わりに <serch-filter>も利用できますが、<search-filter> を利用してください。○ なし なし × <search-controls> LDAPサーバでユーザを検索するためのオプションを設定します。× なし なし × <certification-options> ユーザ認証において、LDAPサーバに問い合わせる時のオプションを設定します。× なし なし ×
<search-controls>¶
ユーザ検索において、LDAPサーバの問い合わせに利用するオプションを設定します。<ldap-server>の子要素です。
<search-controls>の子要素 タグ 説明 必須 設定値 デフォルト値 複数設定 <connect-timeout-property-name> 接続タイムアウトを設定するプロパティ名を設定します。【例】com.sun.jndi.ldap.connect.timeout× 文字列 なし × <connect-timeout> 接続タイムアウト時間を設定します。<connect-timeout-property-name> に com.sun.jndi.ldap.connect.timeoutを設定した場合ミリ秒数を示す0 より大きい整数で設定し、LDAPサーバがこの値の期間中に接続を確立できないと、接続の試行は中止されます。0 以下の整数設定した場合または設定しない場合は、TCP などのネットワークプロトコルのタイムアウト値が使用されます。× ミリ秒 なし × <searching-dn> または <serching-dn> LDAPサーバでユーザを検索するためのユーザ(DN)を設定します。【例】uid=admin,?ou=People,dc=example,dc=com (Open LDAP)【例】sAMAccountName=?,dc=ldaps,dc=intra,dc=intra-mart,dc=jp (Active Directory)この設定は、ActiveDirectory の場合には必要になります。<searching-dn> の代わりに <serching-dn> も利用できますが、<searching-dn> を利用してください。× なし なし × <searching-pw> または <serching-pw> LDAPサーバでユーザを検索するためのユーザパスワードを設定します。この設定は、ActiveDirectory の場合には必要になります。<searching-pw> の代わりに <serching-pw> も利用できますが、<searching-pw> を利用してください。× なし なし × <count-limit> 最大検索数を設定します。デフォルト:0(上限無し)× 最大検索数 0(上限なし) × <time-limit> 時間制限(ミリ秒)を設定します。× ミリ秒 0(無制限) × <deref-linf> 間接参照の有無を設定します。× true / false false × <returning-obj> 結果の一部がオブジェクトとして返すかどうかを設定します。× true / false false × <returning-attribute> 結果として返される属性を設定します。指定あり:指定した属性のみ返します。 |指定なし:すべての属性を返します。 |× 属性ID(複数指定可能:[,]カンマで区切る) 指定なし(すべての属性) × <options> ユーザ検索において、LDAPサーバの問い合わせに利用する追加オプションを設定します。追加オプションを設定するための親タグです。このタグの配下に<option>を使用して、追加オプションの設定を行います。× なし なし ×
<certification-options>¶
ユーザ認証において、LDAPサーバの問い合わせに利用するオプションを設定します。<ldap-server>の子要素です。
<certification-options>の子要素 タグ 説明 必須 設定値 デフォルト値 複数設定 <options> ユーザ認証において、LDAPサーバの問い合わせに利用する追加オプションを設定します。追加オプションを設定するための親タグです。このタグの配下に<option>を使用して、追加オプションの設定を行います。× なし なし ×
<option>¶
LDAPサーバの問い合わせに利用する追加オプションを設定します。<options> の子要素です。<options> <option name="*****" value="*****"/> </options>
<option>の要素 タグ 説明 必須 設定値 デフォルト値 複数設定 <option> ユーザ認証において、LDAPサーバの問い合わせに利用する追加オプションの内容を設定します。○ なし なし 1つ以上
<option>の属性 属性名 説明 必須 設定値 デフォルト値 name オプション名を設定します。○ 文字列 なし value オプションの値を設定します。○ 文字列 なし