2016-12-12 4 views
0

Ich benutze Cloudera 5.4.2 mit Sentry und gewähre erfolgreich den Zugriff auf Rollen in Datenbanken. Meine Herausforderung besteht jetzt darin, eine Gruppe zu haben, die nur eine Tabelle aus einer Datenbank mit vielen anderen Tabellen lesen kann. Ich konnte SELECT für eine bestimmte Tabelle nicht erteilen, wenn die Rolle keine Berechtigungen für die Datenbank besitzt. Wenn ich mir die Cloudera-Dokumentation anschaue, sehe ich kein Beispiel dafür, und die Formulierung um das Gewähren von Tabellenzugriff macht es klar.Sentry-Zuschuss für nur eine Tabelle in Datenbank auswählen

Hier ist ein Beispiel, was ich ausführen möchte, um die Rolle test Zugriff auf die Tabelle private_table ohne Zugriff auf andere Tabellen in der Datenbank testdb.

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

Antwort

0

ich auch das gleiche Problem konfrontiert wie in ihm die Privilegien für die Tabelle in Standardschema statt „testdb“ Schema gewährt, lief jedes Mal wenn ich den folgenden Befehl ein:

GRANT SELECT ON TABLE testdb.test_table TO ROLE test; 

ich gefunden Weg dies, indem sie diese umgehen:

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

da jedoch alle Hive/Impala Abfragen DB.TBL Schema nehmen, GRANT sollte es auch akzeptieren.

Verwandte Themen