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

Craig Condit commented on HIVE-7089:
------------------------------------

This seems to be caused by 
StorageBassedAuthorizationProvider.authorize(Privilege[], Privilege[]), which 
is only called in a create database context. Unfortunately, the table is not 
passed in. Because of this WRITE permissions are checked on the Hive warehouse 
root, not the database root.

{noformat}
   Path root = null;
    try {
      initWh();
      root = wh.getWhRoot();
      authorize(root, readRequiredPriv, writeRequiredPriv);
    } catch (MetaException ex) {
      throw hiveException(ex);
    }
{noformat}

> StorageBasedAuthorizationProvider fails to allow non-admin users to create 
> databases in writable directories
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-7089
>                 URL: https://issues.apache.org/jira/browse/HIVE-7089
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 0.13.0
>            Reporter: Craig Condit
>
> When attempting to create a database with a custom location and using
> hive.security.authorizationmanager=org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider,
>  an AccessControlException is generated for the default warehouse location, 
> not the location which was given in the create database command.
> {noformat}
> hive> create database test LOCATION '/user/ccondit/test';                     
>                     
> Authorization failed:java.security.AccessControlException: action WRITE not 
> permitted on path hdfs://example.com:8020/apps/hive/warehouse for user 
> ccondit. Use SHOW GRANT to get more details.
> 14/05/19 09:50:59 ERROR ql.Driver: Authorization 
> failed:java.security.AccessControlException: action WRITE not permitted on 
> path hdfs://example.com:8020/apps/hive/warehouse for user ccondit. Use SHOW 
> GRANT to get more details.
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to