轻量级目录访问协议(LDAP)是什么呢?又如何实现 Microsoft Active Directory 到 Domino Directory 迁移与集成?下文给出了详细解释。
轻量级目录访问协议(LDAP)
在日常工作当中,很多人都会提出这样的问题:我们使用的电子邮件系统一般都会配有个人通讯录(或地址本),发送电子邮件时可以从联系人列表当中进行选择而不必费心记忆每位位联系人的邮件地址。但对于不在个人通讯录当中的联系人,如何在拥有正确权限的情况下简单快捷的获取邮件地址等信息呢?
企业内部一般都会存在基于不同平台和技术之上建立起来的异构应用程序,如邮件、论坛、信息发布、在线学习等不同的应用,用户如何通过唯一的用户信息和密码在这些异构应用之间进行访问呢?
在企业应用环境当中,对人员等信息进行集中管理并提供统一接口进行查询是很重要的,不同的信息系统之间需要进行统一的目录信息查找和认证。在这种情况下,使用轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)是一种很好的选择。作为一种轻量级的、开放、可扩展的互联网协议,轻量级目录访问协议提供目录信息的集中存储和管理,以供电子邮件及其他各种应用系统进行目录信息维护和查找。目录服务器当中不仅保存基本的联系人等信息,还可以根据需要进行各种扩充,但用户、组以及认证信息是此类目录服务的核心内容。目录服务器为各种应用程序提供了集中且单一的目录信息访问方式,并且为用户使用单一密码在多种应用程序之间实现单点登陆提供了基础。
轻量级目录访问协议并没有对服务器和客户端的实现方法、信息存储方式以及程序的具体工作机制进行定义和限制,它只规定了客户端和服务器以及不同的服务器之间以何种标准进行通信。这种通信的标准可以表达诸如“查找销售部门所有名字叫 Tom 的人,告诉我他的邮件地址、办公电话和业务专长”等信息。基于轻量级目录访问协议(LDAP)这一标准实现的目录服务器与客户端之间可以通过该协议进行通信,但由于具体实现方式不同,并且每种服务器在实现时又都添加了自己的附加扩展功能,因而导致不同的轻量级目录服务器之间并不是简单的替换关系,而需要根据实际情况进行迁移和集成,以保证依赖于目录服务的各种系统能够正常运行。Microsoft Active Directory 和 IBM Lotus Domino Directory 就是很常用的两种轻量级目录访问服务器。
Microsoft Active Directory
Microsoft Active Directory 是轻量级目录访问协议 (LDAP) 服务器的一种实现,被集成在 Windows 服务器当中,是一种被广泛使用的目录环境。 Active Directory 在实现 LDAP 协议的基础上提供了很多扩展,与 Windows 操作系统集成紧密,为 Exchange 服务器和 Windows 文件共享、打印共享等很多应用程序提供目录服务。在 Windows 服务器安装完毕之后,管理员需要对 Active Directory 进行单独安装才能够使其启动。以 Windows 2003 服务器为例,从开始菜单的运行对话框中输入:DCPromo
命令,运行 Active Directory 安装向导。安装配置完成后,由开始菜单选择 Administrative Tools -> Active Directory Users and Computers(参考图 1),此时,管理员便可以进行用户和组的设置。
图 1. Active Directory 用户和计算机管理界面
IBM Lotus Domino Directory
Lotus Notes 从第一个版本开始就将地址本 (Name and Address Book) 作为一种目录服务,Lotus Notes/Domino 从 4.6 版本开始支持 LDAP 第二版 (LDAP V2),从 5.0 版本开始支持 LDAP 第三版 (LDAP V3)。LDAP 服务作为 Domino 服务器上的一个任务根据需要可以有选择性的启动执行。Domino 目录服务同样在 LDAP 协议的基础之上提供了强大的可扩展性,Notes/Domino 平台之上的邮件、办公自动化等系统以及其他各类应用系统都可以基于 Domino 目录服务进行目录信息的维护和查询。
在对 Domino 服务器进行配置时,可以选择是否将 LDAP 服务作为默认服务启动 ( 参考图 2),当 Domino 服务器启动之后,可以使用 load ldap
命令来启动 LDAP 服务或通过 tell ldap quit
命令停止服务。管理员可以在 Domino 服务器文档当中对 Domino LDAP 服务进行更为详细的设置。
图 2. 在配置 Domino 服务器时将 LDAP 设为默认服务启动
从 Microsoft Active Directory 到 Domino Directory 的迁移与集成
在一个企业或者组织当中,由于历史原因拥有多个企业目录平台是很常见的,而如何让多种目录服务相互协作或同步、尽量减少管理员的维护工作量、降低用户使用当中的复杂度,对企业信息系统而言非常重要。IBM Lotus Domino Directory 和 Microsoft Active Directory 作为常用的两种目录服务器产品经常同时出现在企业应用环境当中。很多公司在 Active Directory 的目录服务基础之上建立了文件共享以及很多其他基于 Microsoft Windows 的应用程序,而后又引入了 IBM Lotus Domino 作为企业邮件、信息协作和办公自动化的平台。如何将这两种企业目录集成、如何进行取舍,要根据现有系统的具体情况和企业未来发展需求进行确定。以下是三种常见的从 Active Directory 到 Domino Directory 的迁移与集成方法,每种方法都适合不同的企业环境。
方法一:从 Microsoft Active Directory 到 IBM Lotus Domino Directory 的完全迁移
如果依赖于原有 Active Directory 服务器的应用不是很多,或者应用程序完全基于 LDAP 标准而不依赖于某种具体的目录服务器,那么可以考虑将原有 Active Directory 目录服务器当中的用户和组等信息完全迁移到 Domino 目录服务器当中。IBM Lotus Domino Directory 通过 Lotus Domino Administrator 管理工具支持对 LDAP 的迁移。
打开 Lotus Domino Administrator 客户端,连接到 Domino 服务器,选择 Users and Groups 页面,在右侧的 Tools 栏中选择 People >Register, 进入 Register Person 对话框(参考图 3)。
图 3. 在 Domino 用户注册界面当中选择对用户进行迁移点击
Migrate People 按钮,进入 People and Groups Migration 对话框,对于外部目录源选项的配置可以有两种选择:一种是从 Foreign directory source 列表直接选择 Active Directory, 在弹出的对话框中选择要迁移的 Active Directory Domain, 然后单击 OK(参考图 4);图 4. 以 Active Directory 作为目录源直接对用户和组进行迁移
如果出现找不到可用的 Active Directory Domain 的提示,则可以从 Foreign directory source 列表选择 LDAP,在弹出的 LDAP Domino Upgrade Service 对话框中配置远程 LDAP 目录连接进行迁移(参考图 5)。
图 5. 通过标准 LDAP 形式对 Active Directory 当中的用户和组进行迁移
在返回 People and Groups Migration 对话框后,根据需要在 Filter 下拉框中选择用户或组,然后单击 GO! 按钮,这时 Available people/groups 列表将显示出 Active Directory 目录当中待迁移的所有内容选项(参考图 6)。使用“Add”或者“Add All”按钮选择要迁移的用户和组,单击“Migrate”按钮将选择的用户放入注册队列,在弹出的消息框中确认等待注册的用户状态和数量后,单击“Done”按钮确认。
图 6. 个人和群组迁移对话框
这时 Active Directory 目录中组的相关信息已经被直接添加到 Domino 目录当中,队列中等待注册的用户此时出现在“Register Person”框中(参考图 7),管理员此时可以对用户属性进行一定修改,在对注册信息进行确认后,单击“Register All”按钮完成所迁移用户在 Domino 服务器当中的注册。
图 7. 注册用户对话框
使用 Lotus Domino Administrator 提供的这一迁移工具,不仅可以实现从 Microsoft Active Directory 到 Domino Directory 的目录迁移,还可以实现从任何其他 LDAP 目录服务器向 Domino Directory 的目录迁移。Lotus Domino Administrator 同时还支持从标准的 LDIF(LDAP Data Interchange Format)文件向 Domino Directory 的导入。
方法二:使用 Domino Directory Assistance 连接原有 Microsoft Active Directory
当依赖于原有 Active Directory 的企业应用很多,并且对目录服务器的类型依赖性很强时,Active Directory 需要被保留下来继续提供目录服务。而在 Domino 服务器当中部署新的应用时,有时需要对原有 Active Directory 当中的用户等信息进行搜索,或者使用其中的用户名、密码进行身份验证,这就要求 Domino 服务器能够对 Active Directory 当中的目录信息进行访问。这时 Domino 服务器可以使用 Domino Directory Assistance 来连接原有 Microsoft Active Directory 目录服务器,实现对 Domino Directory 的扩展。“Domino Directory Assistance”是对 Domino Directory 的一种扩展方式,通过它实现了对 Domino 本地主地址本之外的其他目录信息进行访问的方法,每一个“Directory Assistance”配置文档定义了所要连接的一个外部目录服务的具体位置、访问方式以及认证信息等具体目录属性。
要使用 Domino Directory Assistance 连接 Microsoft Active Directory,首先需要在 Domino 服务器端使用 da50.ntf 模版创建 Directory Assistance 数据库。打开创建后的数据库,添加 Directory Assistance 配置文档,一个 Domino 服务器可以使用 Domino Directory Assistance 数据库当中的多个配置文档同时连接多个外部目录。
在 Directory Assistance 配置文档的“Basics”选项附签上,“Domain type”项选择“LDAP”(参考图 8)。
图 8. 配置 Directory Assistance 文档“Basic”附签
“Naming Contexts(Rules)”选项附签上,由于在 Active Directory 中注册的用户的专有名称与 Notes 命名约定不一致,所以需要使用全星号规则来表示这些用户的专有名称,为该规则选择“Trusted for Credentials”是启用了按证书信任,以便使用 Active Directory 中的用户项进行 Internet 客户机验证(参考图 9)。
图 9. 配置 DA 文档“命名上下文”附签
在“LDAP”附签设置上需要配置远程 Active Directory 的“Hostname”、“ Port”、“Optional Authentication Credential”以及“Base DN for search”等参数(参考图 10)。在配置的过程当中可以使用每项配置参数对应的“Suggest”或“Verify”等按钮帮助更好的进行设置,这是 Domino 8.0 当中提供的新功能。
图 10. 配置 DA 文档“LDAP”附签
设置完成后保存文档并关闭。要使创建好的 Directory Assistance 数据库设置生效,需要将其添加到 Domino 服务器文档当中。从 Domino Administrator 客户端打开 Domino 服务器,单击“Configuration”附签;在左侧窗格中的 Server > All Server Documents 列表当中选择特定的服务器文档,然后单击“Edit Server”;在“Basics”附签“Directory Information”区段的“Directory assistance database name”域中,输入创建好的 Directory Assistance 数据库文件名,例如 da.nsf(参考图 11),在对修改的 Domino 服务器文档进行保存后需要重新启动 Domino 服务器以使其生效。
图 11. 在服务器文档中设置 Directory Assistance 数据库
设置之后,用户便可以在 Domino 应用当中轻松的访问 Active Directory 信息。例如可以从浏览器打开一个 Domino 应用程序,当提示输入用户名与密码时,用户可以使用自己的 Active Directory 用户信息进行登陆。
Directory Assistance 数据库除了可以用来连接 Active Directory 目录服务器外,同样可以连接其他基于 LDAP 协议的轻量级目录服务器。
方法三:使用 ADSync 集成和同步两种目录
方法二的缺点在于需要维护两套独立的目录服务,结果可能是每个用户都需要在两个目录服务器当中拥有不同的用户名和密码,而且用户需要在不同的应用程序之间交替使用它们,增加了用户使用的复杂度。每当有新用户加入,管理员都需要在两个目录当中分别进行注册,同样当用户注销时也需要在两个目录当中分别进行删除,增加了管理员的工作量。Lotus Domino Active Directory Synchronization(ADSync) 适当的解决了这一问题,它可以实现两套目录当中信息的同步,在降低了管理员管理成本的同时也提高了用户体验。ADSync 是随 Domino Administrator 客户端提供的,因为不是默认安装组件,需要用户在安装过程当中选择 Domino Directory W2000 Sync Service 选项进行安装 ( 参考图 12)。
图 12. 在安装 Domino Administrator 时选择安装 Domino Directory W2000 Sync Service
ADSync 的操作并不复杂,安装配置完毕后从开始菜单中打开“Active Directory Users and Computers”,双击“Domino Directory Synchronization”对象来启动 ADSync 工具。提示输入管理员密码后会出现对话框确认启动成功。此时,管理员通过 ADSync 来保持 Domino Directory 和 Active Directory 用户和组的同步。完成初始化后,“Lotus ADSync Options”对话框将打开(参考图 13),管理员可以通过以下选项进行设置:
- Notes Synchronization Options 附签:可以使用该附签来选择启动同步选项。
- Notes Settings 附签:可以设置执行同步操作的 Domino 服务器,包括管理员 ID、删除用户设置、默认的认证名称以及 Domino 组的策略等信息。
- Field Mappings 附签:将 Active Directory 字段映射到 Domino Directory 字段。
- Container Mappings 附签:使用该附签将 Active Directory 容器映射到特定的 Domino 认证和策略。
- Group Mappings 附签:使用该附签将 Active Directory 组类型映射到 Domino 组类型策略。
图 13. Lotus ADSync 选项对话框
通过右击 Domino Directory synchronization 可以方便地启用或禁用同步(参考图 14)。
图 14. 启动或禁用同步
Domino Directory synchronization 正确启用后,便可以进行 Active Directory 和 Domino Directory 的同步操作。使用 Adsync 时必须明确,哪些操作可以由 Domino 客户端执行,哪些操作可以由 Active Directory 执行。
1、使用 Domino 客户端
Domino 客户端可以执行注册用户、删除用户、删除组,重命名用户等操作。以注册用户为例,操作如下:
Domino Administrator 客户端进入注册用户界面 , 选中“Advanced”选项,单击“Other”附签,点击“Windows User Options”按钮进入“Add Person to Windows”对话框(参考图 15),在这里可以进行详细的 Active Directory 信息设置,如完整名称、登录名称、所属组名称以及所属容器名称等。
图 15. 从 Domino 添加用户并同步到 Active Directory
2、使用 Active Directory
Active Directory 可执行的操作有:注册用户、删除用户、重命名用户、同步用户和组数据、创建组、删除组、重命名组等操作。以注册用户为例,操作如下:
从“开始”菜单选择“Administrative Tools –>Active Directory Users and Computers”,对 ADSync 进行初始化和设置后,在添加 Active Directory 对象时会出现“Domino Directory”选项。在“New Object”对话框中选择“Register in Domino Directory”,并指定各个字段的信息,完成后,新对象将被同时创建在 Domino Directory 中(参考图 16)。
图 16. 设置从 Active Directory 添加用户并同步到 Domino
小结
以上上种方法进行比较,方法一比较适合于对原有 Active Directory 服务依赖性不是很强的环境,迁移之后只需要维护 Domino Directory,迁移后的管理工作最简单,工作量也最小,此方法同样也适用于从 Active Directory 之外的其他 LDAP 服务器向 Domino Directory 的迁移。第二种方法需要维护两套地址本,但保证了新旧应用系统的共存,在 Domino 应用中可以轻松访问 Active Directory 目录信息,此方法同样适用于其他 LDAP 服务器与 Domino 目录服务的集成。第三种方法仍然需要维护两套地址本,但由于 ADSync 提供的同步功能,使得这种维护更为简单。
希望本文介绍的从Active Directory到Lotus Domino迁移的方法能够对读者有所帮助。
【编辑推荐】