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