管理员设置 - LDAP 身份验证

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

需要注意以下方面:

  • 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(采用清除方式)和 LDAP(通过 TLS)进行传输和加密。强烈建议使用 TLS 上的 LDAP。不支持 StartTLS 和其他加密方案。

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

连接身份验证

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

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

用户绑定设置

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

  1. 设置基本 DN,这是所有用户搜索树的根
  2. [可选] 指定用户对象类,用于控制 Looker 将查找和返回的结果类型。如果基本 DN 是包含多种对象类型(人员、群组、打印机等)的,并且您只想返回一种类型的条目,那么此方法非常有用。
  3. 设置登录属性,用于定义用户登录时使用的属性。这些 ID 对每个用户来说必须是唯一的,并且是用户熟悉的 ID 在您的系统中。例如,您可以选择用户 ID 或完整的电子邮件地址。如果您添加了多个属性,Looker 会搜索这两个属性,以找到相应的用户。避免使用可能导致账号重复的格式,例如名字和姓氏。
  4. 指定 Email AttrFirst Name AttrLast Name Attr。这些信息会告知 Looker 如何映射这些字段以及在登录期间提取其信息。
  5. 设置 ID 属性,表示 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 群组是工程团队的成员,则用户将只能获得与 Database-Admin 群组关联的权限。

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

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

群组对象类:此设置为可选设置。如用户绑定设置部分所述,这样一来,Looker 返回的结果便会限制为特定对象类型或一组类型。

群组成员属性:对于每个群组,此属性决定了成员的对象(在本例中,可能是人员)。

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

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

  1. Group DN(群组 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 用户都将在下次登录时失去这些角色。

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

身份验证需要角色:如果启用此选项,则必须为 LDAP 用户分配角色。任何未分配角色的 LDAP 用户根本无法登录 Looker。

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

停用镜像 LDAP 群组

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

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

迁移和集成选项

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

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

通过电子邮件合并

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

保存并应用设置

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