管理员设置 - LDAP 身份验证

通过管理菜单的身份验证部分中的 LDAP 页面,您可以配置 Looker 以使用轻量级目录访问协议 (LDAP) 对用户进行身份验证。本页介绍了该流程,并包含有关将 LDAP 群组与 Looker 角色和权限相关联的说明。

要求

只有在满足以下条件时,Looker 才会显示管理菜单的身份验证部分中的 LDAP 页面:

  • 您的 Looker 实例不是 Looker (Google Cloud Core) 实例。
  • 您拥有管理员角色
  • 您的 Looker 实例已启用 LDAP。

如果满足这些条件,但您没有看到 LDAP 页面,请提交支持请求,以便在您的实例上启用 LDAP。

注意事项

在 Looker 实例上设置 LDAP 身份验证时,请注意以下事项:

  • Looker 身份验证使用 LDAP 的“简单”身份验证。不支持匿名身份验证。
  • 您必须创建一个 LDAP 用户账号,该账号对用户条目和 Looker 将使用的任何群组条目都具有读取权限。
  • Looker 仅从 LDAP 目录中读取数据(不写入数据)。
  • Looker 可以使用电子邮件地址将现有账号迁移到 LDAP。
  • Looker API 的使用不会与 LDAP 身份验证进行交互。
  • 如果您的 LDAP 服务器限制 IP 流量,您需要将 Looker 的 IP 地址添加到 LDAP 服务器的 IP 许可名单或入站流量规则中。
  • LDAP 会替换双重身份验证。如果您之前已启用双重身份验证,那么在启用 LDAP 后,您的用户将不会看到双重身份验证登录界面。

停用 LDAP 身份验证时请务必谨慎

如果您使用 LDAP 登录到 Looker,并想停用 LDAP 身份验证,请务必先执行以下两项操作:

  • 确保您有其他登录凭据。
  • 在 LDAP 配置页面上启用备用登录选项。

否则,您可能会将自己和其他用户锁定在 Looker 之外。

使用入门

前往 Looker 的管理部分的 LDAP 身份验证页面,查看以下配置选项。

设置连接

Looker 支持使用明文 LDAP 和基于 TLS 的 LDAP 进行传输和加密。强烈建议使用 LDAP over TLS。不支持 StartTLS 和其他加密方案。

  1. 输入您的主机端口信息。
  2. 如果您使用的是基于 TLS 的 LDAP,请选中 TLS 旁边的方框。
  3. 如果您使用的是基于 TLS 的 LDAP,Looker 默认会强制执行对等证书验证。如果您需要停用对等证书验证,请选中不验证
  4. 点击测试连接。如果出现任何错误,请先更正这些错误,然后再继续。

关联身份验证

Looker 需要访问受密码保护的 LDAP 账号。LDAP 账号应具有对人员条目和一组新角色条目的读取权限。Looker LDAP 账号不需要写入权限(也不需要访问目录的任何其他方面),并且账号是在哪个命名空间中创建的并不重要。

  1. 输入密码
  2. [可选] 如果您的 LDAP 提供方不提供分页结果,请选中强制不分页复选框。在某些情况下,如果您在搜索用户时未获得任何匹配结果,此方法可能会有所帮助,但它并非此类问题的唯一解决方案。
  3. 点击测试身份验证按钮。如果出现任何错误,请确保您的身份验证信息正确无误。如果您的凭据有效,但错误仍然存在,请与贵公司的 LDAP 管理员联系。

用户绑定设置

