Sun ONE Identity Server 6.1 管理指南 |
第 7 章
验证选项Sun ONE Identity Server 提供了一个验证(验证在企业内部访问应用程序的用户的身份的进程)的框架。在访问 Identity Server 控制台或任何其它受 Identity Server 保护的资源之前,用户必须通过验证进程。验证是通过用于验证用户身份的插件来实现的。(Sun ONE Identity Server Customization and API Guide 中更全面地介绍了此插件体系结构。)
Identity Server 控制台用于设置缺省值,这些缺省值用于注册验证服务、创建验证模板及启用服务。本章提供关于验证服务的概述和注册这些验证服务的说明。本章包含以下内容:
核心验证缺省情况下,除了核心验证服务以外,Identity Server 还提供了十种不同的验证服务。核心验证服务为验证服务提供总体配置。在注册和启用匿名验证、基于证书的验证、HTTP Basic 验证、LDAP 验证、成员资格验证、NT 验证、RADIUS 验证、SafeWord 验证、SecurID 验证和 Unix 验证之前,必须先注册和启用核心验证。第 19 章“核心验证属性”中包含核心属性的详细列表。
注册和启用核心服务
- 找到要为其注册核心服务的组织的浏览框。
- 从“查看”菜单中选择“服务”。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中核心验证的复选框并单击“添加”。
核心验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击核心验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示核心属性。根据需要修改这些属性。您可以在第 19 章“核心验证属性”中,或通过单击控制台右上角的“帮助”链接找到有关核心属性的说明。
匿名验证缺省情况下,如果启用了此模块,用户可以以 anonymous 用户身份登录到 Identity Server 中。还可以通过配置有效匿名用户列表属性为此模块定义匿名用户的列表(请参见第 175 页)。允许匿名访问意味着无需提供密码即可访问该服务器。可以将匿名访问限于特定的访问类型(例如,读取访问或搜索访问)或者限于目录中的特定子树或单个条目。
注册和启用匿名验证
您必须以组织管理员或顶层管理员身份登录到 Identity Server 中。
- 找到要为其注册匿名验证的组织的浏览框。
- 从“查看”菜单中选择“服务”。
如果已经注册了核心服务,则该服务将显示在浏览框中。如果未注册该服务,则可以与匿名验证服务一同注册。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中匿名验证的复选框并单击“添加”。
匿名验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击匿名验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示匿名验证属性。根据需要修改这些属性。您可以在第 17 章“匿名验证属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
匿名验证服务已经启用。
使用匿名验证登录
为了使用匿名验证登录,必须修改核心验证服务属性(组织验证模块)以定义匿名验证。这可以确保用户登录时使用 http(s)://hostname:port/DEPLOY_URI/Login?module=Anonymous&org=org_name。要在不使用“匿名验证”登录窗口的情况下登录,请使用以下语法:
http(s)://hostname:port/DEPLOY_URI/Login?module=Anonymous&org=org_name&IDTolken1=user_id
根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为缺省模块,则无需在 URL 中指定模块名称。
基于证书的验证基于证书的验证中使用个人数字证书 (PDC) 来识别和验证用户。可以将 PDC 配置为必须与 Directory Server 中存储的某个 PDC 相匹配,并且必须对照证书撤回列表进行检验。
在将基于证书的验证服务注册到组织之前,需要完成若干事项。首先,需要保护与 Identity Server 一起安装的 Web 容器,并将其配置为使用基于证书的验证。在启用基于证书的服务之前,请先查阅《Sun ONE Web Server 6.1 管理员指南》中的第 6 章“使用证书和密钥”中的这些初始 Web Server 配置步骤。可以在以下位置找到此文档:
http://docs.sun.com/db/prod/s1websrv#hic
或者,对于安全性,请查阅以下位置的《Sun ONE Application Sever 管理员指南》:
http://docs.sun.com/db/prod/s1appsrv#hic
注册和启用基于证书的验证
您必须以组织管理员身份登录到 Identity Server 中。
- 找到要为其注册基于证书的验证的组织的浏览框。
- 从“查看”菜单中选择“服务”。
如果已经注册了核心服务,则该服务将显示在浏览框中。如果未注册该服务,则可以与基于证书的验证服务一同注册。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中基于证书的验证的复选框并单击“添加”。
基于证书的验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击基于证书的验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示基于证书的验证属性。根据需要修改这些属性。您可以在第 18 章“证书验证属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
为基于证书的验证添加平台服务器列表
为了进行添加,您必须以组织管理员身份登录到 Identity Server。
- 选择“服务配置”模块。
- 从可用服务的列表中选择“平台”服务。
- 在“服务器列表”属性中添加服务器信息。有关其它服务器属性的详细信息,请参见第 33 章“平台服务属性”。
使用基于证书的验证登录
为了使基于证书的验证成为缺省验证方法,必须修改核心验证服务属性“组织验证模块”(请参见第 185 页)。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=Cert 登录时,将看到“基于证书的验证”登录窗口。根据正在使用的验证类型(例如角色、用户和组织),如果将验证模块配置为缺省模块,则无需在 URL 中指定模块名称。
HTTP Basic 验证该模块使用基本验证,该验证是 HTTP 协议的内置验证支持。Web server 发出对用户名和密码的客户机请求,并将这些信息作为已验证的请求的一部分发送回服务器。Identity Server 将检索用户名和密码,然后在 LDAP 验证模块中内部验证该用户。为使 HTTP Basic 验证正常工作,还必须注册 LDAP 验证模块(只注册 HTTP Basic 模块将无法正常工作)。有关详细信息,请参见注册和启用 LDAP 验证。用户成功进行验证后,他/她将可以在不提供用户名和密码的情况下重新进行验证。
注册和启用 HTTP Basic 验证
您必须以组织管理员或顶层管理员身份登录到 Identity Server 中。
- 找到要为其注册 HTTP Basic 验证的组织的浏览框。
- 从“查看”菜单中选择“服务”。
如果已经注册了核心服务,则该服务将显示在浏览框中。如果未注册该服务,则可以与 HTTP Basic 验证服务一同注册。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中 HTTP Basic 验证的复选框并单击“添加”。
HTTP Basic 验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击 HTTP Basic 验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示 HTTP Basic 验证属性。根据需要修改这些属性。您可以在第 20 章“HTTP Basic 验证属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
HTTP Basic 验证服务已经启用。
使用 HTTP Basic 验证登录
为了使用 HTTP Basic 验证登录,必须修改核心验证服务属性(组织验证模块)以定义 HTTP Basic 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=HTTPBasic 登录时,将看到验证登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为缺省模块,则无需在 URL 中指定模块名称。如果验证失败,将打开新的实例,用户将再次登录。
LDAP 目录验证在 LDAP 验证服务中,用户登录时需要使用特定的用户 DN 和密码绑定到 LDAP Directory Server 上。这是所有基于组织的验证的缺省验证模块。如果用户提供的用户 ID 和密码在 Directory Server 中存在,则允许用户访问并为其创建一个有效的 Identity Server 会话。缺省情况下,安装 Identity Server 时将启用 LDAP 验证。在禁用该服务的事件中提供了以下说明。
注册和启用 LDAP 验证
您必须以组织管理员或顶层管理员身份登录到 Identity Server 中。
- 找到要为其注册 LDAP 验证的组织的浏览框。
- 从“查看”菜单中选择“服务”。
如果已经注册了核心服务,则该服务将显示在浏览框中。如果未注册该服务,则可以与 LDAP 验证服务一同注册。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中 LDAP 验证的复选框并单击“添加”。
LDAP 验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击 LDAP 验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示 LDAP 验证属性。根据需要修改这些属性。您可以在第 21 章“LDAP 验证属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
- 在“root 用户绑定的密码”属性中输入密码。缺省情况下,安装过程中输入的 amldapuser 密码将用作绑定用户。
要使用其它绑定用户,请在“root 用户绑定的 DN”属性中更改用户的 DN,并在“root 用户绑定的密码”属性中输入该用户的密码。
- 单击“保存”。
LDAP 验证服务已经启用。
使用 LDAP 验证登录
为了使用 LDAP 验证登录,必须修改核心验证服务属性(组织验证模块)以定义 LDAP 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=LDAP 登录时,将看到“LDAP 验证”登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为缺省模块,则无需在 URL 中指定模块名称。
启用 LDAP 验证故障切换
LDAP 验证属性包括主 Directory Server 和辅助 Directory Server 的值字段。如果主服务器不可用,则 Identity Server 将转向辅助服务器进行验证。有关详细信息,请参见 LDAP 属性主 LDAP 服务器和端口和辅助 LDAP 服务器和端口。
多个 LDAP 配置
管理员可以在一个组织下定义多个 LDAP 配置,作为故障切换的形式或者在 Identity Server 控制台只提供一个值字段时为一个属性配置多个值。尽管这些附加配置无法从控制台查看,但如果未找到搜索请求用户的验证的初始搜索,这些配置将与主配置一起发挥作用。有关多个 LDAP 配置的信息,请参见 Sun ONE Identity Server Customization and API Guide 中的“多个 LDAP 配置”。
成员资格验证成员资格验证的实现类似与个性化站点,例如 my.site.com 或 mysun.sun.com。启用了此服务后,用户可以创建帐户并对其进行个性化,而无需管理员的帮助。用户可以以注册用户的身份访问此新帐户。用户还可以访问作为授权数据和用户首选项保存在用户配置文件数据库中的查看器界面。
注册和启用成员资格验证
您必须以组织管理员或顶层管理员身份登录到 Identity Server 中。
- 找到要为其注册成员资格验证的组织的浏览框。
- 从“查看”菜单中选择“服务”。
如果已经注册了核心服务,则该服务将显示在浏览框中。如果未注册该服务,则可以与成员资格验证服务一同注册。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中成员资格验证的复选框并单击“添加”。
成员资格验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击成员资格验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示成员资格验证属性。根据需要修改这些属性。您可以在第 22 章“成员资格验证属性”中,或通过选择控制台右上角的“帮助”链接找到这些属性的说明。
- 在“root 用户绑定的密码”属性中输入密码。缺省情况下,安装过程中输入的 amldapuser 密码将用作绑定用户。
要使用其它绑定用户,请在“root 用户绑定的 DN”属性中更改用户的 DN,并在“root 用户绑定的密码”属性中输入该用户的密码。
- 单击“保存”。
成员资格验证服务已经启用。
使用成员资格验证登录
为了使用成员资格验证登录,必须修改核心验证服务属性(组织验证模块)以定义成员资格验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=Membership(注意区分大小写)登录时,将看到“成员资格验证”登录(自注册)窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为缺省模块,则无需在 URL 中指定模块名称。
NT 验证可以将 Identity Server 配置为与已安装的 NT/Windows 2000 服务器一起工作。Identity Server 提供了 NT 验证的客户机部分。只有 Solaris 平台上支持 NT 验证服务。
- 配置 NT 服务器。
有关详细说明,请参见 NT 服务器文档。
- 必须先获得并安装用于在 Solaris 系统中与 Identity Server 通信的 Samba 客户机,才能注册和启用 NT 验证服务。有关详细信息,请参见 NT 验证属性。
- 注册和启用 NT 验证服务。
注册和启用 NT 验证
您必须以组织管理员或顶层管理员身份登录到 Identity Server 中。
- 找到要为其注册 NT 验证的组织的浏览框。
- 从“查看”菜单中选择“服务”。
如果已经注册了核心服务,则该服务将显示在浏览框中。如果未注册该服务,则可以与 NT 验证服务一同注册。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中 NT 验证的复选框并单击“添加”。
NT 验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击 NT 验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示 NT 验证属性。根据需要修改这些属性。您可以在第 23 章“NT 验证属性”中,或通过选择控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
NT 验证服务已经启用。
使用 NT 验证登录
为了使用 NT 验证登录,必须修改核心验证服务属性(组织验证模块)以定义 NT 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=NT 登录时,将看到“NT 验证”登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为缺省模块,则无需在 URL 中指定模块名称。
RADIUS 服务器验证可以将 Identity Server 配置为与已安装的 RADIUS 服务器一起工作。如果您的企业中使用传统 RADIUS 服务器进行验证,此功能将很有用。启用 RADIUS 验证服务的过程分为两步。
注册和启用 RADIUS 验证
您必须以组织管理员身份登录到 Identity Server 中。
- 找到要为其注册 RADIUS 验证的组织的浏览框。
- 从“查看”菜单中选择“服务”。
如果已经注册了核心服务,则该服务将显示在浏览框中。如果未注册该服务,则可以与 RADIUS 验证服务一同注册。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中 RADIUS 验证的复选框并单击“添加”。
RADIUS 验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击 RADIUS 验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示 RADIUS 验证属性。根据需要修改这些属性。您可以在第 24 章“RADIUS 验证属性”中,或通过选择控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
RADIUS 验证服务已经启用。
使用 RADIUS 验证登录
为了使用 RADIUS 验证登录,必须修改核心验证服务属性(组织验证模块)以定义 RADIUS 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=RADIUS 登录时,将看到“RADIUS 验证”登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为缺省模块,则无需在 URL 中指定模块名称。
使用 Sun ONE Application Server 配置 RADIUS
缺省情况下,RADUIS 客户机建立到其服务器的套接字连接时,在 Application Server 的 server.policy 文件中只允许 SocketPermissions 的连接权限。为使 RADUIS 验证正常工作,对于以下操作应授予权限:
要授予套接字连接的权限,必须在 Application Server 的 server.policy 文件中添加一个条目。SocketPermission 由主机规范和指定连接到该主机的方式的一组操作组成。请按以下格式指定主机:
host = (hostname | IPaddress)[:portrange] portrange = portnumber | -portnumberportnumber-[portnumber]
主机可以表示为 DNS 名称、数字 IP 地址或 localhost(对于本地计算机)。DNS 名称主机规范中可以包含通配符“*”(只能出现一次)。如果包含该通配符,它必须在最左侧的位置,如 *.example.com。
端口(或 portrange)是可选的。形式为 N- 的端口规范(其中 N 为端口号)表示编号为 N 及以上的所有端口。形式为 -N 的规范表示编号为 N 及以下的所有端口。
listen 操作仅在与本地主机一起使用时才有意义。任意其它操作存在时,resolve(解析主机/IP 名称服务查找)操作才能执行。
例如,当创建 SocketPermissions 时,请注意如果将以下权限授予某些代码,将允许该代码连接到 machine1.example.com 上的 port 1645,并接受该端口上的连接:
permission java.net.SocketPermission machine1.example.com:1645, "connect,accept";
类似地,如果将以下权限授予某些代码,将允许该代码接受本地主机上 1024 和 65535 之间的所有端口上的连接、连接到这些端口或侦听它们:
permission java.net.SocketPermission machine1.example.com:1645, "connect,accept";
permission java.net.SocketPermission "localhost:1024-", "accept,connect,listen";
注
授予代码权限以接受或建立到远程主机的连接可能会引起问题,因为恶意代码可以更容易地在各方之间传送和共享机密数据,使可能不具有数据访问权限的人访问到数据。请确保通过指定确切的端口号(而不是指定一个端口号的范围)仅授予适当的权限。
SafeWord 验证可以配置 Identity Server 以处理对 Secure Computing 的 SafeWord 或 SafeWord PremierAccess 验证服务器的 SafeWord 验证请求。Identity Server 提供了 SafeWord 验证的客户机部分。SafeWord 服务器可以在安装了 Identity Server 的系统中存在,或者在单独的系统中存在。
注册和启用 SafeWord 验证
您必须以组织管理员或顶层管理员身份登录到 Identity Server 中。
- 找到要为其注册 SafeWord 验证的组织的浏览框。
- 从“查看”菜单中选择“服务”。
如果已经注册了核心服务,则该服务将显示在浏览框中。如果未注册该服务,则可以与 SafeWord 验证服务一同注册。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中 SafeWord 验证的复选框并单击“添加”。
SafeWord 验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击 SafeWord 验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示 SafeWord 验证属性。根据需要修改这些属性。您可以在第 24 章“SafeWord 验证属性”中,或通过单击控制台右上角的“帮助”链接找到有关这些属性的说明。
- 单击“保存”。
SafeWord 验证服务已经启用。
使用 SafeWord 验证登录
为了使用 SafeWord 验证登录,必须修改核心验证服务属性(组织验证模块)以定义 SafeWord 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=SAFEWORD 登录时,将看到“SafeWord 验证”登录窗口。根据正在使用的验证类型(例如角色、用户和组织),如果将验证模块配置为缺省模块,则无需在 URL 中指定模块名称。
使用 Sun ONE Application Server 配置 SafeWord
缺省情况下,SafeWord 客户机建立到其服务器的套接字连接时,在 Application Server 的 server.policy 文件中只允许 SocketPermissions 的 connect 权限。为使 SafeWord 验证正常工作,对于以下操作应授予权限:
要授予套接字连接的权限,必须在 Application Server 的 server.policy 文件中添加一个条目。SocketPermission 由主机规范和指定连接到该主机的方式的一组操作组成。请按以下格式指定主机:
host = (hostname | IPaddress)[:portrange] portrange = portnumber | -portnumberportnumber-[portnumber]
主机可以表示为 DNS 名称、数字 IP 地址或 localhost(对于本地计算机)。DNS 名称主机规范中可以包含通配符“*”(只能出现一次)。如果包含该通配符,它必须在最左侧的位置,如 *.example.com。
端口(或 portrange)是可选的。形式为 N- 的端口规范(其中 N 为端口号)表示编号为 N 及以上的所有端口。形式为 -N 的规范表示编号为 N 及以下的所有端口。
listen 操作仅在与本地主机一起使用时才有意义。任意其它操作存在时,resolve(解析主机/IP 名称服务查找)操作才能执行。
例如,当创建 SocketPermissions 时,请注意如果将以下权限授予某些代码,将允许该代码连接到 machine1.example.com 上的 port 1645,并接受该端口上的连接:
permission java.net.SocketPermission machine1.example.com:1645, "connect,accept";
类似地,如果将以下权限授予某些代码,将允许该代码接受本地主机上 1024 和 65535 之间的所有端口上的连接、连接到这些端口或侦听它们:
permission java.net.SocketPermission machine1.example.com:1645, "connect,accept";
permission java.net.SocketPermission "localhost:1024-", "accept,connect,listen";
注
授予代码权限以接受或建立到远程主机的连接可能会引起问题,因为恶意代码可以更容易地在各方之间传送和共享机密数据,使可能不具有数据访问权限的人访问到数据。请确保通过指定确切的端口号(而不是指定一个端口号的范围)仅授予适当的权限。
SecurID 验证可以配置 Identity Server 以处理对 RSA 的 ACE/Server 验证服务器的 SecureID 验证请求。Identity Server 提供了 SecurID 验证的客户机部分。ACE/Server 可能位于安装 Identity Server 的系统或单独的系统中。为了验证本地管理的用户 ID(请参见 admintool [1M]),必须具备 root 访问权限。
SecurID 验证使用验证帮助器 amsecuridd,后者是独立于主 Identity Server 进程以外的进程。在启动时,此帮助器将在端口上侦听配置信息。如果将 Identity Server 安装为以 nobody 运行,或以 root 以外的用户 ID 运行,IdentityServer_base/SUNWam/share/bin/amsecuridd 进程必须仍以 root 身份执行操作。有关 amsecuridd 帮助器的详细信息,请参见 amsecuridd 帮助器。
注册和启用 SecurID 验证
您必须以组织管理员或顶层管理员身份登录到 Identity Server 中。
- 找到要为其注册 SecurID 验证的组织的浏览框。
- 从“查看”菜单中选择“服务”。
如果已经注册了核心服务,则该服务将显示在浏览框中。如果未注册该服务,则可以与 SecurID 验证服务一同注册。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中 SecurID 验证的复选框并单击“添加”。
SecurID 验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击 SecurID 验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示 SecurID 验证属性。根据需要修改这些属性。您可以在第 25 章“SecurID 验证属性”中,或通过单击控制台右上角的“帮助”链接找到有关这些属性的说明。
- 单击“保存”。
SecurID 验证服务已经启用。
使用 SecurID 验证登录
为了使用 SecurID 验证登录,必须修改核心验证服务属性(组织验证模块)以定义 SecurID 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=SecurID 登录时,将看到“SecurID 验证”登录窗口。根据正在使用的验证类型(例如角色、用户和组织),如果将验证模块配置为缺省模块,则无需在 URL 中指定模块名称。
Unix 验证可以将 Identity Server 配置为通过与安装了 Identity Server 的 Solaris 系统已知的 Unix 用户 ID 和密码相比较来处理验证请求。尽管 Unix 验证只有一个组织属性和几个全局属性,仍有一些面向系统的注意事项。为了验证本地管理的用户 ID(请参见 admintool [1M]),必须具备 root 访问权限。
Unix 验证使用验证帮助器 amunixd,后者是独立于主 Identity Server 进程以外的进程。在启动时,此帮助器将在端口上侦听配置信息。每个 Identity Server 仅有一个 Unix 帮助器为该服务器的所有组织服务。
如果将 Identity Server 安装为以 nobody 运行,或以 root 以外的用户 ID 运行,IdentityServer_base/SUNWam/share/bin/amunixd 进程必须仍以 root 身份执行操作。Unix 验证模块通过打开到 localhost:58946 的套接字调用 amunixd 守护程序以侦听 Unix 验证请求。要在缺省端口上运行 amunixd 帮助器进程,请输入以下命令:
./amunixd
要在非缺省端口上运行 amunixd,请输入以下命令:
./amunixd [-c portnm] [ipaddress]
IP 地址和端口号位于 AMConfig.properties 中的 UnixHelper.ipadrs(以 IPV4 格式)和 UnixHelper.port 属性中。您可以通过 amserver 命令行实用程序运行 amunixd(amserver 自动运行进程,从 AMConfig.properties 中检索端口号和 IP 地址)。
/etc/nsswitch.conf 文件中的 passwd 条目确定是否查询 /etc/passwd 和 /etc/shadow 文件或 NIS 以进行验证。
无法在 Windows 平台上使用 Unix 验证服务。
注册和启用 Unix 验证
在以下步骤中,您必须以顶层管理员身份登录到 Identity Server 中。
- 选择“服务配置”模块。
- 在“服务名称”列表中的 Unix 验证的属性箭头上单击。
将显示几个全局属性和一个组织属性。因为一个 Unix 帮助器为 Identity Server 服务器的所有组织服务,所以大多数 Unix 属性是全局属性。您可以在第 26 章“Unix 验证属性”中,或通过单击控制台右上角的“帮助”链接找到有关这些属性的说明。
- 单击“保存”保存属性的新值。
您可以以组织管理员身份登录到 Identity Server,为组织启用 Unix 验证。
- 找到要为其注册 Unix 验证的组织的浏览框。
- 从“查看”菜单中选择“服务”。
如果已经注册了核心服务,则该服务将显示在浏览框中。如果未注册该服务,则可以与 Unix 验证服务一同注册。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中 Unix 验证的复选框并单击“添加”。
Unix 验证服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击 Unix 验证的属性箭头。
数据框中将显示消息当前不存在用于该服务的模板。要现在创建一个模板吗?。
- 单击“创建”。
数据框中将显示 Unix 验证组织属性。根据需要修改验证级别属性。您可以在第 26 章“Unix 验证属性”中,或通过单击控制台右上角的“帮助”链接找到有关此属性的说明。
- 单击“保存”。
Unix 验证服务已经启用。
使用 Unix 验证登录
为了使用 Unix 验证登录,必须修改核心验证服务属性(组织验证模块)以定义 Unix 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=Unix 登录时,将看到“Unix 验证”登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为缺省模块,则无需在 URL 中指定模块名称。
验证配置验证配置服务用于定义以下任一验证类型的验证模块:
为其中一种验证类型定义了验证模块后,可以基于成功的或失败的验证进程配置该模块以提供重定向 URL 以及后处理 Java 类规范。
在能够配置验证模块之前,必须先修改核心验证服务属性“组织验证模块”以包含特定的验证模块名称。
验证配置用户界面
验证配置服务允许您定义一个或多个验证服务(或模块),用户必须先通过这些验证服务才能访问控制台或 Identity Server 中的任何受保护的资源。基于组织、角色、服务和用户的验证使用通用用户界面定义验证模块。(随后的各节中介绍了访问特定对象类型的“验证配置”界面的说明)。
- 在对象的验证配置属性旁边的“编辑”链接上单击将显示“模块列表”窗口。
- 此窗口列出了已指定给对象的验证模块。如果不存在任何模块,请单击“添加”以显示“添加模块”窗口。
“添加模块”窗口包含三个要定义的文件:
模块名称。此下拉列表允许您选择可用于 Identity Server 的验证模块(包括可以添加的自定义模块)。缺省情况下,这些模块包括:
标志。该下拉菜单允许您指定验证模块要求,可以指定以下值之一:
这些标志为定义了它们的验证模块建立了执行标准。执行是有等级的:REQUIRED 等级最高,OPTION 等级最低。
例如,如果管理员使用 REQUIRED 标志定义 LDAP 模块,则用户凭证必须通过 LADP 验证要求才能访问给定资源。
如果添加多个验证模块,并将每个模块的“标志”都设置成 REQUIRED,则用户必须通过所有验证要求才能被授予权限。
有关标志定义的详细信息,请参考 JAAS(Java 验证和授权服务),网址为:
http://java.sun.com/security/jaas/doc/module.html
选项。还可以以“关键字=值”对的形式为模块增加其它选项。多个选项之间用空格分隔。
图 7-1 用于用户的“添加模块”列表窗口
- 选择了字段后,请单击“确定”返回“模块列表”窗口。此窗口中将列出已定义的验证模块。单击“保存”。
您可以根据需要将任意数目的验证模块添加到此列表。添加多个验证模块称为链式添加。如果要链式添加验证模块,请注意模块列出的顺序将决定执行的层次结构的顺序。
要更改验证模块的顺序,请执行以下步骤:
- 要从列表中删除任一验证模块,请选中验证模块旁边的复选框并单击“删除”。
用于组织的验证配置
第一次将核心验证服务注册到组织时将设置用于组织的验证模块。
要配置组织的验证属性,请执行以下操作:
- 找到您将为其配置验证属性的组织。
- 从“查看”菜单中选择“服务”。
- 在服务列表中单击核心属性箭头。
数据框中将显示核心验证属性。
- 单击“管理员验证”属性旁边的“编辑”链接。此操作只允许您为管理员定义验证服务。管理员是需要访问 Identity Server 控制台的用户。如果需要将管理员的验证模块与最终用户的验证模块区别开来,则可以使用该属性。缺省验证模块为 LDAP。
定义了验证服务之后,请单击“保存”以保存所作的更改,然后单击“关闭”返回组织的核心验证属性。
- 单击“组织验证配置”属性旁边的“编辑”链接。此操作允许您为组织中的所有用户定义验证模块。缺省验证模块为 LDAP。
- 定义了验证服务之后,请单击“保存”以保存所作的更改,然后单击“关闭”返回组织的核心验证属性。
用于角色的验证配置
在角色级别注册了验证配置服务之后,将设置用于角色的验证模块。
- 找到您将为其配置验证属性的组织。
- 从“查看”菜单中选择“角色”。
- 选择要为其设置验证配置的角色并单击属性箭头。
数据框中将显示角色的属性。
- 从数据框中的“查看”菜单中选择“服务”。
- 根据需要修改验证配置属性。您可以在第 27 章“验证配置服务属性”中,或通过单击控制台右上角的“帮助”链接找到有关这些属性的说明。
- 单击“保存”。
注
如果要创建新角色,验证配置服务将不会自动指定给该角色。请确保在创建新角色之前先选择“角色配置文件”页面顶部的“验证配置服务”选项。
如果启用了基于角色的验证,可以将 LDAP 验证模块保留为缺省设置,因为不需要配置成员资格。
用于服务的验证配置
注册了验证配置服务之后,将设置用于服务的验证模块。为此,请执行以下步骤:
- 从“身份管理”模块的“查看”菜单中选择“服务”。
将显示已注册服务的列表。如果未注册验证配置服务,请继续执行以下的步骤。如果已注册该服务,请转到步骤 4。
- 单击浏览框中的“添加”。
数据框中将显示可用服务的列表。
- 选中验证配置的复选框并单击“添加”。
验证配置服务将显示在浏览框中,向管理员表明已注册该服务。
- 单击验证配置的属性箭头。
数据框中将显示“服务实例”列表。
- 单击要为其配置验证模块的服务实例。
- 修改验证配置属性并单击“保存”。您可以在第 27 章“验证配置服务属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
用于用户的验证配置
按验证级别验证每个验证模块均可以与其验证级别的整数值相关联。通过单击“服务配置”中验证模块的属性箭头并更改相应的模块验证级别属性的值,可以指定验证级别。用户通过一个或多个验证模块的验证后,较高的验证级别将决定较高的用户信任级别。
用户成功地通过模块的验证之后,系统将在用户的 SSO 令牌中设置验证级别。如果用户需要通过多个验证模块的验证并且成功地通过了这些验证,系统将在用户的 SSO 令牌中设置最高的验证级别值。
如果用户试图访问某个服务,该服务可以通过查看用户的 SSO 令牌中的验证级别来确定是否允许该用户进行访问。随后服务将用户重定向到具有相应验证级别的验证模块进行验证。
用户还可以访问具有特定验证级别的验证模块。例如,用户使用以下语法进行登录:
http://hostname:port/deploy_URI/UI/Login?authlevel=auth_level_value
所有验证级别高于或等于 auth_level_value 的模块将显示为验证菜单以供用户选择。如果只找到一个匹配的模块,则将直接显示该验证模块的登录页面。
按模块验证用户可以使用以下语法访问特定的验证模块:
http://hostname:port/deploy_URI/UI/Login?module=module_name
在能够访问验证模块之前,必须先修改核心验证服务属性“组织验证模块”以包含该验证模块名称。如果此属性中未包含该验证模块名称,则当用户试图进行验证时将显示“验证模块被拒绝”页面。有关详细信息,请参见组织验证模块。
URL 重定向在验证配置服务中,您可以指定 URL 重定向以进行成功的或不成功的验证。而 URL 本身是在该服务的“登录成功 URL”和“登录失败 URL”属性中进行定义的。为了启用 URL 重定向,必须将验证配置服务添加到您的组织中,以便可以为角色、组织或用户进行配置。添加验证配置服务时,请确保添加一个验证模块,例如 LDAP - REQUIRED。有关为身份对象注册验证配置服务的信息,请参见验证配置。