Sun Java 徽标     上一章      目录      索引      下一章     

Sun 徽标
Sun Java(TM) System Directory Server 5 2004Q2 管理指南 

第 12 章
执行传递验证

传递验证 (PTA) 是一种机制,Directory Server 通过它查询另一个 Directory Server 以验证绑定请求。PTA 插件提供了这样的功能:允许 Directory Server 接受未存储在本地后缀中的条目的简单绑定操作(基于口令)。

Directory Server 使用 PTA 以便在单独的 Directory Server 实例上管理您的用户和配置目录。


如果您的用户目录与配置目录使用的是同一个服务器,则 Directory Server Console 中将不会列出 PTA 插件,但是可以创建该插件以使用传递验证。


本章在以下几节中介绍了 PTA 插件:


Directory Server 如何使用 PTA

如果将配置目录和用户目录分别安装在不同的 Directory Server 实例上,则安装程序会自动设置 PTA 以允许“配置管理员”用户(通常是 admin)来执行管理任务。

由于 admin 用户条目存储在配置目录中 o=NetscapeRoot 的下面,这时需要 PTA。因此,作为 admin 绑定至用户目录的尝试通常都会失败。PTA 允许用户目录将凭证传送至对它们进行验证的配置目录。这样用户目录就允许 admin 用户进行绑定了。

在此示例中,用户目录被用作 PTA 服务器,即将绑定请求传递至另一个 Directory Server 的服务器。配置目录被用作验证服务器,即,包含该条目并对请求客户机的绑定凭证进行验证的服务器。

本章中还将使用 PTA 子树这个术语。传递验证子树是指没有出现在 PTA 服务器中的子树。如果用户的绑定 DN 包含此子树,系统就会将用户的凭证传递至验证目录。

该步骤顺序显示了传递验证的工作方式:

  1. 在主机 configdir.example.com 上安装包含传递验证子树 o=NetscapeRoot 的配置目录服务器(验证目录)。
  2. 在主机 userdir.example.com 上安装包含 dc=example,dc=com 后缀中的数据的用户目录服务器(PTA 目录)。
  3. 在安装用户目录的过程中,系统会提示您提供指向配置目录的 LDAP URL,例如:
  4. ldap://configdir.example.com/o=NetscapeRoot

  5. 安装程序使用您提供的 LDAP URL 在用户目录中配置并启用 PTA 插件。
  6. 用户目录现在被配置为 PTA 目录。它将把其 DN 包含 o=NetscapeRoot 的条目的所有绑定请求发送到配置目录 configdir.example.com

  7. 安装完成后,admin 用户会尝试绑定到用户目录以开始创建用户数据。
  8. admin 条目以 uid=admin, ou=Administrators,ou=TopologyManagement,o=NetscapeRoot 的形式存储在配置目录中。因此,用户目录将按照 PTA 插件配置中的定义,将绑定请求传递至配置目录。

  9. 配置目录验证绑定凭证(包括口令),并将确认发送回用户目录。
  10. 用户目录即允许 admin 用户进行绑定。


配置 PTA 插件

PTA 插件配置信息会在 PTA 服务器上的 cn=Pass Through Authentication,cn=plugins,cn=config 条目中指定。

如果在不同的服务器实例上安装用户目录和配置目录,则系统会自动将 PTA 插件条目添加至用户目录的配置中。如果将两个目录都安装在同一实例上,且希望对其他目录执行传递验证,则必须首先创建插件配置条目。

创建插件配置条目

  1. 运行以下命令,创建插件配置条目:
  2. ldapmodify -a -h PTAhost -p port -D "cn=Directory Manager" -w password
    dn: cn=Pass Through Authentication,cn=plugins,cn=config
    objectClass: top
    objectClass: nsSlapdPlugin
    objectClass: extensibleObject
    cn: Pass Through Authentication
    nsslapd-pluginPath: ServerRoot/lib/passthru-plugin.so
    nsslapd-pluginInitfunc: passthruauth_init
    nsslapd-pluginType: preoperation
    nsslapd-plugin-depends-on-type: database
    nsslapd-pluginId: passthruauth
    nsslapd-pluginVersion: 5.2
    nsslapd-pluginVendor: Sun Microsystems, Inc.
    nsslapd-pluginDescription: pass through authentication plugin
    nsslapd-pluginEnabled: on or off
    nsslapd-pluginarg0: ldap[s]://authenticatingHost[:port]/PTAsubtree options

    其中 ServerRoot 取决于您的安装。

    插件参数指定标识验证目录服务器的主机名、可选的端口以及 PTA 子树的 LDAP URL。如果未指定端口,则 LDAP 的默认端口为 389,LDAPS 的默认端口为 636。也可以设置以下几节中所述的可选连接参数。如果 PTAhost 中存在 PTAsubtree,则插件不会将绑定请求传递到 authenticatingHost,且绑定将在本地处理,而不会进行任何传递。

  3. “启动和停止 Directory Server”中所述,重新启动服务器。

