前へ     目次     索引     DocHome     次へ     
iPlanet Directory Server 5.1 管理者ガイド



第 16 章   パススルー認証プラグインの使用


PTA (パススルー認証) は、1 つの Directory Server が別の Directory Server に問い合わせてバインド要求を認証するメカニズムです。この機能は PTA プラグインによって提供されます。この機能によって、ローカルデータベースに格納されていないエントリに対するパスワードに基づく単純なバインド操作を、 Directory Server で受け入れることができるようになります。

iPlanet Directory Server 5.1 で PTA を使用することによって、管理者は、Directory Server の別のインスタンス上のユーザディレクトリと構成ディレクトリを管理できるようになります。

この章では、PTA プラグインについて、次の項目ごとに説明します。



Directory Server 5.1 での PTA の使用

構成ディレクトリとユーザディレクトリを Directory Server の別のインスタンスにインストールした場合は、構成の管理者 (通常は admin) が管理業務を実行できるように、インストールプログラムによって自動的に PTA が設定されます。

このような場合に PTA が必要になるのは、admin ユーザのエントリが構成ディレクトリ内の o=NetscapeRoot の下に格納されるためです。このため、admin としてユーザディレクトリにバインドしようとしても、通常は失敗します。PTA を使用すると、ユーザディレクトリが、資格情報を構成ディレクトリに転送できるようになります。続けて、構成ディレクトリで、資格が検証されます。検証が完了すると、ユーザディレクトリは、admin ユーザによるバインドを許可します。

この例のユーザディレクトリは、PTA directory server として機能します。つまり、バインド要求をほかの Directory Server にパススルーするサーバです。構成ディレクトリは、認証ディレクトリとして機能します。つまり、エントリを格納し、要求元クライアントのバインド資格を検証するサーバです。

この章では、パススルーサブツリーという用語も使用します。パススルーサブツリーは、PTA ディレクトリ上に存在しないサブツリーです。ユーザのバインド DN にこのサブツリーが含まれている場合は、ユーザの資格情報が認証ディレクトリに渡されます。



 

ユーザディレクトリと構成ディレクトリを同じサーバ上に置いた場合は、Directory Server Console 内に PTA プラグインは表示されません。  



次に、パススルー認証のしくみについて説明します。

  1. Configuration Directory Server (認証ディレクトリ) をマシン A にインストールします。

    • サーバ名 : configdir.siroe.com

    • 接尾辞 : o=NetscapeRoot

  2. ユーザ Directory Server (PTA ディレクトリ) をマシン B にインストールします。

    • サーバ名 : userdir.siroe.com

    • 接尾辞 : dc=siroe,dc=com

  3. マシン B にユーザディレクトリをインストールするときに、LDAP URL を指定するように要求されます。この URL がマシン A の構成ディレクトリを示します。

  4. インストールプログラムによってユーザディレクトリ上の dse.ldif ファイルにエントリが追加されます。これで PTA プラグインが有効になります。

    このエントリは、指定した LDAP URL を含んでいます。たとえば、次のようにします。

    dn: cn=Pass Through Authentication,cn=plugins,
    objectClass: top
    objectClass: nsSlapdPlugin
    objectClass: extensibleObject
    cn: Pass Through Authentication
    nsslapd-pluginPath: installDir/lib/passthru-plugin.so
    nsslapd-pluginInitfunc: passthruauth_init
    nsslapd-pluginType: preoperation
    nsslapd-pluginEnabled:on
    nsslapd-pluginarg0: ldap://config.siroe.com/ou=NetscapeRoot
    nsslapd-plugin-depends-on-type:database
    nsslapd-pluginId: passthruauth
    nsslapd-pluginVersion: 5.0
    nsslapd-pluginVendor:Sun | Netscape Alliance
    nsslapd-pluginDescription: pass through authentication plugin

    これで、DN に o=NetscapeRoot が含まれるエントリに対するバインド要求がすべて構成ディレクトリ configdir.siroe.com に送信されるようにユーザディレクトリが構成されます。

  5. インストールの完了後に、admin ユーザでユーザディレクトリに接続して、ユーザの追加を試みます。

  6. 設定プログラムによって、admin ユーザのエントリが uid=admin, ou=TopologyManagement,o=NetscapeRoot としてディレクトリに追加されます。これによって、ユーザディレクトリは、PTA プラグインの構成で定義されたとおりに、バインド要求を構成ディレクトリにパススルーします。

  7. 構成ディレクトリは、ユーザの資格情報を認証し、その情報をユーザディレクトリに返します。

  8. ユーザディレクトリは、admin ユーザのバインドを許可します。



