为 LDAP 用户配置 Hue - Amazon EMR
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 LDAP 用户配置 Hue

与 LDAP 集成允许用户使用存储在 LDAP 目录中的现有凭证登录到 Hue。当您将 Hue 与 LDAP 集成时,无需在 Hue 中独立管理用户信息。以下信息演示了 Hue 与 Microsoft Active Directory 的集成,但配置选项类似于任何 LDAP 目录。

LDAP 身份验证首先绑定到服务器并建立连接。然后,建立的连接将用于任何后续查询以搜索 LDAP 用户信息。除非您的 Active Directory 服务器允许匿名连接,否则需要使用绑定可分辨名称和密码建立连接。绑定可分辨名称(或 DN)由 bind_dn 配置设置定义。绑定密码由 bind_password 配置设置定义。Hue 有两种绑定 LDAP 请求的方法:搜索绑定和直接绑定。将 Hue 与 Amazon EMR 一起使用的首选方法是搜索绑定。

当搜索绑定用于 Active Directory 时,Hue 使用 user_name_attr config 定义的用户名属性来查找需要从基本可分辨名称 (或 DN) 检索的属性。当 Hue 用户不知道完整 DN 时,搜索绑定很有用。

例如,您可能已将 user_name_attr config 设置为使用公用名 (或 CN)。在这种情况下,Active Directory 服务器使用登录时提供的 Hue 用户名在目录树中搜索匹配的公用名称,以基本可分辨名称开头。如果找到 Hue 用户的公用名,则服务器的服务器将返回用户的可分辨名称。然后,Hue 构造一个可分辨名称,用于通过执行绑定操作来验证用户的身份。

注意

搜索绑定在所有以基本可分辨名称开头的目录子树中搜索用户名。Hue LDAP 配置中指定的基本可分辨名称应是用户名最近的父项,否则 LDAP 身份验证性能可能会受到影响。

当直接绑定用于 Active Directory 时,必须使用精确的 nt_domainldap_username_pattern 进行身份验证。使用直接绑定时,如果定义了 nt 域(由 nt_domain 配置设置定义)属性,则使用以下形式创建用户可分辨名称模板: <login username>@nt_domain。 此模板用于搜索以基本可分辨名称开头的所有目录子树。如果未配置 nt 域,则 Hue 将为用户搜索精确的可分辨名称模式 (由 ldap_username_pattern 配置设置定义)。在这种情况下,服务器会在所有以基本可分辨名称开头的目录子树中搜索匹配的 ldap_username_pattern 值。

使用 AWS CLI 启动带有针对 Hue 的 LDAP 属性的集群

  • 要为 hue-ini 指定 LDAP 属性,请创建一个安装了 Hue 的集群,并引用包含 LDAP 配置属性的 json 文件。下面显示了一个示例命令,此命令引用 Amazon S3 中存储的配置文件 myConfig.json

    aws emr create-cluster --release-label emr-5.31.0 --applications Name=Hue Name=Spark Name=Hive \ --instance-type m5.xlarge --instance-count 3 --configurations https://s3.amazonaws.com/mybucket/myfolder/myConfig.json.

    下面显示的是 myConfig.json 的内容示例。

    [ { "Classification": "hue-ini", "Properties": {}, "Configurations": [ { "Classification": "desktop", "Properties": {}, "Configurations": [ { "Classification": "ldap", "Properties": {}, "Configurations": [ { "Classification": "ldap_servers", "Properties": {}, "Configurations": [ { "Classification": "yourcompany", "Properties": { "base_dn": "DC=yourcompany,DC=hue,DC=com", "ldap_url": "ldap://ldapurl", "search_bind_authentication": "true", "bind_dn": "CN=hue,CN=users,DC=yourcompany,DC=hue,DC=com", "bind_password": "password" }, "Configurations": [] } ] } ] }, { "Classification": "auth", "Properties": { "backend": "desktop.auth.backend.LdapBackend" } } ] } ] } ]
注意

使用 Amazon EMR 版本 5.21.0 以及更高版本,您可以覆盖集群配置,并为运行的集群中的每个实例组指定更多配置分类。您可以使用 Amazon EMR 控制台、AWS Command Line Interface (AWS CLI) 或 AWS 开发工具包来实现此操作。有关更多信息,请参阅为正在运行的实例中的实例组提供配置

在 Hue 中查看 LDAP 设置

  1. 验证您是否有到 Amazon EMR 集群主节点的活动 VPN 连接或 SSH 隧道。然后,在浏览器中,键入 master-public-dns:8888,用于打开 Hue Web 界面。

  2. 使用 Hue 管理员凭证登录。如果 Did you know? (您知道吗?) 窗口打开,请单击 Got it, prof! (明白,prof!) 以将其关闭。

  3. 在工具栏中,单击 Hue 图标。

  4. About Hue 页面上,单击 Configuration

  5. Configuration Sections and Variables (配置部分和变量) 部分中,单击 Desktop (桌面)

  6. 滚动到 ldap 部分以查看您的设置。