【IT168 技术文档】
现在很多公司希望提高其 IT 基础设施的安全性。公司实现这一目标的方法之一就是使用工具实现和增强他们的 IT 安全策略。IBM Tivoli 部门销售的两种产品可以帮助他们实现这一目标:IBM Tivoli Identity Manager 和 IBM Tivoli Access Manager。
IBM Tivoli Identity Manager 是一种用于管理用户和帐户定义的产品。 通过控制系统上的帐户定义, 它允许公司控制用户能够访问 哪个系统。
IBM Tivoli Access Manager 是一种访问控制产品。它通过强制实施访问控制策略防止对受保护的资源进行未授权的访问。Access Manager 可用于保护多种类型系统资源的访问,从单个文件到 Web 站点。
Identity Manager 和 Access Manager 产品互相补充。Identity Manager 控制系统中可以存在什么样的用户帐户,而 Access Manager 控制授权用户在系统上执行的操作。为了完成这些任务,两种产品都维护用户的注册信息。 这些产品对定义在注册表中的用户强制实施用户访问和授权策略。
安装 Identity Manager 之后必须填充它的用户注册表,使其能够管理这些用户的系统访问。因为 Identity Manager 管理 Access Manager 中的用户定义,Identity Manager 可以填充 Access Manager 用户注册表。Identity Manager 用户注册表的初始填充技术就是本文的主题之一。
Identity Manager 和 Access Manager 都部署完成并且填充各自的用户注册表之后,有可能需要随着 Identity Manager 中对用户属性的修改不断更新 Access Manager 中的用户属性值。本文将描述从 Identity Manager 管理或者同步 Access Manager 用户属性的技术。
本文介绍使用 IBM Directory Integrator 5.1.2 作为应用程序框架开发的 User Data Importing and Synchronization Utility。
Directory Integrator 是一种数据迁移和同步产品,内置支持多种不同平台上的注册表和数据源。对于这类集成方案它是一种理想的工具。
为了理解所描述的解决方案,读者应该熟悉 Access Manager 和 Identity Manager 产品的高层概念。
Identity Manger 用户注册表的初始填充可以利用多种来源的用户定义来完成。本文介绍了使用以 Directory Integrator 为基础的工具从公共目录或者 Access Manager 用户注册表填充 Identity Manager 用户定义。如果用户定义不在此范围之内,可以变通本文所述的实现使用其他的用户定义来源。
在 Access Manager 和 Identity Manager 安装、配置并使用用户定义填充之后,一些用户属性的值不可避免要进行修改。Identity Manager 提供了丰富的更新用户属性值的功能。因为 Access Manager 可以配置成在进行授权决策时使用用户属性的值,Identity Manager 用户注册表中修改的值也必须在 Access Manager 用户注册表中相应更新。通过更新可以保证 Access Manager 的授权决策依据的是正确的值。Access Manager 用户注册表可以通过使用基于 Directory Integrator 的同步工具保证是最新的数据,后者使用 Identity Manager 用户注册表的值更新 Access Manager 用户注册表。
下面描述了同时使用 Identity Manager 和 Access Manager 的客户可能使用的三种不同部署场景。每种场景都描述了帮助部署的可用工具。这些工具在本文后面还将进一步介绍。
1. 已经部署了 Access Manager
Access Manager 已经部署,并且在 Access Manager 用户注册表中创建了所有客户的用户定义,现在又安装了 Identity Manager。这种情况,Identity Manager 管理员将把 Access Manager 用户注册表中已经定义的用户数据导入到 Identity Manager 用户注册表中,因此 Identity Manager 处于用户管理的核心。
要把 Access Manager 用户注册表中的用户导入到 Identity Manager,管理员可以使用 TAMtoTIMImport或 MDTAMtoTIMImport任务。使用 TAMtoTIMImport访问只有单个域的 Access Manager 部署,而 MDTAMtoTIMImport 则用于部署有多个域的 Access Manager。
创建 Identity Manager 用户之后,Identity Manager 管理员可以在 Identity Manager 中与 Access Manager 服务进行调解,以便在 Identity Manager 中创建与 Access Manager 相匹配的帐户。Identity Manager 调解(reconciliation)特性把帐户从代理导入到服务器。帐户根据别名(alias)用户属性的值分配给 Identity Manager 用户。别名的值必须与导入的帐户名匹配。因为 TAMtoTIMImport和 MDTAMtoTIMImport 任务将设置 Identity Manager 用户的别名属性,可以自动确定调解的 Access Manager 帐户的所有者。
2. 用户定义存在于公共资料库中
没有安装 Access Manager 和 Identity Manger。公司所有的用户定义都放在其他应用程序使用的公共目录中。现在已经安装了 Identity Manager 和 Access Manager。这种情况下,Identity Manager 管理员将把用户定义从公共目录导入到 Identity Manager 中。
管理员可以使用 DirectorytoTIMImport任务从目录中把已有的用户定义导入到 Identity Manager 中。可以配置 Identity Manager,为导入的每个用户都规定一个 Access Manager 帐户。这样规定之后,就可以同时填充 Identity Manager 和 Access Manager 用户注册表。
3. 同步 Access Manager 用户定义
Access Manager 和 Identity Manager 都已经部署并使用。Access Manager 中已经使用 Access Manager 用户属性定义了一些授权策略。使用 Identity Manager 界面管理 Identity Manager 用户的属性。因为用户属性在 Identity Manager 用户注册表中更新,而不是在 Access Manager 用户注册表中更新,进行授权决策时 Access Manager 中不一定有正确的用户属性值。
这种情况下可以使用 TIMtoTAMSync 任务用 Identity Manager 用户注册表中的变动来更新 Access Manager 用户注册表。
Identity Manager 4.5 和 Directory Integrator 5.1.2 中 DSMLv2 的增强
Identity Manager Release 4.5 中支持一种称为“IDI Data Feed”的配置服务类型,用于在 Directory Integrator 和 Identity Manager 服务器之间交换用户数据。“IDI Data Feed”服务使用 Directory Services Markup Language version 2(目录服务标记语言版本2,DSMLv2)格式和 Directory Integrator 通信。在 Directory Integrator version 5.1.2 中增加了 DSMLv2 EventHandler 和 JNDI 连接器中的 DSMLv2 支持。这种增加极大改进了 Directory Integrator 和 Identity Manager 的集成能力。本文所述的解决方案使用带有 DSML2InitialContextFactory 驱动程序支持的 Directory Integrator JNDI 连接器来将用户条目导入到 Identity Manager。
这一工具的开发涉及到 Directory Integrator 配置文件的设计。Directory Integrator 配置文件包括一个客户设置的属性文件和几个 AssemblyLines (ALs)。AssemblyLine 用于一项特定的处理任务,由许多在不同数据源上以不同模式操作的连接器组成。
该工具中使用的连接器类型包括:
该工具中连接器的工作模式包括:
通过这个工具,Identity Manager 或者 Access Manager 管理员可以加载一个配置文件并为集成任务选择特定的 AssemblyLine。
运行这些方案的管理员应该能够为 Identity Manager 和 Access Manager 提供身份验证凭证,以便在 AssemblyLines 中使用。环境参数包括主机名、用户 ID、口令,等等。所有环境参数均存储在属性文件中。在本工具中,属性文件使用相同的名称作为配置文件,但使用 .properties 作为后缀。属性文件内容在载入时被导入到配置文件中。第一次使用之后,如果管理员请求加密的话,属性文件可以被加密。
为了从 Access Manager 将用户定义导入到 Identity Manager,该工具支持 Access Manager 所使用的三种类型的注册表:LDAP Directory、Active Directory 和 Domino Directory。Identity Manager to Access Manager Synchronization 解决方案只支持 LDAP 作为 Access Manager 注册表。同时,必须启用 LDAP 更改日志。
这些工具已经尽可能设计得自动化。例如,当从 Access Manager 检索用户数据时,首先使用额外的连接器来发现 Access Manager 用户索引,然后第二个连接器检索属性。这种方式的话,用户不必输入搜索基准。在同步的情况下,监视更改日志可以确保连接器自动地检测所有 Identity Manager 用户属性更改。
该工具的性能主要取决于 Directory Integrator。然而,工具的算法和错误处理也影响了性能。错误转储只应该在调试时才打开,因为它会对性能造成较大影响。
1. 保护配置文件和客户设置的安全。
管理员可以设置配置文件的密码,并为属性文件选择加密选项。
2. 在目录和 Directory Integrator 之间启用 SSL。
目录和 Directory Integrator 之间的通信可以启用 SSL。要获得更多信息,请参考 IBM Directory Integrator 5.1.2 Reference 手册。
3. 在 Directory Integrator 和 Identity Manager 之间启用 SSL。
Directory Integrator 和 Identity Manager 之间的通信可以启用 SSL。要获得更多信息,请参考 Identity Manager 4.5 Server Configuration 手册。