Hive 目标连接器安全准则 - Teradata QueryGrid

Teradata® QueryGrid™ 安装和用户指南

Product
Teradata QueryGrid
Release Number
2.19
Published
2022 年 7 月
Language
中文 (简体)
Last Update
2022-08-23
dita:mapPath
zh-CN/jpf1654813554544.ditamap
dita:ditavalPath
ft:empty
dita:id
lxg1591800469257
Product Category
Analytical Ecosystem

常规

设置链接配对中 Hive 目标连接器的参数时,请确保配置文件路径属性中包含正确的路径名。QueryGrid 在处理数据传输时非常依赖此设置。请参阅 Hive 连接器和链接属性

Kerberos

QueryGrid 可以对 Hive 目标连接器使用 Kerberos 身份验证。Kerberos 身份验证有两种形式:

Username/Password
在将查询发送到数据源之前,Hive 目标连接器使用用户名和密码向 Kerberos 进行身份验证。
Username/Keytab
将 Hive 配置为启用 Kerberos Keytab 身份验证。
如果在 NVP 链接配对中使用 Hive 目标连接器访问 Kerberized Hadoop 集群,请执行以下操作:
  • 身份验证机制属性选择 Kerberos
  • 如果仅 HiveServer2(例如 LDAP/CUSTOM/PAM)受保护,请设置为HS2Only。这并非常见设置。
  • 验证 Teradata QueryGrid (tdqg) 用户是否有权运行 kinit。请参阅验证运行 kinit 的权限 (Hive)
    在 CDH 上使用 Kerberos 时,必须将 Hive Kerberos 主体 NVP 设置为适用于 HiveServer2 的正确 Kerberos 主体,而不是适用于连接到 HiveServer2 的用户的 Kerberos 主体。此设置必须采用 primaryname/instancename@realmname 格式。

受信任的 Kerberos

Hive 连接器支持authentication mechanismTrusted Kerberos,以允许使用单个 Kerberos 服务帐户模拟 QueryGrid 最终用户。如果 Kerberos 服务帐户具有模拟请求用户所需的 Hadoop 级别权限,则将在会话中以所请求用户的身份运行 QueryGrid 查询。

仅 Kerberized Hadoop 集群和 QueryGrid 2.13 及更高版本支持此功能。Kerberos 设置与 Kerberos 身份验证设置相同,但包含其他设置。

模拟用户通过 JDBC 属性 hive.server2.proxy.user 传递到目标。模拟用户必须是Allowed OS users,才能在目标系统上运行查询。有两种方法可以定义模拟用户:
选项 说明
发起系统上的用户(缺省) Teradata 系统用户作为用户名全为小写的模拟用户传递到目标系统。
用户映射 用户映射可以在目标系统上为发起系统上的任何用户定义用户名区分大小写的模拟用户。典型的用例是模拟用户名并非全部小写。

在 HiveServer2 上配置用户模拟时,服务用户必须能够模拟请求的用户。因此,需要配置 Kerberos 服务帐户的 core-site.xml 文件中的属性 hadoop.proxyuser.kerberos_service_user.groupshadoop.proxyuser.kerberos_service_user.hostsQueryGrid 查询由 JDBC 从驱动程序节点触发;因此,在 hadoop.proxyuser.kerberos_service_user.hosts 属性中输入驱动程序节点的 IP 地址。

避免使用通配符 (*) 作为 hadoop.proxyuser.<krb service>.hostshadoop.proxyuser.<krb service>.groups 属性的值。针对可由不同主机模拟的用户组应用预期限制。

Kerberos SSO

Teradata QueryGrid 支持在 Teradata 到 Hive 链接中使用身份验证机制 Kerberos SSO 的 Kerberos 单点登录 (SSO) 功能。在配置 QueryGrid 之前,您必须完成发起程序和目标系统上的 Kerberos 设置。在建立连接时,Kerberos 令牌从发起程序传递到目标数据库。如果已在连接器属性或授权对象中提供任何与 Kerberos 相关的属性(如用户名、密码/keytab 和领域),则会将其忽略。

发起 Teradata 系统的服务用户登录名用于在 Hive 上运行 QueryGrid 查询,因此必须将其添加到“允许的操作系统用户”列表中。

有关更多信息,请参见Kerberos 单点登录

Knox(仅限 HDP、CDP 和 Dataproc)

如果启用此选项,则 Knox 将成为 Hive 连接器属性中配置的一个安全选项,此选项充当 Hive 和 HiveServer2 之间的网关服务。Hive 连接器会连接到 Knox 服务,而不是直接连接到 HiveServer2。然后,来自 Hive 连接器的请求将发送到 Knox 服务,之后 Knox 会将该请求重定向到 HiveServer2。有关如何正确配置 Knox 的信息,请参阅 Knox、Hortonworks Data Platform (HDP)、CDP 或 Dataproc 文档。

当启用 SSL,且 Knox 使用 SPNEGO 授权连接到 HiveServer2 时,Knox 存在限制。在这种情况下,Knox 不可用于 Hive。

如果 Hortonworks Hadoop 数据库受到 Knox 的保护且您希望 QueryGrid Hive 连接器通过 Knox 进行连接,请确保以下 NVP 链接属性包含正确的值:

设置 说明
Knox 连接密码 Knox 连接的密码。仅在使用 Knox 时需要。
Knox 连接用户名 Knox 连接的用户名。仅在使用 Knox 时需要。
Knox 上下文路径 HS2 的 Knox 上下文路径,例如 gateway/mycluster/hive仅在使用 Knox 时需要。
Knox 网关主机 Knox 网关主机。使用此属性表示正在使用 Knox。
Knox 网关端口 Knox 网关端口号。有效端口号值为 1024–65535。
Knox 可信存储路径 Knox 信任库路径。仅在使用 Knox 时需要。
Knox 可信存储密码 Knox 信任库密码。仅在使用 Knox 时需要。

有关详细信息,请参阅Hive 连接器和链接属性

Ranger

Teradata QueryGrid 与供应商支持 Ranger 的 Hadoop 发行版上的 Ranger 兼容。