PTA プラグインの構文

PTA プラグインの構成情報は、PTA ディレクトリ (バインド要求を認証ディレクトリにパススルーするように構成されたユーザディレクトリ) 上の dse.ldif ファイル内にある cn=Pass Through Authentication,cn=plugins,cn=config エントリ内に指定します。このとき、この節で説明する構文を使用します。

dn: cn=Pass Through Authentication,cn=plugins, cn=config
objectClass: top
objectClass: nsSlapdPlugin
objectClass: extensibleObject
cn: Pass Through Authentication
nsslapd-pluginPath: installDir/lib/passthru-plugin.extension
nsslapd-pluginInitfunc: passthruauth_init
nsslapd-pluginType: preoperation
nsslapd-pluginEnabled: state
nsslapd-pluginarg0: ldap|ldaps://authDS/subtree [maxconns,maxops,timeout,ldver,connlifetime]

PTA プラグイン構文の変数コンポーネントについては、表 16-1 を参照してください。



 
  • LDAP URL (ldap|ldaps://authDS/subtree) と省略可能なパラメタ (maxconnsmaxopstimeoutldverconnlifetime) の間は、1 つの空白で区切る必要があります。

  • 省略可能なパラメタを明示的に定義する場合は、必要な指定が 1 つのデフォルト値だけであっても、すべての値を定義する必要があります。

  • nsslapd-pluginarg 属性の接尾辞をそれぞれの回で 1 ずつ増やすことによって、複数の認証ディレクトリやサブツリーを指定できます。詳細は、「複数の Authenticating Directory Server の指定」を参照してください。

 


次の表に、省略可能なパラメタを示します。表内の順序は、構文で使用するときの順序と同じです。


表 16-1 PTA プラグインのパラメタ 

変数

定義

state  

プラグインが有効か、または無効かを指定する。指定できる値は on または off。詳細は、「プラグインのオンとオフの切り替え」を参照  

extension  

プラグインのファイル拡張子。拡張子は常に、HP-UX の場合は .sl、その他の UNIX プラットフォームの場合は .so、Windows NT の場合は .dll になる  

ldap|ldaps  

Directory Server 間の通信に SSL が使用されるかどうかを定義する。詳細は、「セキュリティ保護された接続を使用するためのサーバの構成」を参照  

authDS  

認証ディレクトリのホスト名。コロンの頃哉にポート番号を指定することによって、Directory Server のポート番号を指定できる。たとえば、次のようにする

ldap://dirserver.siroe.com:390/

ポート番号を指定しない場合は、PTA サーバによって、次のポート番号を使用して接続が試行される

  • URL 内で ldap:// が指定されている場合は、ポート 389

  • URL 内で ldaps:// が指定されている場合は、ポート 636

詳細は、「Authenticating Directory Server の指定」を参照  

subtree  

パススルーサブツリー (pass-through subtree) PTA Directory Server は、このサブツリー内に含まれる DN を持つクライアントすべてからのバインド要求をすべて認証ディレクトリにパススルーする

詳細は、「パススルーサブツリーの指定」を参照  

maxconns  

省略可能。PTA ディレクトリが認証ディレクトリに対して同時に開くことができる接続の最大数。デフォルトは 3

詳細は、「省略可能なパラメタの構成」を参照  

maxops  

省略可能。単一の接続中に、PTA ディレクトリが認証ディレクトリに同時に送信できる処理 (通常はバインド要求) の最大数。デフォルトは 5

詳細は、「省略可能なパラメタの構成」を参照  

timeout  

省略可能。PTA ディレクトリが Authenticating Directory Server からの応答を待機できる制限時間 (秒)。このタイムアウトを超えると、サーバはクライアントにエラーを返す

デフォルトは 300 秒 (5 分)。制限時間を設定しない場合は 0 を指定する

詳細は、「省略可能なパラメタの構成」を参照  

ldver  

省略可能。認証ディレクトリに接続するために使用される LDAP プロトコルのバージョン。iPlanet Directory Server は、LDAP バージョン 2 および 3 をサポートする

詳細は、「省略可能なパラメタの構成」を参照  

connlifetime  

省略可能。接続使用の制限時間 (秒)。この制限時間が経過したあとに、クライアントからバインド要求が開始された場合、サーバはいったん接続を切断してから、認証ディレクトリへの新しい接続を開く。バインド要求が開始され、ディレクトリによって接続制限時間を超過していると判断されない限り、サーバは接続を切断しない

このオプションを指定しない場合、または一覧表示されているホストが 1 つだけの場合は、接続の制限時間は適用されない。複数のホストが指定されている場合は、デフォルトで 300 秒 (5 分) に設定される

詳細は、「省略可能なパラメタの構成」を参照  



PTA プラグインの構成



PTA プラグインを構成する唯一の方法は、dse.ldif ファイル内のエントリ
cn=Pass Through Authentication,cn=plugins,cn=config を変更することです。dse.ldif ファイルを修正するには、次の手順を実行します。

  1. ldapmodify コマンドを使用して、cn=Pass Through Authentication,cn=plugins,cn=config を修正します。

  2. Directory Server を再起動します。

この節で説明したいずれかのパラメタを構成するには、dse.ldif ファイル内に PTA プラグインのエントリが含まれている必要があります。このエントリがない場合は、「PTA プラグインの構文」で説明しているように、適切な構文を使用してエントリを作成する必要があります。



 

ユーザディレクトリと構成ディレクトリを別のディレクトリのインスタンスにインストールした場合は、PTA プラグインのエントリが自動的にユーザディレクトリの dse.ldif ファイルに追加されます。ユーザディレクトリと構成ディレクトリを同じインスタンスにインストールした場合は、PTA プラグイン構文が自動的には追加されないので、手動でこの構文を追加する必要があります。  



ここでは、プラグインの構成について説明します。


プラグインのオンとオフの切り替え

コマンド行から PTA プラグインを有効にするには、次の手順を実行します。

  1. 次の LDIF 更新文を含む LDIF ファイルを作成します。

    dn: cn=Pass Through Authentication,cn=plugins, cn=config
    cn: Pass Through Authentication
    changetype: modify
    replace: nsslapd-pluginenabled
    nsslapd-pluginenabled:on

  2. ldapmodify コマンドを使用して、LDIF ファイルをディレクトリにインポートします。

    ldapmodify コマンドについては、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。

  3. プラグインを有効にする場合は、プラグインの初期化機能が適切に定義されていることを確認する必要もあります。

    エントリ cn=Pass Through Authentication,cn=plugins,cn=config に次の属性 - 属性値のペアが含まれている必要があります。

    nsslapd-pluginPath: installDir/lib/passthru-plugin.extension
    nsslapd-pluginInitfunc: passthruauth_init

    ここで extension は、HP-UX の場合は .sl、その他の UNIX プラットフォームの場合は .so、Windows NT の場合は .dll になります。

  4. サーバを再起動します。

    サーバの再起動については、「Directory Server の起動と停止」を参照してください。

プラグインを無効にするには、LDIF 更新文を nsslapd-pluginenabled: on 文を削除し、nsslapd-pluginenabled: off 文を追加するように変更します。コマンド行から PTA プラグインを有効または無効にした場合は、サーバを再起動する必要があります。


セキュリティ保護された接続を使用するためのサーバの構成

PTA ディレクトリが SSL を介して認証ディレクトリと通信するように構成することができます。このためには、PTA ディレクトリの LDAP URL 内に LDAPS を指定します。

SSL を使用するように PTA ディレクトリと認証ディレクトリを構成するには、次の手順を実行します。

  1. 次の LDIF 更新文を含む LDIF ファイルを作成します。

    dn: cn=Pass Through Authentication,cn=plugins, cn=config
    cn: Pass Through Authentication
    changetype: modify
    replace: nsslapd-pluginarg0
    nsslapd-pluginarg0: ldaps://authDS/subtree [optional_parameters]

    この構文中の変数コンポーネントについては、「PTA プラグインのパラメタ」を参照してください。

  2. ldapmodify コマンドを使用して、LDIF ファイルをディレクトリにインポートします。

  3. サーバを再起動します。

    サーバの再起動については、「Directory Server の起動と停止」を参照してください。


Authenticating Directory Server の指定

認証ディレクトリには、エントリのバインド資格が含まれています。クライアントはこのバインド資格を使用してバインドを試行します。PTA ディレクトリは、認証ディレクトリとして定義されたホストにバインド要求を渡します。認証ディレクトリサーバを指定するには、PTA ディレクトリの LDAP URL 内にある authDS を認証ディレクトリのホスト名に置き換えます。

PTA の認証ディレクトリを指定するには、次の手順を実行します。

  1. 次の LDIF 更新文を含む LDIF ファイルを作成します。

    dn: cn=Pass Through Authentication,cn=plugins, cn=config
    cn: Pass Through Authentication
    changetype: add
    add: nsslapd-pluginarg0
    nsslapd-pluginarg0: ldap://authDS/subtree [optional_parameters]

    オプションで、コロン (:) の頃哉にポート番号を指定できます。ポート番号を指定しない場合は、PTA ディレクトリによって、次のポート番号を使用して接続が試行されます。

    • URL 内で ldap:// が指定されている場合は、ポート 389

    • URL 内で ldaps:// が指定されている場合は、ポート 636

    たとえば、nsslapd-pluginarg0 属性値を次のように設定できます。

    "ldap://dirserver.siroe.com:389/subtree [Parameters]"

    この構文中の変数コンポーネントについては、「PTA プラグインのパラメタ」を参照してください。

  2. ldapmodify コマンドを使用して、LDIF ファイルをディレクトリにインポートします。

  3. サーバを再起動します。

    サーバの再起動については、「Directory Server の起動と停止」を参照してください。


パススルーサブツリーの指定

PTA ディレクトリは、パススルーサブツリー (pass-through subtree) 内に定義された DN を持つクライアントからのバインド要求を認証ディレクトリにパススルーします。サブツリーを指定するには、PTA ディレクトリの LDAP URL 内にある subtree パラメタを置き換えます。

パススルーサブツリーは、PTAディレクトリ内に存在することはできません。PTA ディレクトリに内に存在している場合は、PTA ディレクトリが自身のコンテンツを使用してバインド要求を解決しようとするので、バインドが失敗します。

パススルーサブツリーを指定するには、次の手順を実行します。

  1. 次の LDIF 更新文を含む LDIF ファイルを作成します。

    dn: cn=Pass Through Authentication,cn=plugins, cn=config
    cn: Pass Through Authentication
    changetype: add
    add: nsslapd-pluginarg0
    nsslapd-pluginarg0: ldap://authDS/subtree [optional_parameters]

    たとえば、nsslapd-pluginarg0 属性値を次のように設定できます。

    "ldap://dirserver.siroe.com/o=NetscapeRoot [Parameters]"

    この構文中の変数コンポーネントについては、「PTA プラグインのパラメタ」を参照してください。

  2. ldapmodify コマンドを使用して、LDIF ファイルをディレクトリにインポートします。

  3. サーバを再起動します。

    サーバの再起動については、「Directory Server の起動と停止」を参照してください。


省略可能なパラメタの構成

PTA プラグインに対して、次の省略可能なパラメタを構成できます。

  • PTA ディレクトリが認証ディレクトリに対して同時に開くことができる接続の最大数。PTA 構文内の maxconns で指定する。デフォルト値は 3

  • 単一の接続中に、PTA Directory Server が Authenticating Directory Server に同時に送信できるバインド要求の最大数。PTA 構文内では、このパラメタは maxops として指定する。デフォルト値は 5

  • PTA Directory Server が Authenticating Directory Server からの応答を待機できる制限時間。PTA 構文内では、このパラメタは timeout として指定する。デフォルト値は 300 秒 (5 分)

  • PTA Directory Server が Authenticating Directory Server に接続するために使用する LDAP プロトコルのバージョン。PTA 構文内では、このパラメタは ldver として指定する。デフォルトは LDAPv3

  • 接続使用の制限時間 (秒)。この制限時間が経過した後に、クライアントからバインド要求が開始された場合、サーバはいったん接続を切断してから、Authenticating Directory Server への新しい接続を開く。バインド要求が開始され、サーバによってタイムアウトが超過していると判断されない限り、サーバは接続を切断しない。このオプションを指定しない場合、または authDS パラメタ内でリストされた認証ディレクトリサーバが 1 つだけの場合は、制限時間は強制されない。複数のホストが指定されている場合は、デフォルトで 300 秒 (5 分) に設定される。PTA 構文内では、このパラメタは connlifetime として指定する



     

    以上のパラメタは省略可能です。ただし、1 つでもパラメタを指定する場合は、その他のパラメタにデフォルト値を使用するのであっても、すべてのパラメタの指定が必要です。  



  • 次の LDIF 更新文を含む LDIF ファイルを作成します。

    dn: cn=Pass Through Authentication,cn=plugins, cn=config
    cn: Pass Through Authentication
    changetype: add
    add: nsslapd-pluginarg0
    nsslapd-pluginarg0: ldap://authDS/subtree [maxconns,maxops,timeout,ldver,connlifetime]

    subtree パラメタと省略可能なパラメタの間に空白が挿入されていることを確認します。

    たとえば、nsslapd-pluginarg0 属性値を次のように設定できます。

    "ldap://dirserver.siroe.com/o=NetscapeRoot 3,5,300,3,300"

    この例では、省略可能な各パラメタはそれぞれのデフォルト値に設定されています。

  • ldapmodify コマンドを使用して、LDIF ファイルをディレクトリにインポートします。

  • サーバを再起動します。

    サーバの再起動については、「Directory Server の起動と停止」を参照してください。



PTA プラグインの構文例

この節では、dse.ldif ファイル内の PTA プラグインの次のような構文例を示します。


1 つの Authenticating Directory Server と 1 つのサブツリーの指定
この例では、省略可能な変数のデフォルトをすべてそのまま使用して PTA プラグインを構成します。この構成によって、PTA Directory Server は、o=NetscapeRoot サブツリーへのバインド要求があるたびに Authenticating Directory Server に接続します。Authenticating Directory Server のホスト名は、config-dir.siroe.com です。

dn: cn=Pass Through Authentication,cn=plugins, cn=config
objectClass: top
objectClass: nsSlapdPlugin
objectClass: extensibleObject
cn: Pass Through Authentication
nsslapd-pluginPath: installDir/lib/passthru-plugin.so
nsslapd-pluginInitfunc: passthruauth_init
nsslapd-pluginType: preoperation
nsslapd-pluginEnabled:on
nsslapd-pluginarg0: ldap://config-dir.siroe.com/ou=NetscapeRoot
nsslapd-plugin-depends-on-type:database
nsslapd-pluginId: passthruauth
nsslapd-pluginVersion: 5.0
nsslapd-pluginVendor:Sun | Netscape Alliance
nsslapd-pluginDescription: pass through authentication plugin


複数の Authenticating Directory Server の指定
PTA Directory Server と Authenticating Directory Server の間の接続が切断された場合や接続を開けない場合に、次に指定されたサーバがあるときは、PTA Directory Server は、そのサーバに要求を送信します。Authenticating Directory Server は、必要な数だけ指定できます。

dn: cn=Pass Through Authentication,cn=plugins, cn=config
objectClass: top
objectClass: nsSlapdPlugin
objectClass: extensibleObject
cn: Pass Through Authentication
nsslapd-pluginPath: installDir/lib/passthru-plugin.so
nsslapd-pluginInitfunc: passthruauth_init
nsslapd-pluginType: preoperation
nsslapd-pluginEnabled:on
nsslapd-pluginarg0: ldap://config-dir.siroe.com/ou=NetscapeRoot
nsslapd-pluginarg1: ldap://config2-dir.siroe.com/ou=NetscapeRoot
nsslapd-plugin-depends-on-type:database
nsslapd-pluginId: passthruauth
nsslapd-pluginVersion: 5.0
nsslapd-pluginVendor:Sun | Netscape Alliance
nsslapd-pluginDescription: pass through authentication plugin


1 つの Authenticating Directory Server と複数のサブツリーの指定
次の例では、パラメタのデフォルト値を使用して複数のサブツリーに対するバインド要求をパススルーするように、PTA Directory Server を構成します。

dn: cn=Pass Through Authentication,cn=plugins, cn=config
objectClass: top
objectClass: nsSlapdPlugin
objectClass: extensibleObject
cn: Pass Through Authentication
nsslapd-pluginPath: installDir/lib/passthru-plugin.so
nsslapd-pluginInitfunc: passthruauth_init
nsslapd-pluginType: preoperation
nsslapd-pluginEnabled:on
nsslapd-pluginarg0: ldap://config-dir.siroe.com/ou=NetscapeRoot
nsslapd-pluginarg1: ldap://config-dir.siroe.com/dc=siroe,dc=com
nsslapd-plugin-depends-on-type:database
nsslapd-pluginId: passthruauth
nsslapd-pluginVersion: 5.0
nsslapd-pluginVendor:Sun | Netscape Alliance
nsslapd-pluginDescription: pass through authentication plugin


デフォルト以外のパラメタ値の使用
この例では、接続の最大数を示すパラメタ maxconns だけにデフォルト以外の値 (10) を使用します。ほかの各パラメタは、デフォルト値に設定されています。ただし、1 つのパラメタを明示的に指定しているため、すべてのパラメタを構文内で明示的に指定する必要があります。

dn: cn=Pass Through Authentication,cn=plugins, cn=config
objectClass: top
objectClass: nsSlapdPlugin
objectClass: extensibleObject
cn: Pass Through Authentication
nsslapd-pluginPath: installDir/lib/passthru-plugin.so
nsslapd-pluginInitfunc: passthruauth_init
nsslapd-pluginType: preoperation
nsslapd-pluginEnabled:on
nsslapd-pluginarg0: ldap://config-dir.siroe.com/ou=NetscapeRoot 10,5,300,3,300
nsslapd-plugin-depends-on-type:database
nsslapd-pluginId: passthruauth
nsslapd-pluginVersion: 5.0
nsslapd-pluginVendor:Sun | Netscape Alliance
nsslapd-pluginDescription: pass through authentication plugin


Authenticating Directory Server ごとに異なる省略可能パラメタとサブツリーの指定
Authenticating Directory Server ごとに異なるパススルーサブツリーと省略可能パラメタを指定する場合は、複数の LDAP URL と省略可能パラメタのペアを指定する必要があります。LDAP URL と省略可能パラメタのペアは、次のように 1 つの空白で区切ります。

dn: cn=Pass Through Authentication,cn=plugins, cn=config
objectClass: top
objectClass: nsSlapdPlugin
objectClass: extensibleObject
cn: Pass Through Authentication
nsslapd-pluginPath: installDir/lib/passthru-plugin.so
nsslapd-pluginInitfunc: passthruauth_init
nsslapd-pluginType: preoperation
nsslapd-pluginEnabled:on
nsslapd-pluginarg0: ldap://config-dir.siroe.com/ou=NetscapeRoot 7.7,300,3,300
nsslapd-pluginarg1: ldap://config2-dir.siroe.com/dc=siroe,dc=com 7,7,300,3,300
nsslapd-plugin-depends-on-type:database
nsslapd-pluginId: passthruauth
nsslapd-pluginVersion: 5.0
nsslapd-pluginVendor:Sun | Netscape Alliance
nsslapd-pluginDescription: pass through authentication plugin


前へ     目次     索引     DocHome     次へ     
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated February 26, 2002