本部分中的详细信息指定了 Looker 如何在您的目录中查找用户、绑定以进行身份验证,以及提取用户信息。

  1. 设置基本 DN,即所有用户的搜索树的根
  2. [可选] 指定一个用户对象类,用于控制 Looker 将查找和返回的结果类型。如果基本 DN 混合了多种对象类型(人员、群组、打印机等),而您只想返回一种类型的条目,则此参数非常有用。
  3. 设置登录属性,用于定义用户将用于登录的属性。这些标识符必须对每位用户都是唯一的,并且是用户在您系统中的 ID,因此用户会很熟悉。例如,您可以选择用户 ID 或完整电子邮件地址。如果您添加多个属性,Looker 将同时搜索这两个属性,以找到合适的用户。避免使用可能会导致账号重复的格式,例如名字和姓氏。
  4. 指定电子邮件地址属性名字属性姓氏属性。此信息会告知 Looker 如何在登录期间映射这些字段并提取其信息。
  5. 设置 ID Attr,用于指明 Looker 用作用户唯一 ID 的字段。这通常是登录字段之一。
  6. (可选)输入可选的自定义过滤条件,以便提供任意 LDAP 过滤条件,这些过滤条件将在搜索用户以在 LDAP 身份验证期间进行绑定时应用。如果您想过滤掉一组用户记录(例如已停用的用户或属于其他组织的用户),此功能非常有用。

示例

此示例 ldiff 用户条目演示了如何设置相应的 Looker 设置:

Ldiff 用户条目

dn: cn=mward,ou=People,dc=example,dc=com
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: top
cn: mward
userpassword: normal
givenname: Marcus
telephonenumber: +1 408 555 5688
sn: Ward
mail: mward@example.com
ou: People

对应的 Looker 设置

Base DN: ou=People,dc=looker,dc=com
User Object Class: person
Login Attrs: cn
Email Attr: mail
First Name Attr: givenname
Last Name Attr: sn
ID Attr: cn

将 LDAP 用户属性与 Looker 用户属性配对

您可以选择使用 LDAP 用户属性中的数据,在用户登录时自动填充 Looker 用户属性中的值。例如,如果您已将 LDAP 配置为建立特定于用户的数据库连接,则可以将 LDAP 用户属性与 Looker 用户属性配对,以便在 Looker 中建立特定于用户的数据库连接

请注意,LDAP 属性必须是用户属性,而不是群组属性。

如需将 LDAP 用户属性与相应的 Looker 用户属性配对,请执行以下操作:

  1. LDAP 用户属性字段中输入 LDAP 用户属性的名称,并在 Looker 用户属性字段中输入要与之配对的 Looker 用户属性的名称。
  2. 如果您希望要求用户提供 LDAP 属性值才能登录,请勾选必需
  3. 点击 +,然后重复上述步骤以添加更多属性对。

测试用户信息

  1. 输入测试用户的凭据,然后点击 Test User Authentication 按钮。Looker 将尝试完整的 LDAP 身份验证序列并显示结果。成功后,Looker 会输出目录中的用户信息以及有关身份验证过程的一些跟踪信息,这些信息有助于解决配置问题。
  2. 验证身份验证是否成功以及所有字段是否都已正确映射。例如,确认 first_name 字段不包含属于 last_name 的值。

群组和角色

您可以配置 Looker 以创建与外部管理的 LDAP 群组对应的群组,然后根据用户的镜像 LDAP 群组为用户分配 Looker 角色。当您更改 LDAP 群组成员资格时,这些更改会自动传播到 Looker 群组配置中。

通过镜像 LDAP 群组,您可以使用外部定义的 LDAP 目录来管理 Looker 群组和用户。这样,您就可以在一个位置管理多个软件即服务 (SaaS) 工具(例如 Looker)的群组成员资格。

如果您启用 Mirror LDAP Groups,Looker 将为引入到系统中的每个 LDAP 群组创建一个 Looker 群组。您可以在 Looker 的管理部分的群组页面上查看这些 Looker 群组。群组可用于为群组成员分配角色、设置内容访问权限控制和分配用户属性

默认群组和角色

默认情况下,镜像 LDAP 群组开关处于关闭状态。在这种情况下,您可以为新的 LDAP 用户设置默认群组。在新用户群组新用户角色字段中,输入您希望在新的 Looker 用户首次登录 Looker 时为其分配的任何 Looker 群组或角色名称。

这些群组和角色会在新用户首次登录时应用。这些群组和角色不会应用于现有用户,而且如果在用户首次登录后从用户身上移除,也不会重新应用。

