[ 
https://issues.apache.org/jira/browse/HIVE-12408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15311467#comment-15311467
 ] 

Tom Zeng commented on HIVE-12408:
---------------------------------

When the database/schema location is on s3, create schema/database will fail 
since the owner is '' and isOwnerOfFileHierarchy will always be false.  
Changing CREATETABLE [[INSERT, DELETE, UPDATE, OBJECT OWNERSHIP] to CREATETABLE 
[[INSERT, DELETE, UPDATE] works and I tested on Amazon EMR with Hive 1.2 and 
2.x. If this is an okay solution I can create a patch for it.

> SQLStdAuthorizer expects external table creator to be owner of directory, 
> does not respect rwx group permission. Only one user could ever create an 
> external table definition to dir!
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-12408
>                 URL: https://issues.apache.org/jira/browse/HIVE-12408
>             Project: Hive
>          Issue Type: Bug
>          Components: Authorization, Security, SQLStandardAuthorization
>    Affects Versions: 0.14.0
>         Environment: HDP 2.2 + Kerberos
>            Reporter: Hari Sekhon
>            Assignee: Thejas M Nair
>            Priority: Critical
>
> When trying to create an external table via beeline in Hive using the 
> SQLStdAuthorizer it expects the table creator to be the owner of the 
> directory path and ignores the group rwx permission that is granted to the 
> user.
> {code}Error: Error while compiling statement: FAILED: 
> HiveAccessControlException Permission denied: Principal [name=hari, 
> type=USER] does not have following privileges for operation CREATETABLE 
> [[INSERT, DELETE, OBJECT OWNERSHIP] on Object [type=DFS_URI, 
> name=/etl/path/to/hdfs/dir]] (state=42000,code=40000){code}
> All it should be checking is read access to that directory.
> The directory owner requirement breaks the ability of more than one user to 
> create external table definitions to a given location. For example this is a 
> flume landing directory with json data, and the /etl tree is owned by the 
> flume user. Even chowning the tree to another user would still break access 
> to other users who are able to read the directory in hdfs but would still 
> unable to create external tables on top of it.
> This looks like a remnant of the owner only access model in SQLStdAuth and is 
> a separate issue to HIVE-11864 / HIVE-12324.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to