![]() | |
Sun Java System Access Manager 6 2005Q1 管理指南 |
第 7 章
验证选项Sun Java System Access Manager 6 2005Q1 提供了一个验证(验证在企业内部访问应用程序的用户的身份的进程)的框架。在访问 Access Manager 控制台或任何其他受 Access Manager 保护的资源之前,用户必须通过验证进程。验证是通过验证用户身份的插件来实现的。(在 Access Manager Developer's Guide 中对此插件体系结构进行了更为全面的介绍。)
Access Manager 控制台用于设置默认值、添加验证服务、创建验证模板以及启用关联的验证模块。本章概括介绍了验证模块并提供了添加这些验证模块的操作说明。本章包含以下内容:
核心验证默认情况下,除了核心验证模块以外,Access Manager 还提供了十五项不同的验证服务。核心验证模块为验证模块提供总体配置。在添加和启用活动目录、匿名、基于证书、HTTP Basic、JDBC、LDAP、任何验证模块之前,必须先添加和启用核心验证。系统会自动为默认组织启用核心及 LDAP 验证模块。第 20 章“核心验证属性”中包含核心属性的详细列表。
添加和启用核心服务
- 转到要为其添加核心模块的组织。
- 从“查看”菜单中选择“服务”。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中核心验证的复选框并单击“添加”。
核心验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击核心验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示核心属性。根据需要修改这些属性。您可以在第 20 章“核心验证属性”中,或通过单击控制台右上角的“帮助”链接找到有关核心属性的说明。
活动目录验证活动目录验证模块执行验证的方式与 LDAP 目录验证模块类似,但使用 Microsoft 的 Active Directory 服务器(与 LDAP 验证模块中的 Directory Server 相对)。虽然可为活动目录服务器配置 LDAP 验证模块,但此模块允许在同一组织中存在 LDAP 和活动目录验证。
添加和启用活动目录验证
您必须以组织管理员或顶层管理员身份登录到 Access Manager 中。
使用活动目录验证登录
为了使用活动目录验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择活动目录验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=AD(注意区分大小写)登录时,将看到活动目录验证登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
匿名验证默认情况下,如果启用了此模块,用户可以以匿名用户身份登录到 Access Manager 中。还可以通过配置有效匿名用户列表属性为此模块定义匿名用户的列表。允许匿名访问意味着无需提供密码即可访问该服务器。可以将匿名访问限于特定的访问类型(例如,读取访问或搜索访问)或者限于目录中的特定子树或单个条目。
添加和启用匿名验证
您必须以组织管理员或顶层管理员身份登录到 Access Manager 中。
- 转到要为其添加匿名验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与匿名验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中匿名验证的复选框并单击“添加”。
匿名验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击匿名验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示匿名验证属性。根据需要修改这些属性。您可以在第 18 章“匿名验证属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
匿名验证模块已经启用。
使用匿名验证登录
为了使用匿名验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择匿名验证。这可以确保用户登录时使用 http(s)://hostname:port/SERVER_DEPLOY_URI//UI/Login?module=Anonymous&org=org_name。要在不使用“匿名验证”登录窗口的情况下登录,请使用以下语法:
http(s)://hostname:port/SERVER_DEPLOY_URI//UI/Login?module=Anonymous&org=org_name&Login.Token1=user_id
根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
注
匿名验证模块中的“默认匿名用户名”属性值为 anonymous。这是用户登录时使用的名称。必须在组织中创建默认的匿名用户。用户 ID 应当与在匿名验证属性中指定的用户名相同。此项也可要求区分大小写。
基于证书的验证基于证书的验证中使用个人数字证书 (PDC) 来识别和验证用户。可以将 PDC 配置为必须与 Directory Server 中存储的某个 PDC 相匹配,并且必须对照证书撤回列表进行检验。
在将基于证书的验证模块添加到组织之前,需要完成若干事项。首先,需要保护与 Access Manager 一起安装的 Web 容器,并将其配置为使用基于证书的验证。在启用基于证书的模块之前,请先参见 Sun ONE Web Server 6.1 Administrator's Guide 中的第 6 章 "Using Certificates and Keys",以了解相应的初始 Web Server 配置步骤。可以在以下位置找到此文档:
http://docs.sun.com/db/prod/s1websrv#hic
或者,请参见 Sun ONE Application Sever Administrator's Guide to Security,其所在位置如下:
http://docs.sun.com/db/prod/s1appsrv#hic
添加和启用基于证书的验证
您必须以组织管理员身份登录到 Access Manager 中。
- 转到要为其添加基于证书的验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与基于证书的验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中基于证书的验证的复选框并单击“添加”。
基于证书的验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击基于证书的验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示基于证书的验证属性。根据需要修改这些属性。您可以在第 19 章“证书验证属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
在平台服务器列表中为基于证书的验证添加服务器 URL
为了添加此模块,您必须以组织管理员身份登录到 Access Manager,为 SSL 配置 Access Manager 和 Web 容器并且启用客户机验证。有关详细信息,参见在 SSL 模式中配置 Access Manager。
使用基于证书的验证登录
为了使基于证书的验证成为默认验证方法,必须修改核心验证模块属性组织验证模块。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=Cert 登录时,将看到“基于证书的验证”登录窗口。根据正在使用的验证类型(例如角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
HTTP Basic 验证该模块使用基本验证,它是 HTTP 协议内置的验证支持。Web server 发出对用户名和密码的客户机请求,并将这些信息作为已验证的请求的一部分发送回服务器。Access Manager 将检索用户名和密码,然后在 LDAP 验证模块中内部验证该用户。为使 HTTP Basic 正常工作,还必须添加 LDAP 验证模块(只添加 HTTP Basic 模块将无法正常工作)。有关详细信息,参见添加和启用 LDAP 验证。用户成功进行验证后,他/她将可以在不提供用户名和密码的情况下重新进行验证。
添加和启用 HTTP Basic 验证
您必须以组织管理员或顶层管理员身份登录到 Access Manager,而且必须已经注册 LDAP 验证模块。
- 转到要为其添加 HTTP Basic 验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 HTTP Basic 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中 HTTP Basic 验证的复选框并单击“添加”。
HTTP Basic 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 HTTP Basic 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 HTTP Basic 验证属性。根据需要修改这些属性。您可以在第 21 章“HTTP Basic 验证属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
HTTP Basic 验证模块已经启用。
使用 HTTP Basic 验证登录
为了使用 LDAP 验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择 HTTP Basic 验证。这可以确保当用户使用 http://hostname:port/server_deploy_URI/UI/Login?module=HTTPBasic 登录时,将看到验证登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。如果验证失败,将打开新的实例,用户将再次登录。要在使用 HTTP Basic 验证后彻底注销,必须关闭所有现有的浏览器实例,并启动新的浏览器实例。
JDBC 验证Java 数据库连接 (JDBC) 验证模块提供一种机制,可让 Access Manager 通过提供启用 JDBC 技术的驱动程序的任何 SQL 数据库验证用户。可以直接通过 JDBC 驱动程序或 JNDI 连接池连接到 SQL 数据库。
添加和启用 JDBC 验证
您必须以组织管理员或顶层管理员身份登录到 Identity Server 中。
- 转到要为其添加 JDBC 验证的组织。
- 从“查看”菜单中选择“服务”
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 JDBC 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中 JDBC 验证的复选框并单击“添加”。
JDBC 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 JDBC 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 JDBC 验证属性。根据需要修改这些属性。
- 单击“保存”。
JDBC 验证模块已经启用。
使用 JDBC 验证登录
为了使用 JDBC 验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择 JDBC 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=JDBC(注意区分大小写)登录时,将看到“JDBC 验证”登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
LDAP 目录验证在 LDAP 验证模块中,用户登录时需要使用特定的用户 DN 和密码绑定到 LDAP Directory Server 上。这是所有基于组织的验证的默认验证模块。如果用户提供的用户 ID 和密码在 Directory Server 中存在,则允许用户访问并为其创建一个有效的 Access Manager 会话。系统会自动为默认组织启用核心及 LDAP 验证模块。万一该模块被禁用,请参考下面所提供的操作说明。
添加和启用 LDAP 验证
您必须以组织管理员或顶层管理员身份登录到 Access Manager 中。
- 转到要为其添加 LDAP 验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 LDAP 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中 LDAP 验证的复选框并单击“添加”。
LDAP 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 LDAP 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 LDAP 验证属性。根据需要修改这些属性。您可以在第 23 章“LDAP 验证属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
- 在“用户绑定的密码”属性中输入密码。默认情况下,安装过程中输入的 amldapuser 密码将用作绑定用户。如果您的 Directory Server 允许通过匿名访问来读取用户条目,则可跳过此步骤。
要使用其他绑定用户,请在“超级用户绑定的 DN”属性中更改用户的 DN,并在“超级用户绑定的密码”属性中输入该用户的密码。
- 单击“保存”。
LDAP 验证模块已经启用。
使用 LDAP 验证登录
为了使用 LDAP 验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择 LDAP 验证。这可以确保当用户使用 http://hostname:port/server_deploy_URI/UI/Login?module=LDAP 登录时,将看到“LDAP 验证”登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
启用 LDAP 验证故障转移
LDAP 验证属性包括主 Directory Server 和辅助 Directory Server 的值字段。如果主服务器不可用,则 Access Manager 将转向辅助服务器进行验证。有关详细信息,参见 LDAP 属性主 LDAP 服务器和辅助 LDAP 服务器。
多个 LDAP 配置
管理员可以在一个组织下定义多个 LDAP 配置,作为故障转移的形式或者在 Access Manager 控制台只提供一个值字段时为一个属性配置多个值。尽管这些附加配置无法通过控制台查看,但如果未找到对于请求用户的授权的初始搜索,这些配置将与主配置一起发挥作用。有关多 LDAP 配置的信息,参见 Access Manager Developer's Guide 中的 "Multi LDAP Configuration"。
成员资格验证成员资格验证的实现类似与个性化站点,例如 my.site.com 或 mysun.sun.com。启用了此模块后,用户可以创建帐户并对其进行个性化,而无需管理员的帮助。利用这个新帐户,用户可以作为已添加的用户来访问该服务。用户还可以访问作为授权数据和用户首选项保存在用户配置文件数据库中的查看器界面。
添加和启用成员资格验证
您必须以组织管理员或顶层管理员身份登录到 Access Manager 中。
- 转到要为其添加成员资格验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与成员资格验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中成员资格验证的复选框并单击“添加”。
成员资格验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击成员资格验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示成员资格验证属性。根据需要修改这些属性。您可以在第 24 章“成员资格验证属性”中,或通过选择控制台右上角的“帮助”链接找到这些属性的说明。
- 在“超级用户绑定的密码”属性中输入密码。默认情况下,安装过程中输入的 amldapuser 密码将用作绑定用户。
要使用其他绑定用户,请在“超级用户绑定的 DN”属性中更改用户的 DN,并在“超级用户绑定的密码”属性中输入该用户的密码。
- 单击“保存”。
成员资格验证模块已经启用。
使用成员资格验证登录
为了使用成员资格验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择成员资格验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=Membership(注意区分大小写)登录时,将看到“成员资格验证”登录(自注册)窗口。根据正在使用的验证类型(例如模块、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
MSISDN 验证移动站综合业务数字网 (MSISDN) 验证模块使用与蜂窝电话等设备关联的移动订户 ISDN 启用验证。它是非交互式模块。该模块检索订户 ISDN 并根据 Directory Server 验证它,以查找与号码匹配的用户。
添加和启用 MSISDN 验证
您必须以组织管理员或顶层管理员身份登录到 Identity Server 中。
- 转到要为其添加 MSISDN 验证的组织。
- 从“查看”菜单中选择“服务”
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 MSISDN 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中 MSISDN 验证的复选框并单击“添加”。
MSISDN 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 MSISDN 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 MSISDN 验证属性。根据需要修改这些属性。
- 单击“保存”。
MSISDN 验证模块已经启用。
使用 MSISDN 验证登录
为了使用 MSISDN 验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择 MSISDN 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=MSISDN(注意区分大小写)登录时,将看到“MSISDN 验证”登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
Windows NT 验证可以将 Access Manager 配置为与已安装的 Windows NT/Windows 2000 服务器一起工作。Access Manager 提供了 NT 验证的客户机部分。
- 配置 NT 服务器。有关详细说明,请参见 Windows NT 服务器文档。
- 必须先获得并在您的 Solaris 系统中安装与 Access Manager 进行通信的 Samba 客户机,才能添加和启用 Windows NT 验证模块。有关详细信息,参见 Windows NT 验证属性。
- 添加和启用 Windows NT 验证模块。
安装 Samba 客户机
为了激活 Windows NT 验证模块,必须下载 Samba Client 2.2.2 并将其安装到以下目录:
AccessManager-base/SUNWam/bin
Samba Client 是文件服务器和打印服务器,它将 Windows 计算机和 UNIX 计算机融合在一起而无需使用单独的 Windows NT/2000 服务器。有关该软件的详细信息及下载该软件,请访问 http://www.sun.com/software/download/products/3e3af224.html
Red Hat Linux 随 Samba 客户机一起提供,它位于以下目录中:
/usr/bin
为了使用 Linux 的 Windows NT 验证模块进行验证,请将客户机二进制文件复制到以下 Access Manager 目录:
AccessManager-base/sun/identity/bin
添加和启用 Windows NT 验证
您必须以组织管理员或顶层管理员身份登录到 Access Manager 中。
- 转到要为其添加 Windows NT 验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 Windows NT 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中 Windows NT 验证的复选框并单击“添加”。
Windows NT 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 Windows NT 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 Windows NT 验证属性。根据需要修改这些属性。您可以在第 26 章“Windows NT 验证属性”中,或通过选择控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
Windows NT 验证模块已经启用。
使用 Windows NT 验证登录
为了使用 Windows NT 验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择 NT 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=NT 登录时,将看到“Windows NT 验证”登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
RADIUS 服务器验证可以将 Access Manager 配置为与已安装的 RADIUS 服务器一起工作。如果您的企业中使用传统 RADIUS 服务器进行验证,此功能将很有用。启用 RADIUS 验证模块的过程分为两步:
添加和启用 RADIUS 验证
您必须以组织管理员身份登录到 Access Manager 中。
- 转到要为其添加 RADIUS 验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 RADIUS 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中 RADIUS 验证的复选框并单击“添加”。
RADIUS 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 RADIUS 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 RADIUS 验证属性。根据需要修改这些属性。您可以在第 27 章“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 及以下的所有端口。
侦听操作仅在与本地主机一起使用时才有意义。任意其他操作存在时,解析(解析主机/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 验证可以对 Access Manager 进行配置,以处理到 Secure Computing 的 SafeWord 或 SafeWord PremierAccess 验证服务器的 SafeWord 验证请求。Access Manager 提供 SafeWord 验证的客户机部分。SafeWord 服务器可以在安装了 Access Manager 的系统中存在,或者在单独的系统中存在。
添加和启用 SafeWord 验证
您必须以组织管理员或顶层管理员身份登录到 Access Manager 中。
- 转到要为其添加 SafeWord 验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 SafeWord 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中 SafeWord 验证的复选框并单击“添加”。
SafeWord 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 SafeWord 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 SafeWord 验证属性。根据需要修改这些属性。您可以在第 28 章“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 连接权限。为使 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 及以下的所有端口。
侦听操作仅在与本地主机一起使用时才有意义。任意其他操作存在时,解析(解析主机/IP 名称服务查找)操作才能执行。
例如,当创建 SocketPermissions 时,请注意如果将以下权限授予某些代码,将允许该代码连接到 machine1.example.com 上的 port 1645,并接受该端口上的连接:
permission java.net.SocketPermission machine1.example.com:5030, "connect,accept";
类似地,如果将以下权限授予某些代码,将允许该代码接受本地主机上 1024 和 65535 之间的所有端口上的连接、连接到这些端口或侦听它们:
permission java.net.SocketPermission "machine1.example.com:5030", "connect,accept";
permission java.net.SocketPermission "localhost:1024-", "accept,connect,listen";
注
授予代码权限以接受或建立到远程主机的连接可能会引起问题,因为恶意代码可以更容易地在各方之间传送和共享机密数据,使可能不具有数据访问权限的人访问到数据。请确保通过指定确切的端口号(而不是指定一个端口号的范围)仅授予适当的权限。
SAML 验证安全声明标记语言 (SAML) 验证模块在目标服务器上接收并验证 SAML 声明。SAML SSO 仅在目标机器上配置了此模块后才会工作,包括升级后(例如从 Access Manager 2004Q2 升级到 Access Manager 2005Q1)。
添加和启用 SAML 验证
您必须以组织管理员或顶层管理员身份登录到 Access Manager,而且必须已经注册 LDAP 验证模块。
- 转到要为其添加 SAML 验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 SAML 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中 SAML 验证的复选框并单击“添加”。
SAML 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 SAML 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 SAML 验证属性。根据需要修改这些属性。您可以在第 21 章“HTTP Basic 验证属性”中,或通过单击控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。
SAML 验证模块已经启用。
使用 SAML 验证登录
为了使用 SAML 验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择 HTTP Basic 验证。这可以确保当用户使用 http://hostname:port/server_deploy_URI/UI/Login?module=SAML 登录时,将看到验证登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
SecurID 验证可以对 Access Manager 进行配置,以处理到 RSA 的 ACE/Server 验证服务器的 SecureID 验证请求。Access Manager 提供 SecurID 验证的客户机部分。ACE/Server 可能位于安装 Access Manager 的系统或单独的系统中。为了验证本地管理的用户 ID(请参见 admintool [1M]),必须具备超级用户 (root) 访问权限。
SecurID 验证使用验证帮助器 amsecuridd,后者是独立于主 Access Manager 进程以外的进程。在启动时,此帮助器将在端口上侦听配置信息。如果将 Access Manager 安装为以 nobody 运行,或以超级用户 (root) 以外的用户 ID 运行,AccessManager-base/SUNWam/share/bin/amsecuridd 进程必须仍以超级用户身份执行操作。有关 amsecuridd 帮助器的详细信息,请参见 amsecuridd 帮助器。
注
在此发行版本的 Access Manager 中,SecurID 验证模块不适用于 Linux 或 Solaris x86 平台,因此不能在这两个平台上注册、配置或启用。仅适用于 Solaris。
添加和启用 SecurID 验证
您必须以组织管理员或顶层管理员身份登录到 Access Manager 中。
- 转到要为其添加 SecurID 验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 SecurID 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中 SecurID 验证的复选框并单击“添加”。
SecurID 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 SecurID 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 SecurID 验证属性。根据需要修改这些属性。您可以在第 30 章“SecurID 验证属性”中,或通过单击控制台右上角的“帮助”链接找到有关这些属性的说明。
- 单击“保存”。
SecurID 验证模块已经启用。
使用 SecurID 验证登录
为了使用 SecurID 验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择 SecurID 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=SecurID 登录时,将看到“SecurID 验证”登录窗口。根据正在使用的验证类型(例如角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
Unix 验证可以配置 Access Manager 使其按照 Solaris 或 Linux 系统(其中安装了 Access Manager)已知的 Unix 用户 ID 和密码来处理验证请求。尽管 Unix 验证只有一个组织属性和几个全局属性,仍有一些面向系统的注意事项。为了验证本地管理的用户 ID(请参见 admintool [1M]),必须具备超级用户 (root) 访问权限。
Unix 验证使用验证帮助器 amunixd,后者是独立于主 Access Manager 进程以外的进程。在启动时,此帮助器将在端口上侦听配置信息。每个 Access Manager 仅有一个 Unix 帮助器为该服务器的所有组织服务。
如果将 Access Manager 安装为以 nobody 运行,或以超级用户 (root) 以外的用户 ID 运行,AccessManager-base/SUNWam/share/bin/amunixd 进程必须仍以超级用户身份执行操作。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 以进行验证。
添加和启用 Unix 验证
在以下步骤中,您必须以顶层管理员身份登录到 Access Manager 中。
- 选择“服务配置”模块。
- 在“服务名称”列表中的 Unix 验证的属性箭头上单击。
将显示几个全局属性和一个组织属性。因为一个 Unix 帮助器为 Access Manager 服务器的所有组织服务,所以大多数 Unix 属性是全局属性。您可以在第 31 章“Unix 验证属性”中,或通过单击控制台右上角的“帮助”链接找到有关这些属性的说明。
- 单击“保存”保存属性的新值。
您可以以组织管理员身份登录到 Access Manager,为组织启用 Unix 验证。
- 转到要为其添加 Unix 验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 Unix 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中 Unix 验证的复选框并单击“添加”。
Unix 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 Unix 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 Unix 验证组织属性。根据需要修改验证级别属性。您可以在第 31 章“Unix 验证属性”中,或通过单击控制台右上角的“帮助”链接找到有关此属性的说明。
- 单击“保存”。Unix 验证模块即被启用。
使用 Unix 验证登录
为了使用 Unix 验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择 Unix 验证。这可以确保当用户使用 http://hostname:port/deploy_URI/UI/Login?module=Unix 登录时,将看到“Unix 验证”登录窗口。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。
Windows 桌面 SSO 验证Windows 桌面 SSO 验证模块是一个基于 Kerberos 的验证插件模块,用于 Windows 2000。它允许已通过 Kerberos 分发中心 (KDC) 验证的用户无需重新提交登录条件即可验证到 Identity Server(单一登录)。
用户通过 SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) 协议提供 Kerberos 令牌给 Access Manager。要通过此验证模块执行基于 Kerberos 的 Access Manager 单点登录,用户必须在客户端支持 SPNEGO 协议以验证本身。一般而言,支持此协议的任何用户应该都能使用此模块验证 Access Manager。根据客户端令牌的可用性,此模块提供 SPENGO 令牌或 Kerberos 令牌(这两种情况下协议是相同的)。在 Windows 2000(或更高版本)上运行的 Microsoft Internet Explorer(5.01 或更高版本)当前支持此协议。此外,Solaris(9 和 10)上的 Mozilla 1.4 支持 SPNEGO,但返回的令牌只有一个 KERBEROS 令牌,因为 SPNEGO 在 Solaris 上不受支持。
Internet Explorer 的已知限制
如果在进行 WindowsDesktopSSO 验证时使用 Microsoft Internet Explorer 6.x,并且浏览器不能访问与 WindowsDesktopSSO 模块中配置的 (KDC) 领域匹配的用户 kerberos/SPNEGO 令牌,则浏览器在验证 WindowsDesktopSSO 模块失败后无法对其他模块实施正确的行为。问题的直接原因是:在 Internet Explorer 验证 WindowsDesktopSSO 模块失败后,浏览器若未重新启动,将无法传送回叫(其他模块的)给 Access Manager,即使系统提示该回叫。因此,WindowsDesktopSSO 后的所有模块都将因无效的用户证书而失败。
有关信息,请参见以下文档:
http://support.microsoft.com/default.aspx?scid=kb;en-us;308074
http://www.wedgetail.com/jcsi/sso/doc/guide/troubleshooting.html#ieNTLM
添加和启用 Windows 桌面 SSO 验证
启用 Windows 桌面 SSO 验证的过程分为三步:
在 Windows 2000 域控制器中创建用户
- 在域控制器中,为 Access Manager 验证模块创建用户帐户。
- 在用户帐户与服务提供商名称间建立关联,并将键表文件导出至装有 Access Manager 的系统。为此,请运行以下命令:
ktpass -princ host/hostname.domainname@DCDOMAIN -pass password -mapuser userName-out hostname.host.keytab
ktpass -princ HTTP/hostname.domainname@DCDOMAIN -pass password -mapuser userName-out hostname.host.keytab
ktpass 命令接受下列参数:
hostname。运行 Access Manager 的主机名(不含域名)。
domainname。Access Manager 域名。
DCDOMAIN。域控制器的域名。它可能与 Access Manager 域名不同。
password。用户帐户的密码。请确保密码正确,因为 ktpass 不校验密码。
userName。用户帐户 ID。它应与主机名相同。
- 重新启动服务器。
设置 Internet Explorer
以上步骤适用于 Microsoft Internet Explorer 6 及更高版本。如果您使用的是较早版本,请确保 Access Manager 位于浏览器的 internet 区域并启用“本地 Windows 验证”。
Internet Explorer 的已知限制
如果在进行 WindowsDesktopSSO 验证时使用 Microsoft Internet Explorer 6.x,并且浏览器不能访问与 WindowsDesktopSSO 模块中配置的 (KDC) 领域匹配的用户 kerberos/SPNEGO 令牌,则浏览器在验证 WindowsDesktopSSO 模块失败后无法对其他模块实施正确的行为。问题的直接原因是:在 Internet Explorer 验证 WindowsDesktopSSO 模块失败后,浏览器若未重新启动,将无法传送回叫(其他模块的)给 Access Manager,即使系统提示该回叫。因此,WindowsDesktopSSO 后的所有模块都将因无效的用户证书而失败。
有关信息,请参见以下文档:
http://support.microsoft.com/default.aspx?scid=kb;en-us;308074
http://www.wedgetail.com/jcsi/sso/doc/guide/troubleshooting.html#ieNTLM
添加和配置 Windows 桌面 SSO 验证
您必须以组织管理员或顶层管理员身份登录到 Access Manager 中。
- 转到要为其添加 Windows 桌面 SSO 验证的组织。
- 从“查看”菜单中选择“服务”。
如果已添加“核心”模块,则该模块会显示在“导航”窗格中。如果尚未添加,可以与 Windows 桌面 SSO 验证模块一同添加。
- 在“浏览”窗格中单击“添加”。
此时“数据”窗格中会显示可用模块列表。
- 选中与 Windows 桌面 SSO 验证相应的复选框,然后单击“添加”。
Windows 桌面 SSO 验证模块将显示在“浏览”窗格中,向管理员证实已添加了该模块。
- 单击 Windows 桌面 SSO 验证的属性箭头。
“数据”窗格中将显示消息:当前没有此服务的模板。现在是否要创建一个模板?
- 单击“创建”。
“数据”窗格中将显示 Windows 桌面 SSO 验证属性。根据需要修改这些属性。您可以在第 32 章“Windows 桌面 SSO 验证属性”中,或通过选择控制台右上角的“帮助”链接找到这些属性的说明。
- 单击“保存”。Windows 桌面 SSO 验证模块即被启用。
使用 Windows 桌面 SSO 验证登录
为了使用 Windows 桌面 SSO 验证登录,必须修改核心验证模块属性(组织验证模块)以启用和选择 Windows 桌面 SSO 验证。这可确保当用户从一主机登录(该主机属于 Windows 2000 域控制器的一部分,并已使用 http://hostname:port/deploy_URI/UI/Login?module=WindowsDesktopSSO 以域用户身份登录),将会对用户进行验证。根据正在使用的验证类型(例如服务、角色、用户和组织),如果将验证模块配置为默认模块,则无需在 URL 中指定模块名称。