[ 
https://issues.apache.org/jira/browse/IMPALA-14518?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fang-Yu Rao updated IMPALA-14518:
---------------------------------
    Description: 
Currently when Ranger is the authorization provider, Impala does not create a 
privilege request for the command. As a result, Impala does not convert such a 
privilege request to {{RangerAccessRequestImpl}} and consult the Ranger plug-in 
about whether the requesting user is allowed to execute this command.

It would be good if we also produce such a privilege request so that we could 
produce an audit event for SHOW DATABASES. In {{checkPrivileges()}} of 
[RangerHiveAuthorizer.java|https://github.com/apache/ranger/blob/master/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java],
 Hive's Ranger plug-in does the following to create a privilege request. It 
should be possible for Impala to do something similar.
{code:java}
// this should happen only for SHOWDATABASES
if (hiveOpType == HiveOperationType.SHOWDATABASES) {
  RangerHiveResource resource = new RangerHiveResource(HiveObjectType.DATABASE, 
null);
  RangerHiveAccessRequest request = new RangerHiveAccessRequest(resource, user, 
groups, roles, hiveOpType.name(), HiveAccessType.USE, context, sessionContext);
}
{code}

  was:
Currently when Ranger is the authorization provider, Impala does not create a 
privilege request for the command. As a result, Impala does not convert such a 
privilege request to {{RangerAccessRequestImpl}} and consult the Ranger plug-in 
about whether the requesting user is allowed to execute this command.

It would be good if we also produce such a privilege request so that we could 
produce an audit event for SHOW DATABASES. In {{checkPrivileges()}} of 
[RangerHiveAuthorizer.java|https://github.com/apache/ranger/blob/master/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java],
 Hive's Ranger plug-in does the following to create a privilege request. It 
should be possible for Impala to do the same.
{code:java}
// this should happen only for SHOWDATABASES
if (hiveOpType == HiveOperationType.SHOWDATABASES) {
  RangerHiveResource resource = new RangerHiveResource(HiveObjectType.DATABASE, 
null);
  RangerHiveAccessRequest request  = new RangerHiveAccessRequest(resource, 
user, groups, roles, hiveOpType.name(), HiveAccessType.USE, context, 
sessionContext);
}{code}


> Consider producing Ranger audit event for SHOW DATABASES
> --------------------------------------------------------
>
>                 Key: IMPALA-14518
>                 URL: https://issues.apache.org/jira/browse/IMPALA-14518
>             Project: IMPALA
>          Issue Type: Improvement
>            Reporter: Fang-Yu Rao
>            Assignee: Fang-Yu Rao
>            Priority: Major
>
> Currently when Ranger is the authorization provider, Impala does not create a 
> privilege request for the command. As a result, Impala does not convert such 
> a privilege request to {{RangerAccessRequestImpl}} and consult the Ranger 
> plug-in about whether the requesting user is allowed to execute this command.
> It would be good if we also produce such a privilege request so that we could 
> produce an audit event for SHOW DATABASES. In {{checkPrivileges()}} of 
> [RangerHiveAuthorizer.java|https://github.com/apache/ranger/blob/master/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java],
>  Hive's Ranger plug-in does the following to create a privilege request. It 
> should be possible for Impala to do something similar.
> {code:java}
> // this should happen only for SHOWDATABASES
> if (hiveOpType == HiveOperationType.SHOWDATABASES) {
>   RangerHiveResource resource = new 
> RangerHiveResource(HiveObjectType.DATABASE, null);
>   RangerHiveAccessRequest request = new RangerHiveAccessRequest(resource, 
> user, groups, roles, hiveOpType.name(), HiveAccessType.USE, context, 
> sessionContext);
> }
> {code}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to