2016-12-12 25 views
0

我在Sentry中使用Cloudera 5.4.2,併成功授予對數據庫角色的訪問權限。我現在面臨的挑戰是擁有一個只能從包含許多其他表的數據庫中只讀取一個表的組。我沒有能夠在角色沒有任何數據庫權限的特定表上授予select。在查看Cloudera文檔時,我沒有看到這方面的例子,並且授予訪問權限的措辭聽起來很直接。哨兵授予僅在數據庫中的一個表上選擇

這裏是我想運行的示例,以便無需訪問數據庫中的任何其他表即可訪問表private_table

CREATE ROLE test; 
GRANT ROLE test to group `test-group`; 
GRANT SELECT ON TABLE testdb.private_table TO ROLE test; 

回答

0

我也面臨着同樣的問題,因爲它授予在默認模式,而不是「TESTDB」模式該表中的特權,我每次運行以下命令:

GRANT SELECT ON TABLE testdb.test_table TO ROLE test; 

我找到了方式,通過這樣做來解決此:

USE testdb; 
GRANT SELECT ON TABLE test_table TO ROLE test; 

然而,由於所有蜂巢/帕拉查詢採取DB.TBL模式,GRANT也應該接受它。