在大多数组织中,处理异构系统是一个常见主题,但在维护企业目录时,不同的系统可能会成为问题。常见的场景包括公司 IT 基础设施中的 Microsoft Active Directory 和 IBM Lotus Domino。通常 Lotus Domino 用于企业消息传递,而 Active Directory 处理网络用户。为了简化系统管理,从单独一个点来同时维护两个目录是很便利的。IBM 认识到了这种需求,并包含了 Lotus Domino Active Directory Synchronization 工具或简称为 ADSync(首次出现在 Lotus Domino V6 中)。该工具可以运行在 Microsoft Windows 2000 及之后版本上。
ADSync 允许管理员来保持 Domino Directory 和 Active Directory 用户和组的同步。管理员可以注册、同步属性和密码,而且在 Active Directory 中对用户和组执行重命名和删除操作时,还会在 Domino Directory 中执行同样的操作,反之亦然。其特性包括两个目录之间的容器映射和属性映射,以及注册用户时所使用的策略。它的设置和用法很简单,但是仍存在需要考虑的问题。
本文中使用了以下产品:
Microsoft Windows Server 2003
Lotus Domino V7.0.1
Lotus Domino Administrator V7.0.1
安装和设置
ADSync 作为安装选项包含在 IBM Lotus Domino Administrator 客户机中。默认情况下将不安装 ADSync,但可以将它用作可选程序文件之一,因此必须在安装过程中选中它(参见图 1)。在 IBM Lotus Notes 安装向导的 Custom Setup 窗口中,选择 Domino Administrator 选项以及 Domino Directory W2000 Sync Services 子选项。
图 1. 在 Domino Administrator 客户机的安装过程选择 ADSync 选项
进行安装之后,ADSync 由一个 DLL 文件(nadsync.dll)和一个 help 文件(adsynch.chm)组成。在 Windows 平台上安装 ADSync 时,必须使用以下代码完成安装:
Regsvr32 nadsync.dll
这将 ADSync 注册为 Microsoft Management Console(MMC)管理单元,可以在 Active Directory Users and Computers 工具中使用。另一个安装问题涉及到为 Lotus Domino 管理员和 Active Directory 管理员建立适当的安全性。
建立安全性
使用 ADSync 时的关键问题是
安全性。Active Directory 管理员需要对适当的 Domino Directory 进行管理访 问,同时 Domino 管理员需要适当的 Active Directory 访问。Active Directory 管理员需要具有经过正确认证的 Notes ID 以及必要的访问权限,这样才能使用 Domino Directory。另外,必须为所有 Domino 认证器(在其中创建用户)创建策略。同样,Domino 管理员在 Active Directory 中必须拥有必要的权利以便执行所有功能,例如添加用户和组。IBM 推荐将认证器 ID 文件(cert.id)从 Domino 服务器复制到 Domino Administrator 数据目录。最后的安装步骤涉及初始化 Active Directory Users and Computers 工具中的 ADSync 工具。为此,双击 Domino Directory synchronization 对象来启动该过程(参见图 2)。提示输入管理员密码(Domino 服务器数据目录中的 admin.id)之后将要求提供 Domino 服务器。将出现对话框来确认安装成功。
图 2. 初始化 ADSync 工具
Lotus ADSync Options 对话框
完成初始化后,Lotus ADSync Options 对话框将打开。(若要在初始化之后访问该窗口,可双击图 2 中的 Domino Directory synchronization 选项。)Lotus ADSync Options 对话框包含以下四个附签:
Notes Synchronization Options。可以使用该附签来启用或禁用所有同步选项,还可选择性地启用/禁用选项。另外,可以指定何时显示提示(for all operations、deletions only 或 no operations)以及是否选择使用 Certificate Authority 进行认证(参见图 3)。
图 3. Notes Synchronization Options 附签
Notes Settings。在该附签上,可以标识用于所有操作的 Domino 服务器,或是用于个别操作(例如注册、同步和删除)的特定服务器。另外,可以指定 Domino 设置,包括管理 ID、删除用户期间所发生的事情、默认的认证器名称以及 Domino 组的策略(参见图 4)。
图 4. Notes Settings 附签
Field Mappings。使用该附签将 Active Directory 字段映射到 Domino Directory 字段。选择一行(Active Directory 字段),然后选择 Domino 字段来映射该行(参见图 5)。
图 5. Field Mappings 附签
Container Mappings。使用该附签将 Active Directory 容器映射到特定的 Domino 认证器和/或策略(参见图 6)。默认情况下,在设置过程中所选择的认证器和策略将用于所有操作。
图 6. Container Mappings 附签
在 Lotus ADSync Options 对话框的所有附签中都有 Help 按钮可用。它提供了一般 MMC 帮助和特定于 ADSync 的主题的
使用 Domino Administrator 客户机
ADSync 向 Register Person 对话框添加了 Advanced 选项(参见图 8)。选中该选项后,将通过 Register Person 对话框的 Other 附签中的 Windows User 按钮提供对 Active Directory 选项的访问。
图 8. Lotus Domino 中的 Register Person 对话框
图 9 展示了单击 Windows User Options 按钮后打开的窗口。在这里可以指定是否创建相应的 Active Directory 用户、使用哪一个 Active Directory 以及下面的 Active Directory 选项:完整名称、登录名称和组。
图 9. 新 Domino 用户的 Active Directory 选项
该过程的 Lotus Domino 方面以用户维护结束。下一步,在 Active Directory 中进行操作。
使用 Active Directory
通过选择 Administrative Tools - Active Directory Users and Computers,即可在 Windows 中使用 Administrative Tools 的 Active Directory Users and Computers 工具。对 ADSync 进行初始化和设置后,在添加 Active Directory 对象(人或组)时,Domino Directory 成为一个选项。New Object 对话框包括 “Register in Domino Directory” 选项;选择该选项,从而使用字段中输入的信息在 Lotus Domino 中创建新对象。
另外,右击 Active Directory 中的对象并选择适当的选项,可以添加或同步 Lotus Domino 中的现有用户。当为现有 Active Directory 用户选择 Register in Domino 选项时,将打开图 10 所示的对话框。可以使用默认值完成用户注册,而无需提示或提供每一个所选用户的名称和密码。其中一个选项用于选择发生错误时是否稍后尝试进行注册。指定这些选项后,可以选择立即注册、稍后注册或中止此过程。
图 10. 用于 Windows 用户和组的 Registration 选项
除了对单独用户进行操作之外,还可以从 Active Directory 中创建组。为此,选择从组列表进行
ADSync 注意事项
使用 ADSync 时比较棘手的问题之一就是:要全面了解哪一方可执行哪些操作;即哪些操作可由 Active Directory 执行,哪些操作可由 Domino Administrator 客户机执行。但是,如果使用表 1 中的信息,上述内容是比较容易理解的。表中的第一列包含任务,后面两列指明任务是否在其原始平台上进行操作。
表 1. 从 Active Directory 和 Lotus Domino 发起的 ADSync 操作
快速浏览上表,您会发现可以从任一方创建并删除用户,但是用户的注册将取决于创建用户的位置。在 Active Directory 中可以很轻松地实现用户数据在系统间的同步,而在 Lotus Domino 上却不可以。最后,组创建只是一个 Active Directory 任务。因此在您的环境中使用 ADSync 时需要熟悉该表。另一个
操作 | 从 Active Directory 平台 | 从 Lotus Domino 平台 |
---|---|---|
注册用户 | 可以 | 可以 |
重命名在 Active Directory 中创建的用户 | 只能重命名 Active Directory 用户 | 只能重命名 Active Directory 用户 |
重命名在 Lotus Domino 中创建的用户 | 可以 | 可以 |
同步用户数据 | 可以 | 不可以 |
删除用户 | 可以 | 可以 |
创建组 | 可以 | 不可以 |
重命名组 | 可以 | 不可以 |
同步组数据 | 使用 Active Directory 中所定义的成员关系来重写 Domino Directory Members 字段 | 不可以 |
删除组 | 不可以 | 可以 |
编程
有关 ADSync 使用的一个常见问题就是应对编程支持:使用脚本创建 Domino 用户时可以使用 ADSync 吗?答案很简单:不可以。ADSync 是 MMC 管理单元,旨在简化系统管理员的工作。但是,它没有提供任何编程选项可简化用户或组的创建和/或同步的操作。
在创建 Active Directory 用户时或之后,可以使用 ADSync 来注册 Domino 用户,反之亦然。至少,在 Lotus Notes 中可以创建 Active Directory 用户,但是没有通过任何(采用 C、Java 或 LotusScript 编写的)可用 API 向开发人员公开该能力。您可能认为通过 Microsoft .NET 平台可以实现 Active Directory 交互,但是它并没有提供对 ADSync 功能的支持。您必须使用 Active Directory 或 Domino Directory 接口来使用 ADSync 功能。
结束语
任何系统管理员都会告诉您,管理企业用户和组是一个耗时的过程。当企业使用多个完全异构系统时,问题会更加严重。使用单一接口来处理管理性琐事(例如创建、删除以及配置用户和组)是比较便利的。通过简化使 Active Directory 和 Domino Directory 用户和组保持同步的过程,ADSync 解决了这个问题。但是,ADSync 过程中的两个方面都存在一些事项需要注意,因此在使用该工具时应做好准备,以确保得到的结果符合您的期望。