hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ashish Thusoo <>
Subject RE: [howldev] RE: Howl Authorization proposal
Date Thu, 14 Oct 2010 00:01:14 GMT
I think if the access to the files/directories (and their manipulations etc..) are through
a single point (Hive) then this does not become an issue. However, if you have a usecase where
direct manipulation of the files happens through hdfs then you do have to have 2 levels of
authorization and you have to pay the administrative cost of potentially having these be out
of sync. At the most basic level you could check for appropriate hdfs permissions while creating
the more traditional permissions. However, that would not protect you to changes happening
to the dfs permissions after you have created the Hive permissions. I agree, a sync utility,
though possible, is perhaps too much of an overkill.


-----Original Message-----
From: Pradeep Kamath [] 
Sent: Wednesday, October 13, 2010 4:50 PM
To: John Sichi; <>
Cc:; <>
Subject: RE: [howldev] RE: Howl Authorization proposal

One related concern with not using hdfs permissions is that there can be conflicts between
what the hive authorization realm would permit versus what hdfs would permit.

For instance a user X (in the hive authorization realm) has create table privilege for database
db1 but the hdfs directory /user/hive/warehouse/db1 is actually not writable by user X - wouldn't
this lead to a dfs permissions denied error though user X has the create privilege per hive?
We can extend the same issue to other operations like drop table etc. 

Keep the two worlds in sync so that what is allowed/disallowed in one is the same in the other
might be difficult - thoughts?

-----Original Message-----
From: John Sichi []
Sent: Wednesday, October 13, 2010 4:36 PM
To: <>
Cc:; Pradeep Kamath; <>
Subject: Re: [howldev] RE: Howl Authorization proposal

On Oct 13, 2010, at 9:22 AM, Alan Gates wrote:

> Our biggest concern is that HDFS already has a permissions model, why create a whole
new one?  It is a lot of duplication.  And that duplication will flow through to things like
logging and auditing, all of which Hive/Howl will now need in addition to HDFS.  To justify
this we needed to understand what additional benefits a traditional ACL model would get us.
 We were not able to come up with compelling use cases where we had to have this traditional

Here are some you probably already considered, but I'm listing them for consideration anyway...

* table A can only be queried by roles X and Y; table B can only be queried by roles Y and
Z; managing different groups for all the possible role combinations isn't very practical given
large numbers of tables and roles
* finer-grained access control (e.g. column-level) may not be expressible in terms of HDFS
permissions without doing things like creating dummy files (although in SQL, views can be
used to avoid column-level permissions)

* privileges beyond read/write (e.g. delete vs update vs append)

* (Hive-specific):  GRANT/REVOKE is the standard SQL approach and requires ACL's (it can't
be implemented in terms of HDFS permissions)

> All that said, I see no problem with having two models for now, and seeing which turns
out to better provide what users need and/or be easier to maintain.

OK, let us know if the hooks turn out to be insufficient as the implementation mechanism.


View raw message