集成来自 Active Directory 或通讯录的联系人
可以将贵组织的 Active Directory/ADFS/LDAP 数据集成到 Diligent One 中,以便用户找到不使用 Diligent One 的人员并给他们分配内容。
工作原理
将 Active Directory 联系人添加到 Diligent One 是一个自动化流程,但是需要结果应用程序管理员与贵公司负责管理 Active Directory 的 IT 人员或数据管理员进行协作才能完成设置。这可能是同一个人,但通常情况下,是由不同的人完成。
默认情况下,结果应用程序包括引用集合。此集合包含一个名为 Contacts 的分析和一个名为 Contact book 的表。设置一个机器人,用于使用提供的脚本将数据从 Active Directory 提取到这个表。设置好之后,这个机器人会定期把数据从 Active Directory 同步到 Diligent One。然后,Diligent One 中的用户可以找到存储在通讯录中的联系人,并为他们分配内容。
ACL Robotics 订阅要求
- 要使用我们提供的 Active Directory 脚本,您需要 ACL Robotics 企业版和一个本地部署的机器人代理。
- 要使用您自己创建的脚本,可以使用任何版本的 ACL Robotics。如果使用的是基于云的机器人代理,则数据源必须在云中。
您可以访问哪些数据
我们的 Active Directory 脚本会提取 ObjectSid、姓名、电子邮件地址和一个选填字段。这个选填字段可以提供诸如部门或职位之类的上下文信息,有助于 Diligent One 用户识别人员。
过滤要导入的记录
默认情况下,我们的 Active Directory 脚本会过滤掉不活动的 Active Directory 用户。在设置机器人时,可以使用 Object Category 参数进一步筛选导入的记录。不支持使用 ACLScript 或 SQL 的自定义过滤器。
通讯录和 Diligent One 用户帐户不相关
通讯录中的人员无法访问 Diligent One。通讯录的主要目的是让 Diligent One 用户可以从 Active Directory 中查找联系人。
如果某个 Diligent One 用户也在通讯录中,Diligent One 会在分配内容时显示 Diligent One 用户,而不是其通讯录的同等信息。这是基于电子邮件地址。
从 Active Directory 以外的系统获取联系人
目前,Diligent 只提供一个完整的 Active Directory 解决方案。但是,您可以修改我们的 Active Directory 脚本,或编写自己的脚本,并使用相同的基本过程从其他系统、CRM 或您使用的其他通讯录中提取联系人。有关编写脚本的帮助,请参阅 Analytics 中的脚本。
权限
- 仅结果应用程序管理员可以查看和管理包含通讯录的引用集合。
- 公司中负责管理 Active Directory 的系统管理员、IT 专业人员或数据管理员需要一个 Diligent One 帐户,该帐户可以使用 Analytics、创建和管理机器人,以及验证数据是否流入结果应用程序。
- 选项 1(更简单)Diligent One 系统管理员,拥有专家订阅和 Analytics 的访问权限。
- 选项 2(职责更分开)Diligent One 用户,拥有专家订阅和结果应用程序管理员和机器人应用程序用户或机器人应用程序管理员和 Analytics 访问权限
限制
您的通讯录受结果应用程序中表大小限制的限制。
每个表最多包含:
- 100,000 个记录
- 500 列
说明
您一次最多可以导入 100 列。然后可以使用链接的调查问卷或来自使用主键的 Analytics 的导出数据来添加更多列。数据列和调查问卷列的总数不能超过 500 个。元数据列不受此限制。
- 每个字段名 256 个字符,包括空白字符(不适用于单个数据字段)
如果活动用户数超过了每个表 100,000 条记录的结果应用程序限制,请在设置机器人时使用 ObjectCategory 参数对数据子集进行筛选。
设置首次集成
设置此过程需要两个不同职责的人一起工作。
1. 结果应用程序管理员步骤
- 打开结果应用程序。
- 打开特殊集合面板(如果已关闭)。
- 单击参考集合。
- 在通讯录表中查找表 ID。记录此 ID。您需要把它给下一个人。
说明
如果您有多个通讯录表,只需选择您想要作为通讯录的那个。
- 确保有一个 HighBond API 令牌供同步脚本使用。
如果 HighBond API 令牌不存在,则生成一个。由于令牌绑定到用户帐户,而不是绑定到您的公司,因此我们建议使用来自通用帐户的令牌(而不是来自您自己的帐户的令牌)。这样可以确保未来如果您离职或调岗,同步流程不会中断。如果您没有通用帐户的访问权限,请与组织中管理 Diligent One 的人员联系并寻求他们的帮助。
- 请与公司中负责管理 Active Directory 的人员联系。此人可能是系统管理员或数据管理员。向他们提供以下信息:
- 以下说明:2. 数据管理员/系统管理员步骤。
- 表 ID
- 需要哪个可选字段(例如,职称或部门)
- 想让同步脚本使用的 HighBond API 令牌。
- 请确保为您提供帮助的系统管理员满足以下条件:拥有一个 Diligent One 账户,已被添加到您需要联系人的 Diligent One 实例中,并且拥有完成任务所需的权限。
2. 数据管理员/系统管理员步骤
您的同事要求您将 Active Directory 联系人添加到 Diligent One。如果您不熟悉 Diligent One,这里做个简单介绍:它是一个企业治理软件平台,可以提高安全性、改善风险管理、合规性和保障。通过允许将 Active Directory 联系人添加到 Diligent One,贵公司的用户可以更容易地找到利益相关者,并将任务和职责分配给他们。反过来,这些人员将有助于贵组织管理风险并遵守法律规范。
要完成这些步骤,您将安装 Active Directory 联系人机器人工具包,并创建一个任务以定期拉入 Active Directory 数据。然后,您将验证机器人是否正常工作。
说明
Diligent One 中的联系人数据是一份副本。它永远不会改变源数据。
- 如果您还不知道以下信息,请从要求您完成此任务的人处获取:
- 表 ID
- 他们想引入哪个选填字段(例如,职位或部门)
- Diligent One 访问权限,包括完成任务所需的权限
- HighBond API 令牌
- 执行以下步骤以安装 Active Directory 联系人机器人工具包。
- 打开工具包应用程序。
- 在可用工具包选项卡上,单击想要安装的工具包旁边的安装。
此时将显示一个面板,其中包含该工具包的预览。
- 单击安装。
安装可能需要几分钟时间。
结果 安装完成后,将显示一条成功消息。
说明
如果在安装过程中出现错误消息,请尝试重新安装。如果安装再次失败,请联系支持人员。
- 切换到机器人应用程序并激活机器人脚本。
从启动面板主页 (www.highbond.com) 中,选择机器人应用程序以将其打开。
如果您已经进入 Diligent One,可以使用左侧导航菜单切换到机器人应用程序。
- 查找并打开 Active Directory 联系人集成机器人。
提示
如果该机器人不存在,请尝试刷新页面。如果该机器人仍然没有出现,则说明工具包安装不成功。删除您试图安装的工具包,尝试再次安装。如果仍然不成功,请联系 Diligent 支持人员。
- 单击激活版本。
机器人从生产模式切换到开发模式。
- 在脚本版本选项卡中,选择 v1。
- 在右侧的版本详情面板中,选择激活。
- 可选。在添加注释字段中,输入要和脚本激活一起显示的任何信息。
- 单击激活 v1。
结果脚本版本已激活并可在生产模式中使用。
- 创建机器人任务。
- 单击机器人应用程序右上角的生产按钮,即可切换回生产模式。
- 在任务选项卡中,单击创建任务。
- 为任务指定一个描述性名称,如“同步 Active Directory 联系人”,然后单击保存。
- 单击全部激活以打开脚本。
- 单击向下箭头 访问脚本参数。
- 输入所需参数。
如有必要,输入可选参数,或保留为空以使用默认值。当您需要表 ID、HighBond API 令牌和同事提供的可选字段时进行这一步。
参数 定义 示例 以“域\用户名”格式输入 Active Directory 用户名。 用户的可分辨名称。此字段和“密码”一起被用来向 Active Directory 服务器进行认证。 example/john_smith 输入密码以访问 Active Directory。 指定用户的可分辨名称的密码。此域和“用户”一起被用来向 Active Directory 服务器进行认证。
说明
如果您的 Active Directory 服务器允许匿名连接,则您无需提供密码即可连接。基于您的服务器的安全配置,匿名连接可能能够列出可用的表。但是,此类连接可能无法从列出的部分或所有表中选择数据。有关您的 Active Directory 安全配置的详细信息,请咨询您公司的管理员。
aStrongPassword 输入 Active Directory 服务器的域名或 IP。 Active Directory 服务器的域名或 IP 地址。这不需要包括 LDAP:\\ 部分,只需服务器域名或 IP。 192.0.2.255 输入运行 Active Directory 服务器的端口。 运行 Active Directory 服务器的端口。此属性与“服务器”一起被用来指定 Active Directory 服务器。 389 输入可分辨名称的基础部分。 可辨别名称的基本部分,用于将结果限制到特定子树。
指定基本 DN 可以在为大型服务器返回条目时,通过限制需要检查的条目数大大提高性能。
DC=myConnection,DC=com 选择要连接到服务器并与服务器通信的 LDAP 版本。 用来连接到服务器以及与服务器通信的 LDAP 版本。LDAP 版本 2 和 3 的有效选项是 2 和 3。 2 选择要使用的身份验证机制。 要在连接到 Active Directory 服务器时使用的认证机制:
- SIMPLE默认纯文本认证被用来登录服务器
- DIGESTMD5 使用更安全的 DIGEST-MD5 认证
- NEGOTIATE 将使用 NTLM/协商认证
SIMPLE 选择范围。 是否将搜索范围限制到:
- WholeSubtree 整个子树(BaseDN 及其所有后裔)
- SingleLevel 单级(BaseDN 及其直接后裔)
- BaseObject 基本对象(仅 BaseDN)
提示
限制范围可大大提高搜索性能。
BaseObject 输入要排除的对象类别。 使用此值以导入具有特定对象类别的记录。例如,“Computer” 将只导入对象类别为 “Computer” 的联系人。可以使用管道分隔列表来匹配多个值。
提示
如果活动用户数超过了每个表 100,000 条记录的结果应用程序限制,可以使用 ObjectCategory 参数对数据子集进行筛选。
Computer|Person 选择可选配置字段。 该可选字段帮助识别人员。此值应该由请求您帮助的结果应用程序管理员提供给您。默认情况下,我们的 Active Directory 脚本将此选项限制为职称、部门或经理。但是,如果需要更多选项,您可以修改此脚本或创建自己的脚本。 标 题输入结果应用程序中联系人引用表的控制测试 ID 和数据中心代码。 Diligent One 实例的表 ID 和区域。此值应该由请求您帮助的结果应用程序管理员提供。 12345@eu 输入 HighBond 访问令牌。 HighBond 访问令牌,以便脚本可以使用 Diligent One 进行身份验证。此值应该由请求您帮助的结果应用程序管理员提供。 - 单击继续。
- 单击计划任务并输入频率。一般来说,晚上就足够了。
- 单击继续。
- 如果要在此任务无论出于何种原因而未运行时通知某人,则请单击失败时发送通知,然后选择应该接收这些电子邮件的人员。这可能是您,也可能是要求您协助完成此任务的结果应用程序管理员。
- 单击继续。
- 检查设置。如果需要进行任何更改,请单击其中一个编辑按钮。如果一切正常,请单击确认并创建任务。
测试数据导入
现在机器人已经准备就绪,对其进行测试以确保正常工作。
- 仍然在任务选项卡上,单击您创建的新任务。
- 在任务详细信息面板中,单击立即运行。
任务将在后台运行。您可以在左侧的最新结果下监视其状态。这应只需要一两分钟。
- 当任务指示成功时,它已成功运行。
- 错误和警告将写入 Export_Summary.log,您可以在任务运行详情面板中查看该日志。日志还提供建议以修复源数据。
- 即使任务成功,我们仍然建议查看日志。可能存在数据库数据格式错误和丢失的警告。
- 打开结果应用程序。
- 打开特殊集合面板(如果已关闭)。
- 单击参考集合。
如果看不到引用集合,则您没有结果应用程序管理员权限。您必须是结果应用程序管理员才能继续操作。Diligent One 系统管理员可以为您分配这些权限。
- 请确认引用集合中的记录数量是否与您希望从 Active Directory 导入的记录数量相同。或者,单击您的通讯录以检查记录。
- 如果一切看起来正常,则告知结果应用程序管理员。他们会执行一些步骤,最后一次请您帮忙。
3. 结果应用程序管理员步骤
此时,您的系统管理员/数据管理员应该已经创建并测试了将自动集成 Active Directory 的机器人。现在您应该激活通讯录以便人们可以使用它。
激活通讯录
在 Diligent One 用户可以利用 Active Directory 联系人之前,您需要将此表设置为通讯录。
- 打开结果应用程序。
- 打开特殊集合面板(如果已关闭)。
- 单击参考集合。
- 对于要用作通讯录的表,单击管理联系人。
管理通讯录侧面板打开。如果此表有任何解释,则管理通讯录面板中有一个解释下拉列表。
选择表将设置通讯录以使用该表中的所有记录。
选择解释将设置通讯录,以仅使用与在该解释上设置的筛选器匹配的记录。如果没有解释,请继续执行步骤 5。
- 选择名称和电子邮件列。
- 如果使用的是一个选填字段,也在此选择它,并输入它所代表内容的描述性名称(例如,“职位”或“部门”)。Diligent One 用户在系统中查找联系人时,将会看到此标签和值。
- 单击激活或保存。
在表上设置主键
为了在将来更新此表中的记录,必须设置主键。
- 打开结果应用程序。
- 打开特殊集合面板(如果已关闭)。
- 单击参考集合。
- 对于作为通讯录的表,单击 ,然后单击设置。
- 单击主键字段下拉列表并选择主键。建议您现在将此表的主键设置为唯一用户 ID 列。如果您使用的是默认的 Active Directory 同步脚本,那么您应该使用的字段是 ObjectSID。
- 单击保存。
操作完成
您可能想提醒自己返回并检查机器人是否按计划运行其任务。如果日志显示 Active Directory 数据出现警告,那么这是清理数据并确保不会让用户感到疑惑的好机会。请参阅修复错误和警告以获取帮助。
如果组织的许可证数量有限,一旦确定您不再需要许可证,您可以联系许可证管理员,通知他们您的账户可以停用。
修复错误和警告
当机器人运行任务以填充通讯录时,它可能会根据 Active Directory 数据报告错误和警告。
- 错误可能导致任务失败。如果没有,它们可能留在未完成状态。
- 警告不会导致任务失败,但它们反映了可能会让用户感到困惑的数据问题。
无论哪种情况,最好尝试快速解决源数据中的问题。错误和警告将写入 Export_Summary.log,任务运行后您可以在任务运行详情面板中查看该日志。日志还提供建议以修复源数据。
保持及时更新联系人
如果将机器人设置为这样做,它会更新 Diligent One 中的通讯录表,且包含根据您选择的时间表对 Active Directory 所做的更改。您可以手动运行机器人,但无需如此。
查看所有联系人
设置好了通讯录,就可以查看其中的所有人。
- 打开结果应用程序。
- 打开特殊集合面板(如果已关闭)。
- 单击参考集合。
- 单击通讯录的标题。
更改用于通讯录的表
您可能拥有包含联系人的多个表,但任何时候只有一个表可以是处于活动状态的通讯录。通常情况下,您可以使用一个单独的表来测试更改,然后为 Diligent One 用户提供新的联系人列表。为此,您需要取消激活当前的通讯录表,然后激活一个新表。
- 打开结果应用程序。
- 打开特殊集合面板(如果已关闭)。
- 单击参考集合。
- 找到当前通讯录表,然后单击管理联系人。管理通讯录侧面板打开。
- 单击取消激活。管理通讯录侧面板关闭。
- 找到要用作通讯录的表,单击管理联系人。
管理通讯录侧面板打开。如果此表有任何解释,则管理通讯录面板中有一个解释下拉列表。解释是捆绑在一起的一组过滤器、可视化效果和统计信息,它们基于集合中的表。
选择表将设置通讯录以使用该表中的所有记录。
选择解释将设置通讯录,以仅使用与在该解释上设置的筛选器匹配的记录。如果没有解释,请继续执行步骤 7。
- 选择名称和电子邮件列。
- 如果使用的是一个选填字段,输入它所代表内容的描述性名称(例如,“职位”或“部门”)。Diligent One 用户在系统中查找联系人时,将会看到此标签和值。
- 单击激活或保存。
更新通讯录配置
您可以调整通讯录中字段的映射方式,并更改现有通讯录的可选字段标签。
- 打开结果应用程序。
- 打开特殊集合面板(如果已关闭)。
- 单击参考集合。
- 找到用作通讯录的表,单击管理联系人。管理通讯录侧面板打开。
- 如果此表有任何解释,请选择要使用的解释。如果没有,请继续执行步骤 6。
- 选择名称和电子邮件列。如果要使用一个可选字段,也在此选择它,并输入它所代表内容的描述性名称(例如,“职称”或“部门”)。
- 单击保存。
删除或更新联系人会发生什么情况
只要删除通讯录,或编辑或删除该通讯录中的行,分配给该联系人的项仍将分配给该联系人,但该联系人将变为静态,不再更新。
例如,项目应用程序中的一个操作被分配给 john.smith@example.com。然后,John 被从通讯录中删除。该操作仍分配给 john.smith@example.com,在有人重新分配该操作之前,将保持这样。