Sai Hemanth Gantasala created HIVE-26422:
--------------------------------------------

             Summary: Create table via spark-shell vs HS2 has discrepancy in 
authorization config policy  
                 Key: HIVE-26422
                 URL: https://issues.apache.org/jira/browse/HIVE-26422
             Project: Hive
          Issue Type: Bug
          Components: HiveServer2, Standalone Metastore
    Affects Versions: 4.0.0
            Reporter: Sai Hemanth Gantasala
            Assignee: Sai Hemanth Gantasala


Create table via spark-shell creates 4 privileges "INSERT,SELECT,UPDATE,DELETE" 
via table owner grants config whereas when we create an external table through 
hiveserver2 (using client like beeline) it doesn't create any owner privileges 
which is the desired condition.

Note: In Hive's hive-site.xml, the following is set:
hive.security.authorization.createtable.user.grants=''
hive.security.authorization.createtable.group.grants=''
hive.security.authorization.createtable.role.grants=''
hive.security.authorization.createtable.owner.grants='' 
Also the setup is kerberized and uses ranger as an authorization service.

So, when we create a table via spark-shell we shouldn't set 
hive.security.authorization.createtable.owner.grants in the code 
[https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/sqlstd/SQLStdHiveAccessController.java#L625]
 instead it should be picked using hive-site.xml. (which is already done in 
CreateTableAutomaticGrants class).

The side effect of having table owner privileges set in the code, is that the 
TBL_PRIVS table in RDBMS is growing with every create table command.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to