管理员设置 - 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 会强制执行对等证书验证。如果您需要停用对等证书验证,请选中 No Verify
  4. 点击测试连接。如果系统显示任何错误,请先更正这些错误,然后再继续。

连接身份验证

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

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

用户绑定设置

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

  1. 设置基本 DN,这是所有用户搜索树的基础 DN
  2. [可选] 指定 User Object Class(用户对象类),用于控制 Looker 将查找并返回的结果类型。如果基本 DN 由多种对象类型(人员、群组、打印机等)构成,而您只想返回其中一种类型的条目,这种做法会非常有用。
  3. 设置登录凭据,该属性用于定义用户用于登录的属性。这些 ID 对每个用户来说必须是唯一的,并且是您的用户所熟悉的(作为其在您的系统中的 ID)。例如,您可以选择用户 ID 或完整的电子邮件地址。如果您添加了多个属性,Looker 会搜索这两个属性,以查找相应的用户。请务必在此处选择合适的字段;当您拥有两个 Jennifer Smith 等名称后,将无法使用名字和姓氏等内容。
  4. 指定电子邮件属性名字属性姓氏属性。此信息会告知 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 User Attribute(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) 工具的群组成员资格。

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

默认群组和角色

默认情况下,镜像 LDAP 群组开关处于关闭状态。在这种情况下,您可以为新的 LDAP 用户设置默认群组。在 New User Groups(新用户群组)和 New User Roles(新用户角色)字段中,输入您希望在新的 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 相同。

Groups Object Class(es)(群组对象类):此设置是可选的。如用户绑定设置部分中所述,这可让 Looker 返回的结果限制为特定对象类型或一组类型。

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

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

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

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

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

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

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

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

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

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

高级角色管理

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

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

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

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

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

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

阻止单个 LDAP 用户接收直接角色:启用此选项可阻止 Looker 管理员直接将 Looker 角色分配给 LDAP 用户。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 登录页面中。
  • 如果日后出现 LDAP 配置问题,或者您需要支持一些不在您 LDAP 目录中的用户,此选项非常实用。
  • 启用 LDAP 后,系统始终会为普通用户停用 Looker 电子邮件地址/密码登录功能。

通过电子邮件合并

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

保存并应用设置

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