Strategy ONE
连接 LDAP 服务器时的注意事项
根据您组织的要求,建议您做出决定并收集以下信息:
- 确定是否要在 LDAP 服务器中使用连接池。通过连接池,您可以重新使用与 LDAP 服务器的打开的连接来执行后续操作。即使连接未处理任何操作(也称为池化),与 LDAP 服务器的连接仍保持打开状态。此设置可通过消除每次操作打开和关闭与 LDAP 服务器的连接所需的处理时间来提高性能。
看确定是否使用连接 池化有关连接池的背景信息,
- 确定是否需要使用数据库直通执行。在Strategy,通常使用单个用户名和密码组合来连接数据库并执行作业。但是,您可以选择将用户用于登录的 LDAP 用户名和密码传递给数据库Strategy。然后使用 LDAP 用户名和密码访问数据库并执行作业。这允许每个登录的用户Strategy使用其唯一的用户名和密码对数据库执行作业,并可为其赋予与其他用户不同的权限集。
看确定是否启用数据库 使用 LDAP 进行直通执行有关数据库直通执行的其他信息,
- 确定是否要将 LDAP 用户和组信息导入Strategy元数据。一个Strategy为每个 LDAP 组创建组。
看确定是否将 LDAP 用户导入Strategy有关将 LDAP 用户和组信息导入的好处和注意事项的信息Strategy。
- 确定是否要自动与 LDAP 服务器同步用户和组信息。这确保了如果您导入的用户的组成员身份发生变化Strategy或链接到现有Strategy帐户,LDAP 目录中的更改将应用于Strategy当用户登录时,或按照您确定的时间表。
看确定是否自动同步 LDAP 用户和组信息了解同步用户和群组信息的好处和注意事项,
- 如果您选择将 LDAP 用户和组信息导入Strategy元数据,确定以下内容:
- 确定是否要将 LDAP 用户和组信息导入Strategy用户登录时的元数据,以及每次用户登录时是否同步信息。
- 确定是否要将 LDAP 用户和组信息导入Strategy批量同步元数据,以及是否希望按照计划同步信息。
- 如果要批量导入 LDAP 用户和组信息,则必须提供搜索过滤器来导入用户和组。例如,如果您的组织在 LDAP 目录中有 1,000 个用户,其中 150 个需要使用Strategy,您必须提供一个搜索过滤器,将 150 位用户导入到Strategy元数据。看定义 LDAP 搜索过滤器以在登录时验证和导入用户和组有关定义搜索过滤器的信息,
- 如果您的 LDAP 组织结构包括组内包含的组,请确定在将用户或组导入时要导入多少个递归组Strategy。
如果您选择导入两个嵌套组Strategy导入 LDAP 组,将导入与每个用户关联的组,最多可导入用户上方两级。在本例中,对于用户 1,将导入“国内”和“营销”组。对于用户 3,将导入开发人员和员工。
- 如果您使用单点登录 (SSO) 身份验证系统(例如 Windows 身份验证或集成身份验证),请确定是否要为单点登录系统的用户导入 LDAP 用户和组信息。
- 确定是否导入了以下附加信息:
- 用户的电子邮件地址。如果你有Strategy分发服务,那么当您导入 LDAP 用户时,您可以将这些电子邮件地址导入为与这些用户关联的联系人。
- 第三方用户的可信认证请求用户 ID。当第三方用户登录时,此受信任的身份验证请求用户 ID 将用于查找链接的Strategy用户。
- 要导入的附加 LDAP 属性。例如,您的 LDAP 目录可能包含一个名为
accountExpires
,其中包含有关用户帐户何时到期的信息。LDAP 目录中的属性取决于您使用的 LDAP 服务器和 LDAP 配置。您可以根据导入的 LDAP 属性创建安全过滤器。例如,导入 LDAP 属性
countryName
,基于该 LDAP 属性创建一个安全过滤器,然后将该安全过滤器分配给所有 LDAP 用户。现在,当巴西的用户查看按国家细分销售收入的报告时,他们只能看到巴西的销售数据。
收集到上述信息后,导航到 Workstation 来设置您的 LDAP 连接。
设置 LDAP SDK 连接
从 LDAP 服务器的角度来看,Intelligence Server 是一个 LDAP 客户端,它使用明文或加密 SSL 通过以下方式连接到 LDAP 服务器: LDAP SDK。
LDAP SDK 是一组连接文件库 (DLL),Strategy用于与 LDAP 服务器进行通信。有关最新认证和支持的 LDAP SDK 文件集,请参阅自述文件。
Intelligence Server 要求您使用的 LDAP SDK 版本支持以下内容:
- LDAP v. 3
- SSL 连接
- Linux 平台上的 64 位架构
为了使 LDAP 与 Intelligence Server 正确协作,必须使用 64 位 LDAP 库。
- Intelligence Server 和 LDAP SDK 之间的行为略有不同,具体取决于所使用的 LDAP SDK。这自述文件概述了这些行为。
- 无论使用哪个 LDAP SDK,LDAP SDK 和 LDAP 服务器之间的行为都是相同的。
Strategy建议您使用与您环境中运行 Intelligence Server 的操作系统供应商相对应的 LDAP SDK 供应商。具体建议列于自述文件,以及最新一套经过认证和支持的 LDAP SDK,参考Strategy包含特定版本详细信息和 SDK 下载位置信息的技术说明。
安装 LDAP SDK DLL 的高级步骤
- 将 LDAP SDK DLL 下载到安装了 Intelligence Server 的计算机上。
- 安装 LDAP SDK。
- 注册LDAP SDK文件的位置如下:
- Windows 环境:将 LDAP SDK 库的路径添加为系统环境变量,以便 Intelligence Server 可以找到它们。
- Linux 环境:修改
LDAP.sh
文件位于env
你的文件夹Strategy One安装以指向 LDAP SDK 库的位置。详细过程如下:在 UNIX 中将 LDAP SDK 路径添加到环境变量以下。
- 重新启动 Intelligence Server。
在 UNIX 中将 LDAP SDK 路径添加到环境变量
此程序 假设您已经安装了 LDAP SDK。有关安装 LDAP SDK 的详细步骤,请参阅安装 LDAP SDK DLL 的高级步骤。
- 在 Linux 控制台窗口中,浏览到
HOME_PATH
在哪里HOME_PATH
是安装时指定的主目录。浏览到文件夹 /env
在这条路上。 - 添加
Write
特权LDAP.sh
通过输入命令chmod u+w LDAP.sh
然后按Enter
。 - 打开
LDAP.sh
在文本编辑器中打开文件,并将库路径添加到MSTR_LDAP_LIBRARY_PATH
环境变量。例如:MSTR_LDAP_LIBRARY_PATH='/path/LDAP/library'
建议您将所有库存储在同一个路径中。如果有多条路径,可以将所有路径添加到
MSTR_LDAP_LIBRARY_PATH
环境变量并用冒号(:) 分隔它们。例如:MSTR_LDAP_LIBRARY_PATH='/path/LDAP/library:/path/LDAP/library2'
- 删除写入权限
LDAP.sh
通过输入命令chmod a-w LDAP.sh
然后按Enter
。 - 重新启动 Intelligence Server 以使更改生效。
定义 LDAP 搜索过滤器以在登录时验证和导入用户和组
您必须向 Intelligence Server 提供一些特定参数,以便它能够有效地通过 LDAP 目录搜索用户信息。
当用户尝试登录Strategy,Intelligence Server 通过在 LDAP 目录中搜索用户的可分辨名称来验证用户身份,这是在 LDAP 目录结构中识别用户的唯一方法。
为了有效地搜索,Intelligence Server 必须知道从哪里开始搜索。设置 LDAP 身份验证时,建议您指示搜索根可分辨名称,以建立 Intelligence Server 启动所有用户和组搜索的目录位置。如果未设置此搜索根,Intelligence Server 将搜索整个 LDAP 目录。
此外,您还可以指定搜索过滤器,以帮助缩小要搜索的用户和群组范围。
以下部分介绍了您可以配置的搜索设置:
- 启动 LDAP 搜索的最高级别:搜索根提供了这些参数的示例以及每个参数的附加详细信息和一些 LDAP 服务器特定的说明。
- 查找用户:用户 搜索过滤器提供 LDAP 用户搜索过滤器的概述。
- 查找群组:群组搜索过滤器提供 LDAP 组搜索过滤器的概述。
启动 LDAP 搜索的最高级别:搜索根
下图和表格根据用户在公司和 LDAP 目录中的组织方式提供了几个可能的搜索根的示例。
下表根据上图,提供了导入用户的常见搜索场景Strategy。搜索根是要定义的根Strategy用于 LDAP 目录。
设想 |
搜索根 |
包括来自操作的所有用户和组 |
运营 |
包括运营、顾问和销售部门的所有用户和组 |
销售量 |
包括运营、顾问和技术部门的所有用户和组 |
部门(在用户/组搜索过滤器中使用排除条款来排除属于市场营销和管理部门的用户) |
包括来自技术和运营的所有用户和组,但不包括顾问。 |
部门(在用户/组搜索过滤器中使用排除条款来排除属于顾问的用户。) |
对于某些 LDAP 供应商,搜索根不能是 LDAP 树的根。例如,Microsoft Active Directory 和 Sun ONE 都要求从域控制器 RDN (dc) 开始搜索。
查找用户:用户 搜索过滤器
用户搜索过滤器允许Strategy高效地搜索 LDAP 目录以在登录时验证或导入用户。
一旦 Intelligence Server 在 LDAP 目录中找到用户,搜索就会返回用户的专有名称,并根据 LDAP 目录验证用户登录时输入的密码。Intelligence Server 使用身份验证用户来访问、搜索和检索 LDAP 目录中的信息。
Intelligence Server 使用用户的可分辨名称搜索该用户所属的 LDAP 组。您必须分别输入组搜索过滤器参数和用户搜索过滤器参数(请参阅查找群组:群组搜索过滤器)。
用户搜索过滤器通常采用以下形式 (&(objectclass=
LDAP_USER_OBJECT_CLASS
)(
LDAP_LOGIN_ATTR
=#LDAP_LOGIN#))
其中:
LDAP_USER_OBJECT_CLASS
LDAP 用户的对象类。例如,您可以输入(&(objectclass=
person
)(cn=#LDAP_LOGIN#))
。LDAP_LOGIN_ATTR
指示使用哪个 LDAP 属性来存储 LDAP 登录。例如,您可以输入(&(objectclass=
人)(
cn
=#LDAP_LOGIN#))
。#LDAP_LOGIN#
可以在此过滤器中使用它来表示 LDAP 用户登录。
根据您的 LDAP 服务器供应商和 LDAP 树结构,您可能需要在上面的搜索过滤器语法中尝试不同的属性。例如, (&(objectclass=person)
(
uniqueID
=#LDAP_LOGIN#))
, 在哪里 uniqueID
是您的公司用于身份验证的 LDAP 属性名称。
查找群组:群组搜索过滤器
群组搜索过滤器允许Strategy高效搜索 LDAP 用户所属组的目录。这些过滤器可以在 Intelligence Server 配置编辑器的 LDAP 主题下进行配置。
组搜索过滤器通常采用以下形式之一(或可以组合以下形式,使用管道 | 符号分隔形式):
(&(objectclass=
LDAP_GROUP_OBJECT_CLASS
) (
LDAP_MEMBER_LOGIN_ATTR
=#LDAP_LOGIN#))
(&(objectclass=
LDAP_GROUP_OBJECT_CLASS
) (
LDAP_MEMBER_DN_ATTR
=#LDAP_DN#))
(&(objectclass=
LDAP_GROUP_OBJECT_CLASS
) (gidNumber=#LDAP_GIDNUMBER#))
上面列出的组搜索过滤器形式具有以下占位符:
LDAP_GROUP_OBJECT_CLASS
表示 LDAP 组的对象类。例如,您可以输入(&(objectclass=
groupOfNames
)(member=#LDAP_DN#))
。LDAP_MEMBER_
[
LOGIN
or
DN
]
_ATTR
指示 LDAP 组的哪个 LDAP 属性用于存储 LDAP 用户的 LDAP 登录名/DN。例如,您可以输入(&(objectclass=groupOfNames)(
member
=#LDAP_DN#))
。#LDAP_DN#
可以在此过滤器中使用它来表示 LDAP 用户的可分辨名称。#LDAP_LOGIN#
可以在此过滤器中使用它来表示 LDAP 用户的登录。#LDAP_GIDNUMBER#
可在此过滤器中用来表示 UNIX 或 Linux 组 ID 号;这对应于 LDAP 属性gidNumber
。
您可以通过添加附加条件来实现特定的搜索模式。例如,您可能有 20 个不同的用户组,其中只有 5 个组可以访问和使用Strategy。您可以向组搜索过滤器添加其他条件,以便仅导入这五个组。
确定是否使用连接 池化
通过连接池,您可以重新使用与 LDAP 服务器的打开的连接来执行后续操作。即使连接未处理任何操作(也称为池化),与 LDAP 服务器的连接仍保持打开状态。此设置可通过消除每个操作打开和关闭与 LDAP 服务器的连接所需的处理时间来提高性能。
如果不使用连接池,则每次请求后都会关闭与 LDAP 服务器的连接。如果请求不频繁地发送到 LDAP 服务器,这可以帮助减少网络资源的使用。
群集 LDAP 服务器的连接池
您可能有多个 LDAP 服务器,它们作为 LDAP 服务器集群一起工作。
如果禁用连接池,则在发出打开 LDAP 连接的请求时,将访问请求时负载最轻的 LDAP 服务器。然后就可以完成针对 LDAP 目录的操作,并且在没有连接池的环境中,与 LDAP 服务器的连接将被关闭。当下次发出打开 LDAP 连接的请求时,将再次确定并选择负载最少的 LDAP 服务器。
如果为集群 LDAP 环境启用连接池,则行为与上面描述的不同。第一次请求打开 LDAP 连接时,将访问请求时负载最少的 LDAP 服务器。但是,由于连接池已启用,因此与 LDAP 服务器的连接并未关闭。因此,在下次打开 LDAP 连接的请求时,不会确定负载最少的 LDAP 服务器,而是重用当前打开的连接。
确定是否启用数据库 使用 LDAP 进行直通执行
在Strategy,通常使用单个用户名和密码组合来连接数据库并执行作业。但是,您可以选择传递用于登录的用户 LDAP 用户名和密码Strategy到数据库。然后使用 LDAP 用户名和密码访问数据库并执行作业。这允许每个登录的用户Strategy使用其唯一的用户名和密码对数据库执行作业,可以赋予其与其他用户不同的权限集。
为每个用户单独选择数据库直通执行。如果用户密码在会话期间被更改Strategy,使用数据库直通执行时,计划任务可能会运行失败。
请考虑以下场景。
用户登录名为 UserA,密码为 PassA,登录到Strategy上午 9:00 并创建一份新报告。用户计划在当天下午 3:00 运行报告。由于没有报告缓存,报告将针对数据库执行。中午,管理员将 UserA 的密码更改为 PassB。用户 A 没有重新登录Strategy,并于下午 3:00 使用传递到数据库的凭据 UserA 和 PassA 运行预定报告。由于这些凭证现在无效,计划的报告执行失败。
为了防止出现此问题,请将密码更改安排在用户不太可能运行计划报告的时间。对于使用数据库直通执行并定期运行计划报告的用户,如果他们的密码已更改,则通知他们重新安排所有报告。
确定是否将 LDAP 用户导入Strategy
要将您的 LDAP 用户和组连接到Strategy,您可以将 LDAP 用户和组导入Strategy元数据,或者您可以在 LDAP 目录中创建用户和组之间的链接,Strategy。导入用户会在Strategy基于 LDAP 目录中的现有用户。链接用户将 LDAP 用户的信息与现有用户关联起来Strategy。您还可以允许 LDAP 用户登录Strategy系统匿名,无需关联Strategy用户。下表介绍了每种方法的优点和注意事项。
连接类型 |
好处 |
注意事项 |
导入 LDAP 用户和组 |
用户和组是在元数据中创建的。 可以为用户和组分配额外的权限和权限Strategy。 用户有自己的收件箱和个人文件夹Strategy。 |
在具有许多 LDAP 用户的环境中,导入可以快速用这些用户及其相关信息填充元数据。 用户和组在首次导入时可能没有正确的权限和特权Strategy。 |
允许匿名或来宾用户 |
用户可以立即登录,无需创建新的Strategy用户。 |
权限仅限于公共/来宾组和 LDAP 公共组的权限。 用户退出后,其个人文件夹和收件箱将从系统中删除。 |
将用户导入到Strategy以下章节将详细描述:
您可以随时修改导入设置,例如,如果您选择最初不导入用户,但希望在将来的某个时间点导入他们。
将 LDAP 用户和组导入Strategy
您可以选择在登录时、通过批处理或两者结合的方式导入 LDAP 用户和组。导入的用户自动成为Strategy的 LDAP 用户组,并分配有该组的访问控制列表 (ACL) 和权限。要为用户分配不同的 ACL 或权限,您可以将用户移动到另一个Strategy用户组。
当 LDAP 用户导入Strategy,您还可以选择导入该用户的 LDAP 组。如果用户属于多个组,则会导入并在元数据中创建该用户的所有组。导入的 LDAP 组在Strategy的 LDAP 用户文件夹和Strategy的用户管理器。
LDAP 用户和 LDAP 组均在Strategy同级的 LDAP 用户组。虽然用户和任何关联组之间的 LDAP 关系存在于Strategy元数据,这种关系在 Developer 中没有以视觉方式呈现。
如果您希望用户组显示在Strategy,您必须手动将它们移动到适当的组中。
导入的 LDAP 用户或组与Strategy用户或组通过Strategy元数据,采用可分辨名称的形式。一个专有名称 (DN)是 LDAP 目录中条目(在本例中为用户或组)的唯一标识符。
这Strategy用户的可分辨名称与为身份验证用户分配的 DN 不同。认证用户的 DN 是Strategy用于连接 LDAP 服务器并搜索 LDAP 目录的帐户。认证用户可以是LDAP服务器中任何有搜索权限的人,一般是LDAP管理员。
从 LDAP 目录中删除用户不会影响用户在Strategy元数据。已删除的 LDAP 用户不会自动从Strategy同步期间的元数据。您可以在Strategy,或者手动删除用户。
无法从以下位置导出用户或组Strategy到 LDAP 目录。
允许匿名/访客用户进行 LDAP 身份验证
LDAP 匿名登录是具有空登录名和/或空密码的 LDAP 登录。成功的 LDAP 匿名登录将获得 LDAP 公共组和公共/来宾组的权限和访问权限。LDAP 服务器必须配置为允许来自Strategy。
由于元数据中不存在来宾用户,因此这些用户无法执行某些操作Strategy,即使明确分配了相关的特权和权限。例子包括大多数行政行动。
当用户以匿名/访客用户身份登录时:
- 用户没有历史列表,因为用户在元数据中没有实际存在。
- 用户无法创建对象,也无法安排报告。
- 用户连接监视器记录 LDAP 用户的用户名。
- Intelligence Server 统计数据记录用户名 LDAP USER 下的会话信息。
确定是否自动同步 LDAP 用户和组信息
在任何公司的安全模型中,都必须采取措施来考虑不断变化的员工群体。添加新用户和删除不再在公司任职的用户非常简单。解释用户姓名或者群组成员身份的变化可能会更加复杂。为了简化这个过程,Strategy支持用户名/登录名和组与 LDAP 目录中包含的信息同步。
如果你选择Strategy自动同步 LDAP 用户和组,LDAP 服务器内发生的任何 LDAP 组更改都将在Strategy下次 LDAP 用户登录时Strategy。这将保留 LDAP 目录和Strategy同步中的元数据。
通过同步 LDAP 服务器和Strategy,您可以在Strategy元数据进行了以下修改:
- 用户同步:用户详细信息,例如用户名Strategy使用 LDAP 目录中的最新定义进行更新。
- 组同步:群组详细信息,例如群组名称Strategy使用 LDAP 目录中的最新定义进行更新。
在同步 LDAP 用户和组时Strategy,您应该注意以下情况:
- 如果为 LDAP 用户或组授予了尚未导入或链接到组的组的新成员资格Strategy并且导入选项已关闭,则无法导入该组Strategy因此无法将其权限应用于Strategy。
例如,User1 是 LDAP 目录中 Group1 的成员,并且两者都已导入Strategy。然后,在 LDAP 目录中,用户 1 从组 1 中删除,并被赋予组 2 的成员身份。但是 Group2 未被导入或链接到Strategy团体。同步后,Strategy,User1从Group1中移除,并被识别为Group2的成员。但是,在 Group2 被导入或链接到Strategy团体。在此期间,User1 被赋予 LDAP 用户组的特权和权限。
- 当用户和组从 LDAP 目录中删除时,相应的Strategy从 LDAP 目录导入的用户和组仍保留在Strategy元数据。您可以在Strategy并手动删除用户和组。
- 无论您的同步设置如何,如果在 LDAP 目录中修改了用户的密码,则用户必须登录到Strategy使用新密码。LDAP 密码不存储在Strategy元数据。Strategy使用用户提供的凭据在 LDAP 目录中搜索并验证用户。
假设有一个名为 Joe Doe 的用户,他属于某个组 Sales,当他被导入到Strategy。后来,他被转移到 LDAP 目录中的另一个组“Marketing”。LDAP 用户 Joe Doe 和 LDAP 组 Sales 和 Marketing 已导入Strategy。最后,Joe Doe 的用户名更改为 Joseph Doe,Marketing 的组名更改为 MarketingLDAP。
下表描述了用户和组在Strategy用户、组或用户和组是否同步。
同步用户? |
同步群组? |
同步后的用户名 |
同步后的组名 |
否 |
否 |
乔·多伊 |
营销 |
否 |
是 |
乔·多伊 |
市场营销LDAP |
是 |
否 |
多伊 |
营销 |
是 |
是 |
多伊 |
市场营销LDAP |