如果您之后启用镜像 LDAP 群组,系统会在用户下次登录时移除这些默认角色,并替换为镜像 LDAP 群组部分中分配的角色。这些默认选项将不再可用或分配,并且将完全被镜像群组配置所取代。

启用镜像 LDAP 群组

如果您选择在 Looker 中镜像 LDAP 群组,请开启镜像 LDAP 群组 开关。Looker 会显示以下设置:

群组查找器策略:从下拉菜单中选择一个选项,告知 Looker 如何查找用户的群组:

  • 群组具有成员属性:这是更常见的选项。在查找群组成员时,Looker 只会返回直接分配给用户的群组。例如,如果用户是 Database-Admin 群组的成员,而 Database-Admin 群组是 Engineering 群组的成员,那么用户只会获得与 Database-Admin 群组关联的权限。

  • 群组具有成员属性(深度搜索):此选项允许群组成为其他群组的成员,有时称为 LDAP 嵌套群组。这意味着,用户可以拥有多个群组的权限。例如,如果用户是“Database-Admin”群组的成员,而“Database-Admin”群组是“Engineering”群组的成员,那么用户将获得与这两个群组关联的权限。某些 LDAP 服务器(尤其是 Microsoft Active Directory)支持自动执行此类深度搜索,即使调用方执行的似乎是浅层搜索。这可能是您可以用来执行深度搜索的另一种方法。

基本 DN:可用于缩小搜索范围,可以与此文档页面用户绑定设置部分中指定的基本 DN 相同。

群组对象类:此设置是可选的。如用户绑定设置部分中所述,此参数可将 Looker 返回的结果限制为特定对象类型或一组类型。

群组成员属性:对于每个群组,此属性用于确定哪些对象(在本例中,可能是指人员)是成员。

群组用户属性:LDAP 用户属性的名称,我们将在群组条目中搜索该属性的值,以确定用户是否属于相应群组。此属性的默认值为 dn(这意味着将其留空与将其设置为 dn 相同),这将导致 LDAP 使用完整的标识名(即 LDAP 搜索本身中存在的区分大小写的确切字符串)来搜索群组条目。

首选群组名称/角色/群组 DN:借助这组字段,您可以分配自定义群组名称以及分配给 Looker 中相应 LDAP 群组的一个或多个角色。

  1. 群组 DN 字段中输入 LDAP 群组 DN。这应包括完整的标识名,即 LDAP 搜索本身中存在的区分大小写的确切字符串。包含在 LDAP 群组中的 LDAP 用户将被添加到 Looker 中的镜像群组。

  2. 自定义名称字段中,为镜像群组输入自定义名称。此名称将显示在 Looker 的管理部分的群组页面上。

  3. 自定义名称字段右侧的字段中,选择将分配给群组中每个用户的一个或多个 Looker 角色

  4. 点击 + 可添加其他字段组,以配置其他镜像组。如果您配置了多个群组,并且想要移除某个群组的配置,请点击该群组的字段集旁边的 X

如果您修改之前在此界面中配置的镜像群组,该群组的配置会发生变化,但群组本身会保持不变。例如,您可以更改群组的自定义名称,这会更改群组在 Looker 的群组页面中的显示方式,但不会更改分配的角色和群组成员。更改群组 DN 会保留群组名称和角色,但群组成员会根据具有新 LDAP 群组 DN 的外部 LDAP 群组的成员重新分配。

如果您在此页面中删除某个群组,该群组将不再镜像到 Looker 中,并且其成员将不再拥有通过该群组在 Looker 中分配给他们的角色。

对镜像群组所做的任何修改都会在相应群组的用户下次登录 Looker 时应用于这些用户。

高级角色管理

如果您已启用镜像 LDAP 群组 开关,Looker 会显示这些设置。本部分中的选项用于确定 Looker 管理员在配置从 Looker 镜像的 Looker 群组和用户时有多大的灵活性。

例如,如果您希望 Looker 群组和用户配置与 LDAP 配置完全一致,请启用这些选项。如果前三个选项全部启用,Looker 管理员将无法修改镜像组的成员资格,并且只能通过 LDAP 镜像组向用户分配角色。

