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

Na Li resolved SENTRY-2151.
---------------------------
    Resolution: Fixed

> Automatically derive owner privileges from Hive Object Ownership
> ----------------------------------------------------------------
>
>                 Key: SENTRY-2151
>                 URL: https://issues.apache.org/jira/browse/SENTRY-2151
>             Project: Sentry
>          Issue Type: New Feature
>          Components: Sentry
>    Affects Versions: 2.1.0
>            Reporter: Na Li
>            Assignee: Na Li
>            Priority: Major
>             Fix For: 2.1.0
>
>         Attachments: Sentry DB owner privileges - Design Doc.pdf
>
>
> admins want users who create tables to get implicit owner privileges during 
> the table creation. These privileges cannot be revoked.
> For instance, a user under role1 with CREATE privileges gets all privileges 
> on newly created tables
> {noformat}
> # As an admin
> hive> grant create on db1 to role1;
> # As a user
> user1> use db1;
> user1> create table t1(id int);
> -- An implicit 'grant all on db1.t1 to user user1' is generated in Sentry 
> user1> insert into table t1 values (1);
> user1> select * from t1;
> user1> drop table t1;
> {noformat}
> For backward compatibility, the default implicit privilege to be applied must 
> be determined by a configuration set by admins. This is to ensure that an 
> upgrade to this new feature does not affect the behavior of old privileges 
> set before the upgrade. For newly created tables, the privilege must be 
> obtained from the property ‘owner.privileges’ of the database property where 
> the table is created.
> For instance, a user on db1 gets "all with grant privileges" but on db2 does 
> not get any privilege
> {noformat}
> # As an admin
> hive> alter database db1 set dbproperty('owner.privileges'='all with grant');
> hive> grant create on db1 to role1;
> hive> alter database db1 set dbproperty('owner.privileges='none');
> hive> grant create on db2 to role2;
> # As a user
> user1> create table db1.t1(id int);
> -- An implicit 'all with grant' privilege is granted to the user on db1.t1
> user1> create table db2.t1(id int);
> -- No privileges are granted to the user on db2.t1
> {noformat}
> The privilege granted implicitly cannot be revoked by explicit revoke 
> commands nor if the 'owner.privileges' property changes. The only way is to 
> remove the implicit privileges is by dropping the table or changing the owner 
> of the table.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to