Reply
New Contributor
Posts: 4
Registered: ‎10-16-2017

hive: SQLStdAuth : grant all on database doesn't give grant on underneath tables

hive: SQLStdAuth : grant all on database doesn't give grant on underneath table

 

hive: SQLStdAuth : grant all on database doesn't give grant on underneath table

1. create database testdb as hive user

2. created table in employee under testdb

3. Created user a123test

4. grant ALL on database testdb to user a123test;

5. Login form beeline as user a123test

6. selct count(*) from employee

above gives me

HiveAccessControlException Permission denied: Principal [name=a123test, type=USER] does not have following privileges for operation QUERY [[SELECT] on Object [type=TABLE_OR_VIEW, name=testdb.employee]] (state=42000,code=40000)

7. If i do

grant insert,update,delete,select on table testdb.employee to user a123test;

then user a123test can select from employee table

 

My question is if I grant ALL at database level, why i have to give tabe level grant?

Is there any way I can give database level select/insert/Update instead of defining grant at each table level for user/role?

Highlighted
Posts: 388
Topics: 11
Kudos: 60
Solutions: 34
Registered: ‎09-02-2016

Re: hive: SQLStdAuth : grant all on database doesn't give grant on underneath tables

@alal

 

You can use this command to troubleshoot


# Revoke your access and check this
beeline> revoke insert,update,delete,select on table <db.tablename> from user <username>;

 

# Run this command after you grant all access on db and before you grant to table
beeline> show grant on table <db.tablename>;

beeline> show grant user <username>;
beeline> show grant user <username> on all;

Announcements