在 Solaris 10 操作系统上安装、管理和使用 Sun Java System Access Manager 和 Sun Java System Identity ManagerJonathan Gershater、Suveer Chainani、Abdi Mohammadi、Jan Vanhaecht,2006 年 7 月 目录
简介本文档简要说明了如何在 Solaris 10 操作系统上安装和配置 Sun Java Identity Management Suite。这些步骤利用 Solaris 10 软件的 Solaris Zones 和 Service Management Facility 功能。 安装和配置过程参照了 http://docs.sun.com 上的正式 Sun 文档,但也提供了一些替代方法。虽然本文档中提供了详细说明、屏 幕文本输出和屏幕快照,但用户仍需要具备一些 Sun Java Identity Management Suite 的使用经验。 此外,还提供了故障排除和一些最佳做法准则。本文档旨在为正式 Sun 文档提供补充,而不是替代这些文档。
图 1
1.0 在 Solaris 10 操作系统上安装 Sun Java System Access Manager 7.0 (2005Q4 JES4)可以从 Sun.com 免费下载安装软件。您需要具有 Sun 登录 ID 才能下载该软件。< /p> Sun Java System Access Manager 7 2005Q4 文档的 《Sun Java Enterprise System 2005Q4 Installation Guide for UNIX》 (用于 UNIX 的 Sun Java Enterprise System 2005Q4 安装指南)中提供了安装说明。 下面简要说明了如何在 Solaris 10 操作系统全局区域中使用缺省目录、用户名、口令和 TCP/IP 端口,在运行 Solaris 10 操作系统的服务器实例上安装 Sun Java Identity Management Suite。
1.2 使用 Solaris 10 Service Management Facility 管理 Sun Java System Directory Server 可以在 Solaris 操作系统中使用 Service Management Facility (SMF) 管理本文介绍的所有软件组件。为了实现此目标,请参见文章 Configuring Sun Java System Identity Manager as a Service for the Solaris 10 OS(将 Sun Java System Identity Manager 配置为 Solaris 10 操作系统服务)。 2.0 在 Solaris 10 操作系统区域中安装 Identity Manager 6.0 (ID2005Q4M3) Pack下列步骤简要说明了如何在 Solaris 10 操作系统的非全局完全根区域中安装 Java System Identity Manager。在本方案中,Identity Manager 的系统信息库是 MySQL 4.1,应用服务器是 Sun Java System Application Server 8.1。 1. 为 Identity Manager 创建一个完全根区域。可通过使用
2. 安装 MySQL。Identity Manager 需要使用系统信息库来存储其数据,以及使用 Servlet 引擎来处理 Web 页。就本指南而言,将 MySQL 数据库版本 4.1 用作系统信息库,而将 Sun Java System Application Server 8.1 用作应用服务器。
请注意,随 Solaris 10 操作系统提供的 MySQL 4.0.24 捆绑版本位于
从 MySQL 4.1 Downloads(MySQL 4.1 下载)中下载 MySQL 4.1。您还需要使用 MySQL 的 Java DataBase Connectivity (JDBC) 驱动程序,可以从 MySQL Connector/J 中下载该驱动程序。 《MySQL 3.23, 4.0, 4.1 Reference Manual》< /a> (MySQL 3.23、4.0、4.1 参考手册)中提供了有关安装 MySQL 4.1 的详细说明。 代码示例 1 简要说明了 MySQL 4.1 的安装过程。 启动 MySQL # bin/mysqld_safe --user=mysql & 然后,通过连接到缺省 3306 端口测试服务器是否启动,如下所示: # telnet 127.0.0.1 3306
编辑启动脚本
先创建备份副本。 # cp /etc/sfw/mysql/mysql.server /etc/sfw/mysql/mysql.server.OLD 对
# Set some defaults (可选)创建一个软链接: ln -s /usr/local/mysql4.1/bin/mysqld_safe mysqld_saf 2.2 下载并安装 Sun Java System Identity Manager ID2005Q4M3 (Identity Manager 6.0) Sun Java System Identity Manager 不是作为 Sun Java Enterprise System 的一部分下载并安装的。Sun Java System Identity Manager 是一个单独下载并安装的产品。可从以下 Web 页中免费下载该安装软件: Solaris Enterprise System。您需要具有 Sun 登录 ID 才能下载该软件。 2.2.1 安装 Application Server 8.1 Java System Identity Manager 至少需要一个 Servlet 容器。在 代码示例 2 中,将使用 Java System Application Server。下面的文章中提供了 Java System Identity Manager 安装说明: Installing Identity Install Pack for Sun Java System Application Server 8(为 Sun Java System Application Server 8 安装 Identity Install Pack)。 插入 Sun Java Enterprise System CD 并运行
您现在应该已使用缺省域安装了应用服务器,如下所示: [root@idmzone:/var/opt/SUNWappserver/domains] ls 然后,必须按如下方式启动该域(系统将提示您输入管理员用户的口令): [root@idmzone:/opt/SUNWappserver/sbin] ./asadmin start-domain domain1 --user admin 使用浏览器按如下方式验证是否已启动域:
图 2
(可选)创建一个指向
[root@solaris10:/usr/sbin] ln -s /opt/SUNWappserver/appserver/bin/asadmin asadmin 按如下方式登录到应用服务器管理服务器控制台:
确保安装了 JDK 版本 1.4.2,并且环境变量
[root@idmzone: /]export JAVA_HOME=/usr/java (soft link to /usr/jdk/j2sdk1.4.2_08) 下面的文章中提供了 Java System Identity Manager 安装说明: Installing Identity Install Pack for Sun Java System Application Server 8(为 Sun Java System Application Server 8 安装 Identity Install Pack)。 解压缩下载的文件 ( [root@idmzone:/var/tmp/idm/IDPAK_2005Q4M3/db_scripts] mysql -uroot [ -ppassword ] 现在开始安装 Identity Manager。 代码示例 3 简要说明了安装过程。 将数据库的库文件(按照上面的第 2.1 部分进行下载)复制到
[root@idmzone:/var/tmp/idminstall/WEB-INF/LIB] cp /var/tmp/mysqljdbc.jar . 安装许可证文件。 [root@idmzone:/var/tmp/idminstall/bin] ./lh license set -f /var/tmp/sun-idm.xml 2.2.2.1 完成以下步骤以进行 Access Manager 集成 1. 创建一个目录,将在其中放置从 Java System Access Manager 服务器复制的文件。在此过程中,将此目录命名为
目标目录为
2. 将以下文件从
[root@solaris10:/opt/SUNWam/lib]cp *.* 3. 更改权限: chmod a+r cfgdir/*.jar 4. 将
[root@solaris10://idmzone/idmzone/root/var/tmp/idminstall/cfgdir]cp am_*.jar 5. 将以下内容附加到
(请注意,JVM 表示 Java 平台的虚拟机或 Java 虚拟机。) UNIX:cfgdir:cfgdir/am_sdk.jar:cfgdir/am_services.jar:cfgdir/am_logging.jar
图 3
6. 通过从下拉菜单中选择 JVM settings(JVM 设置),将
图 4
-Dwaveset.home=/var/opt/SUNWappserver/domains/domain1/applications/j2ee-modules/idm
图 5
7. 将
代码示例
4 中的文本添加到
[root@idmzone:/var/opt/SUNWappserver/domains/domain1/config] 8. 从安装目录中创建
[root@idmzone:/var/tmp/idminstall] jar cvf ../idm.war * 9. 使用以下命令行部署
[root@idmzone:/var/tmp/]asadmin deploy --host localhost --port 4849 --target server 10. 现在应该部署 IdM 应用程序:
图 6
停止并重新启动应用服务器: [root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin stop-domain domain1 11. 启动 Identity Manager,并从
/var/opt/SUNWappserver/domains/domain1/applications/j2ee-modules/idm/sample/init.xml 最后登录到 Identity Manager:
2.2.3 安装 Identity Manager 6.0 Service Pack 1 解压缩 Service Pack。 确保安装文件是可执行文件: chmod +x /var/tmp/idm/sp1/install 确保
关闭应用服务器。 ./asadmin stop-domain domain1 安装 Service Pack。 /var/tmp/idm/sp1/install 重新创建
2.3 使用 Solaris 10 服务管理框架管理 Sun Java System Identity Manager 可以在 Solaris 操作系统中使用 SMF 来管理本文介绍的所有软件组件。为了实现此目标,请参见文章 Configuring Sun Java System Identity Manager as a Service for the Solaris 10 OS(将 Sun Java System Identity Manager 配置为 Solaris 10 操作系统服务)。 3.0 安装 Sun Java System Access Manager Policy Agent 2.21. 从 Sun.com 中下载 Agent 2.2,确切地说,是从以下位置下载: Sun Java System Access Manager Policy Agent 2.2 for Sun Java System Application Server 8.1(适用于 Sun Java System Application Server 8.1 的 Sun Java System Access Manager Policy Agent 2.2)。 2. 解压缩该代理。 3. 《Sun Java System Access Manager Policy Agent 2.2 Guide for Sun Java System Application Server 8.1》 (适用于 Sun Java System Application Server 8.1 的 Sun Java System Access Manager Policy Agent 2.2 指南)中提供了安装该代理的文档。 下面简要说明了安装过程: 1. 代理安装在全局区域的 Java System Application Server 实例中。请确保安装了 JDK 1.4.2,并且环境变量
[root@idmzone: /]export JAVA_HOME=/usr/java(指向 /usr/jdk/j2sdk1.4.2_08 的软链接) 2. 创建策略代理配置文件。 在 Access Manager 控制台中执行以下任务。此任务的关键步骤包括创建代理 ID 和代理口令。 1. 选择 Access Control(访问控制)选项卡后,单击要创建代理配置文件的领域的名称。 2. 选择 Subjects(主体)选项卡。 3. 选择 Agent(代理)选项卡。
在
1. 登录到
2. 解压缩代理
3. 使用上述主区域的代理配置文件中的口令创建一个口令文件:
4. 运行安装
5. 使用以下命令行部署
[root@idmzone:/var/tmp/sjsagent/j2ee_agents/am_as81_agent/etc/]asadmin deploy -- 3.1 编辑 Access Manager Policy Agent 2.2 AMAgent 属性文件编辑位于以下位置的
/var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config 找到下面的三行并对其进行编辑,如下所示。注意:有几个条目都以
com.sun.identity.agents.config.profile.attribute.fetch.mode = NONE 修改位于
在继续修改这些描述符之前,请创建必要的备份。由于在下一步中将修改部署描述符,因此,此时创建备份文件是至关重要的。 编辑应用程序的
代码示例
6 显示了一个
由于对
[root@idmzone]/var/tmp/]asadmin undeploy --user admin --target server idm 创建一个新的
[root@idmzone:/var/tmp/idminstall] jar cvf ../idm.war * 然后,重新部署新的
[root@idmzone:/var/tmp/]asadmin deploy --host localhost --port 4849 --target server 如果您尝试访问 Identity Manager URL ( 3.2 暂时撤消 Identity Manager 应用程序保护 由于部署了策略代理,它将保护 Identity Manager 应用程序,从而您无法登录到 Identity Manager。因此,请按如下方式暂时撤消 Identity Manager 应用程序保护: 编辑位于以下位置的
/var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config/AMAgent.properties 在此行末尾附加一个星号,如下所示: com.sun.identity.agents.config.notenforced.uri[0] = * (请注意,这将禁用所有保护,必须按照本文档第 5.2 部分中的说明对其进行重置。) 停止并重新启动应用服务器。 [root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin stop-domain domain1 4.0. 将 Sun Java System Access Manager 7 和 Sun Java System Identity Manager 6 集成在一起以
转到
在
com.waveset.adapter.SunAccessManagerResourceAdapter 单击 Save(保存)。 按照常用步骤创建一个新的 Sun Java System Access Manager 资源;请确保正确设置标识模板。 填充 Access Manager 服务器参数,然后测试连接。 4.2 将管理员和最终用户置备到 Access Manager 中 确保为该用户分配了 Sun Access Manager 资源、受控制的组织和所有权限。 使用
# ldapsearch -h hsolaris10.sun.com -b dc=,dc=sun,dc=com -D "cn=Directory Manager" 按照上述用于管理员用户的步骤创建一个最终用户。确保为该用户分配了 Sun Access Manager 资源,但不分配受控制的组织和权限。 使用
# ldapsearch -h solaris10.sun.com -b dc=dc=sun,dc=com -D "cn=Directory Manager" 现在已创建了
图 7
(如果尚未安装 Identity Manager 6.0 Service Pack 1,请参见第 8 部分以了解故障解决方法。) 从
图 8
单击 Configure(配置)。 单击 Login(登录)。 执行以下步骤以创建一个新的登录模块组。
按如下方式继续填写该表单: Assign Login Module(分配登录模块):Identity System User ID/Password Login Module(标识系统用户 ID/口令登录模块) 选择此选项时,该页面将变为 Modify Login Module(修改登录模块)页。 按如下方式更新 Modify Login Module(修改登录模块)表单: Login display name(登录显示名称):Lighthouse 单击 Save(保存)。 单击 Save(保存)按钮以完成模块定义。 单击 Return to Login Applications(返回到登录应用程序)按钮以返回到 Login Applications(登录应用程序)页。 单击 User Interface(用户界面)链接。
对于 Administrative Interface(管理界面)重复相同的步骤。 4.5 创建用于 Identity Manager 的 Access Manager 策略 登录到 AM 管理控制台:
选择领域。 选择 Subjects(主体)。 选择 Role(角色)。 为 IDM 管理员创建一个新角色:
为 IDM 最终用户创建一个新角色:
转到 Access Control(访问控制)> Policies(策略)。
5.0 登录和注销 Identity Manager从 Identity Manager 注销时,将返回到 Identity Manager 登录屏幕。在本文档的方案中,最好执行以下操作:
要实现此目标,请修改 Identity Manager 注销实现,以便其重定向到 Access Manager 注销。对于标准的 Identity Manager 安装,此操作将调用以下文件:< /p> 1.
管理界面:
更改以下行: response.sendRedirect(p.encodeRedirectURL(url)); 使其如下所示:
response.sendRedirect(p.encodeRedirectURL("http://solaris10.sun.com:8080/amse
2.
用户界面:
执行与上面相同的更改。
现在,按照上述说明重新创建并重新部署
3. 删除 Access Manager Cookie。 按如下方式编辑位于
com.sun.identity.agents.config.cookie.reset.enable = true
com.sun.identity.agents.config.cookie.reset.name[0] = AMAuthCookie
com.sun.identity.agents.config.cookie.reset.domain[0] = .sun.com
com.sun.identity.agents.config.cookie.reset.path[0] =/
com.sun.identity.agents.config.cookie.reset.name[1] = iPlanetDirectoryPro
com.sun.identity.agents.config.cookie.reset.domain[1] = .sun.com
com.sun.identity.agents.config.cookie.reset.path[1] =/
在第 3.2 部分中,策略代理被配置为不保护任何应用程序。因此,现在应将策略代理配置为保护所有应用程序。 编辑位于以下位置中的
/var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config/AMAgent.properties 删除此行末尾的星号,如下所示: com.sun.identity.agents.config.notenforced.uri[0] = 停止并重新启动应用服务器。 [root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin stop-domain domain1 现在,您应该能够登录到管理界面 ( 6.0 故障排除Access Manager:
Identity Manager 服务器:
Ping 主机。 执行
作为 SSL Server 测试证书的有效性: localhost$ certutil -V -d /var/opt/SUNWappserver/domains/domain1/config/ -n "s1as" -u 'V' 6.3 在管理应用服务器时查看日志文件 使用
tail -f /var/opt/SUNWappserver/domains/domain1/logs/server.log 在安装策略代理后访问 Identity Manager 时,如果 Web 浏览器中显示以下内容,应确保严格按照第 2.2 部分中的步骤进行操作。
图 9
在安装代理之前,您需要关闭应用服务器,创建
1. 取消部署
2. 运行
3. 运行
4. 运行
5. 运行
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||