管理员设置 - 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. 输入您的 Host(主机)和 Port(端口)信息。
  2. 如果您使用的是基于 TLS 的 LDAP,请选中 TLS 旁边的复选框。
  3. 如果您使用的是基于 TLS 的 LDAP,Looker 会默认强制执行对等证书验证。如果您需要停用对等证书验证,请选中 No Verify(不验证)。
  4. 点击测试连接。如果系统显示任何错误,请先更正,然后再继续。

连接身份验证

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

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

用户绑定设置

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

  1. 设置基本 DN,即所有用户搜索树的基础
  2. [可选] 指定 User 对象类,用于控制 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 群组和用户。这样一来,您就可以在一个位置集中管理 Looker 等多种软件即服务 (SaaS) 工具的群组成员资格。

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

默认群组和角色

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

这些群组和角色会在新用户初次登录时应用于他们。这些群组和角色不会应用于现有用户,如果在用户首次登录后将它们从用户中移除,也不会重新应用这些群组和角色。

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

启用镜像 LDAP 群组

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

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

  • 群组具有成员属性:这是较为常用的选项。查找群组成员时,Looker 只会返回直接分配了用户的群组。例如,如果用户是 Database-Admin 群组的成员,而 Database-Admin 群组是工程团队的成员,则用户将只能获得与 Database-Admin 群组关联的权限。

  • 群组具有成员属性(深度搜索):此选项可让群组成为其他群组(有时称为 LDAP 嵌套群组)的成员。也就是说,一个用户可以拥有多个群组的权限。例如,如果用户是“数据库管理员”群组的成员,而“数据库管理员”群组是“工程”群组的成员,那么用户将获得同时属于这两个群组的权限。某些 LDAP 服务器(尤其是 Microsoft Active Directory)支持自动执行这种类型的深度搜索,即使调用方正在执行看似浅层搜索也是如此。这可能是可用于执行深度搜索的另一种方法。

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

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

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

群组用户属性:我们将在群组条目中搜索其值以确定用户是否属于群组的 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 中建立镜像,其成员在 Lookerr 中也不会再通过该群组分配给他们。

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

高级角色管理

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

举例来说,如果您希望 Looker 群组和用户配置与 LDAP 配置完全匹配,请启用这些选项。启用前三个选项后,Looker 管理员将无法修改镜像群组的成员资格,而只能通过 LDAP 镜像群组为用户分配角色。

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

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

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

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

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

如果此选项处于关闭状态,Looker 管理员可以直接将 Looker 角色分配给 LDAP 用户,就像这些用户是直接在 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 群组仍然可以用于内容管理和角色创建。但是,您无法在镜像 LDAP 群组中添加或移除用户。

迁移和集成选项

管理员和指定用户的备用登录信息

  • 允许管理员和拥有 login_special_email 权限的用户使用备用电子邮件地址登录(请参阅角色文档,详细了解如何设置此权限)。如果您已开启 Looker 登录,并且用户拥有相应权限,则此选项会显示在 Looker 登录页面上。
  • 如果稍后出现 LDAP 配置问题,或者您需要支持不在您 LDAP 目录中的某些用户,此选项将非常有用。
  • 启用 LDAP 后,常规用户的 Looker 电子邮件地址和密码登录将始终停用。

通过电子邮件合并

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

保存并应用设置

输入完信息并且测试全部通过后,请选中我已确认上述配置,并希望启用全局应用配置并点击更新设置进行保存。