配置 PTA 以使用安全连接

因为 PTA 插件必须将包括口令的绑定凭证发送到验证目录,所以建议使用安全连接。要配置 PTA 目录以使其通过 SSL 与验证目录进行通讯,请执行以下操作:

设置可选的连接参数

PTA 插件参数可以接受 LDAP URL 后的一组可选的连接参数:

ldap[s]://host[:port]/subtree [maxconns,maxops,timeout,ldapver,connlife]

参数必须以显示的顺序给出。虽然这些参数是可选的,但是如果指定了其中之一,就必须指定所有这些参数。如果不希望定制所有参数,则请指定下面给出的默认值。请确保 subtree 参数与可选参数之间以一个空格分隔。

可以为每个 LDAP URL 配置以下可选的参数:

下面的示例中,PTA 插件参数将连接的数量增加到 10,而将超时减少到 1 分钟(60 秒)。为所有其他参数给定默认值:

ldaps://configdir.example.com:636/o=NetscapeRoot 10,5,60,3,300

指定多个服务器和子树

可以使用多个参数配置 PTA 插件以指定多个验证服务器、多个 PTA 子树,或同时指定两者。每个参数包含一个 LDAP URL,且可以拥有其自身的连接选项集。

当有多个验证服务器用于同一 PTA 子树时,它们会充当故障切换服务器。无论何时 PTA 连接达到超时限制时,插件都将按照列出的顺序建立到这些验证服务器的连接。如果所有连接超时,验证将失败。

如果定义了多个 PTA 子树,插件将根据绑定 DN 将验证请求传递到相应的服务器。以下示例显示了四个 PTA 插件参数,它们定义了两个 PTA 子树,每个子树具有一个用于验证的故障切换服务器和服务器特定的连接参数:

nsslapd-pluginarg0: ldaps://configdir.example.com/o=NetscapeRoot
 10,10,60,3,300
nsslapd-pluginarg1: ldaps://configbak.example.com/o=NetscapeRoot
 3,5,300,3,300
nsslapd-pluginarg2: ldaps://east.example.com/ou=East,ou=People,
 dc=example,dc=com 10,10,300,3,300
nsslapd-pluginarg3: ldaps://eastbak.example.com/ou=East,ou=People,
 dc=example,dc=com 3,5,300,3,300

还可通过用空格分隔主机名来指定多个服务器,如下面的示例中所示:

nsslapd-pluginarg0: ldaps://configdir.example.com:636 configbak.example.com:636/o=NetscapeRoot 10,10,60,3,300

修改 PTA 插件配置

可以随时重新配置 PTA 插件,将其启用或禁用,或者更改验证主机或 PTA 子树。

  1. 编辑 PTA 插件配置条目 (cn=Pass Through Authentication,cn=plugins,cn=config) 以修改 nsslapd-pluginenablednsslapd-pluginargN 属性。可以使用控制台或 ldapmodify 公用程序编辑配置。
  2. 例如,以下命令将启用具有 SSL 及以上所示连接参数的 PTA 插件。

    dn: cn=Pass Through Authentication,cn=plugins,cn=config
    changetype: modify
    replace: nsslapd-pluginenabled
    nsslapd-pluginenabled: on
    -
    replace: nsslapd-pluginarg0
    nsslapd-pluginarg0: ldaps://configdir.example.com:636/
     o=NetscapeRoot 10,10,60,3,300
    -
    replace: nsslapd-pluginarg1
    nsslapd-pluginarg1: ldaps://configbak.example.com:636/
     o=NetscapeRoot 3,5,300,3,300
    ^D

  3. “启动和停止 Directory Server”中所述,重新启动服务器。



上一章      目录      索引      下一章     


版权所有 2004 Sun Microsystems, Inc. 保留所有权利。