管理员设置 - 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 进行传输和加密。强烈建议使用 TLS 上的 LDAP。不支持 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. 设置 Login Attrs,用于定义用户登录时所用的属性。这些 ID 必须对每个用户而言都是唯一的,并且是用户在您的系统中熟悉的 ID。例如,您可以选择用户 ID 或完整电子邮件地址。如果您添加了多个属性,Looker 会搜索这两个属性,以找到合适的用户。避免使用可能导致账号重复的格式,例如名字和姓氏。
  4. 指定 Email Attr(电子邮件地址属性)、First Name Attr(名字属性)和 Last Name Attr(姓氏属性)。这些信息会告知 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. 输入测试用户的凭据,然后点击测试用户身份验证按钮。Looker 会尝试完整的 LDAP 身份验证序列,并显示结果。成功后,Looker 会输出目录中的用户信息,以及有关身份验证流程的一些跟踪信息,这些信息有助于解决配置问题。
  2. 验证身份验证是否成功以及所有字段是否已正确映射。例如,确认 first_name 字段不包含属于 last_name 的值。

群组和角色

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

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

如果您启用镜像 LDAP 群组,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 返回的结果便会限定为特定对象类型或一组类型。

Group Member Attr:用于确定每个群组的成员对象(在本例中可能是人员)的属性。

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

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

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

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

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

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

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

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

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

高级角色管理

如果您已启用镜像 LDAP 群组开关,Looker 会显示这些设置。本部分中的选项决定了 Lookeradmin 在配置从 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 用户在下次登录时都会失去这些角色。

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

Auth Requires Role:如果此选项处于开启状态,则必须为 LDAP 用户分配角色。未分配角色的任何 LDAP 用户都将无法登录 Looker。

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

停用镜像 LDAP 群组

如果您想停止在 Looker 中镜像 LDAP 群组,请关闭镜像 LDAP 群组开关。所有空的镜像 LDAP 组都将被删除。

非空镜像 LDAP 群组仍可用于内容管理和角色创建。不过,您无法将用户添加到镜像 LDAP 群组或从中移除用户。

迁移和集成选项

为管理员和指定用户提供备用登录方式

  • 允许管理员和拥有 login_special_email 权限的用户使用基于电子邮件的备用登录方式(如需详细了解如何设置此权限,请参阅“角色”文档)。如果您已启用此选项且用户拥有适当的权限,此选项将显示在 Looker 登录页面上。
  • 如果在 LDAP 设置期间出现 LDAP 配置问题,或者您需要支持不在 LDAP 目录中的某些用户,此选项非常有用。
  • 启用 LDAP 后,普通用户将无法使用 Looker 电子邮件和密码登录。

按电子邮件地址合并

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

保存并应用设置

输入完信息且所有测试均通过后,选中我已确认上述配置,并希望启用其在全球范围内的应用,然后点击更新设置进行保存。