【发布时间】:2018-08-09 20:34:57
【问题描述】:
我将hive.security 属性设置为sql-standard,但结果是,对于任何用户和任何表(无论从 Hive 授予的权限如何),每当我尝试运行选择查询时,我都会得到:
Query 123456789 failed: Access Denied: Cannot select from table.....
在 Beeline 中运行的相同查询会返回正确的结果(即,根据授权)。
关于我的配置的更多细节:
-
hive.metastore.authentication.type是NONE,没有 kerberos。目前我只希望授权遵循授予提交查询的用户的权限。 -
hive.hdfs.impersonation.enabled在这种情况下不应该有所作为,因为 Presto 目前不支持在访问 Hive 元存储时模拟最终用户。事实上,这并没有什么不同。 - Presto 版本是 0.195,最新。
- hive 连接器有一个默认配置,除了我上面列出的两个属性。
- 我尝试将对表的选择授予特定用户。该授权允许该用户在 hive 中查询,而不是在 presto 中查询。
- 我尝试使用 Presto cli 和通过 jdbc 使用 gui 客户端(即 DataGrip)连接到 presto。
非常感谢任何建议。
【问题讨论】:
-
您使用的是哪个 presto 版本?您的蜂巢连接器配置是什么? Metastore 中的赠款是什么?您如何连接到 Presto?
-
嗨@PiotrFindeisen,感谢您的回答。这里有更多细节。 Presto 版本是 0.195,最新。除了我上面列出的两个属性之外,hive 连接器具有默认配置。我尝试将表上的选择授予特定用户。该授权允许该用户在 hive 中查询,而不是在 presto 中查询。我尝试使用 Presto cli 和通过 jdbc 使用 gui 客户端(即 DataGrip)连接到 presto。
-
嘿@AndreaT.Bonanno,您在集群上启用了哪些其他
hive-site和hiveserver2-site设置?还有什么价值观? -
我设置了 hive.security=sql-standard。当我从表中选择时,我得到“拒绝访问:无法从表中选择”。如果我尝试授权语句,我会得到“拒绝访问:无法在表上授予权限 SELECT”。我缺少什么来启用赠款?
-
你解决过这个问题吗?即将走这条路,很想避免痛苦。它有效吗?另外,您的用户如何登录到 presto 本身?