如果您希望在 Looker 中更灵活地自定义群组,请关闭这些选项。您的 Looker 群组仍会镜像您的 LDAP 配置,但您将能够在 Looker 中执行其他群组和用户管理操作,例如将 LDAP 用户添加到 Looker 群组或直接向 LDAP 用户分配 Looker 角色。

对于新的 Looker 实例或之前未配置镜像群组的 Looker 实例,这些选项默认处于关闭状态。

对于已配置镜像群组的现有 Looker 实例,这些选项默认处于开启状态。

高级角色管理部分包含以下选项:

禁止个别 LDAP 用户获得直接角色:启用此选项后,Looker 管理员将无法直接向 LDAP 用户分配 Looker 角色。LDAP 用户将只能通过其群组成员资格接收角色。如果允许 LDAP 用户加入内置(非镜像)Looker 群组,他们仍然可以从镜像 LDAP 群组和内置 Looker 群组继承角色。之前直接分配了角色的所有 LDAP 用户在下次登录时,这些角色将被移除。

如果此选项处于关闭状态,Looker 管理员可以直接向 LDAP 用户分配 Looker 角色,就像这些用户是直接在 Looker 中配置的用户一样。

禁止直接加入非 LDAP 群组:启用此选项后,Looker 管理员将无法直接将 LDAP 用户添加到内置的 Looker 群组。如果允许镜像 LDAP 群组成为内置 Looker 群组的成员,则 LDAP 用户可能会保留任何父 Looker 群组中的成员资格。之前分配给内置 Looker 群组的所有 LDAP 用户将在下次登录时从这些群组中移除。

如果此选项处于关闭状态,Looker 管理员可以直接将 LDAP 用户添加到内置 Looker 群组。

禁止从非 LDAP 群组继承角色:启用此选项后,镜像 LDAP 群组的成员将无法从内置 Looker 群组继承角色。之前从父 Looker 群组继承角色的所有 LDAP 用户下次登录时都将失去这些角色。

如果此选项处于关闭状态,则添加为内置 Looker 群组成员的镜像 LDAP 群组或 LDAP 用户将继承分配给父 Looker 群组的角色。

身份验证需要角色:如果此选项处于开启状态,则 LDAP 用户必须具有分配的角色。未分配角色的任何 LDAP 用户都将无法登录 Looker。

如果此选项处于关闭状态,即使 LDAP 用户未分配任何角色,也可以通过身份验证来访问 Looker。未分配角色的用户将无法在 Looker 中查看任何数据或执行任何操作,但可以登录 Looker。

停用镜像 LDAP 群组

如果您想停止在 Looker 中镜像 LDAP 群组,请关闭镜像 LDAP 群组 开关。关闭开关会导致以下行为:

  • 系统会立即删除没有任何用户的任何镜像 LDAP 群组。
  • 任何包含用户的镜像 LDAP 群组都会标记为孤立群组。如果此群组中的所有用户在 31 天内均未登录,系统会删除该群组。无法再向孤立的 LDAP 群组添加用户或从中移除用户。

迁移和集成选项

管理员和指定用户的备用登录方式

  • 允许管理员和具有 login_special_email 权限的用户通过基于电子邮件地址的备用方式登录(如需详细了解如何设置此权限,请参阅角色文档)。如果您已开启此选项,并且用户拥有相应权限,则此选项会显示在 Looker 登录页面上。
  • 此选项是设置 LDAP 期间的一个后备选项,如果日后出现 LDAP 配置问题,或者您需要支持某些不在 LDAP 目录中的用户,此选项会非常有用。
  • 启用 LDAP 后,系统会一直为普通用户停用 Looker 电子邮件地址/密码登录。

通过电子邮件合并

  • 此选项可让 Looker 根据电子邮件地址将首次使用 LDAP 的用户与其现有的 Looker 账号合并。
  • 如果 Looker 找不到匹配的电子邮件地址,系统会为用户创建一个新账号。

保存并应用设置

输入完信息并完成所有测试后,勾选我已确认上述配置,并希望启用全局应用,然后点击更新设置以保存。