Thanks a lot for the response, Yongqiang!  Just a thought, inline.

On Tue, Mar 22, 2011 at 7:28 PM, yongqiang he <heyongqiang...@gmail.com>wrote:

> >>INDEX - my best guess is that this allows me to create/drop indexes on a
> table?
> Yes. It is there for this purpose.
>
> >> Is it the case that if I have select access on a table, I can use
> any index that exists on a table?
> No. index is also a table now, so you need to have access to both of them.
>
> >>LOCK - Presumably this allows users to lock or unlock a table, so maybe a
> better question is: are these locks like mutexes, where only I can access
> the table, or is this literally locking down the table, so it can't be
> modified in any way?
>
> Yes. If only you have lock privilege on this table, and concurrency is
> enabled, no one will be able to run anything against the table.
>
> >>SHOW_DATABASE - I'm not sure what the scope of this one is: if I don't
> have
> show_database access, can I not use the show database command?
>
> if you don't have show_database access, you should not be able to use
> the show database command. I do not think today this privilege is
> supported.
>
> >> create access on a table doesn't seem to have a lot of semantic value
> i think create on a table means create partition
>
This seems really unintuitive to me, given that partitions are created
through an ALTER TABLE statement.  Wouldn't they fall under the umbrella of
operations that require ALTER permission?

>
> >>Similarly, I'm having a hard time rationalizing why I can grant
> SHOW_DATABASE on a table.
> This should be a bug. Basically each privilege has its set of scope,
> (can apply to db level or table level or column or user level,
> non-exclusive)
>
> Thanks
> Yongqiang
> On Tue, Mar 22, 2011 at 6:30 PM, Jonathan Natkins <na...@cloudera.com>
> wrote:
> > Hi all,
> >
> > I'm trying to understand the meaning of some of the privileges in the
> > system, and I'm a bit stumped on what some of them actually do.
> >
> > Privileges that confuse me:
> > INDEX - my best guess is that this allows me to create/drop indexes on a
> > table?  Is it the case that if I have select access on a table, I can use
> > any index that exists on a table?
> > LOCK - Presumably this allows users to lock or unlock a table, so maybe a
> > better question is: are these locks like mutexes, where only I can access
> > the table, or is this literally locking down the table, so it can't be
> > modified in any way?
> > SHOW_DATABASE - I'm not sure what the scope of this one is: if I don't
> have
> > show_database access, can I not use the show database command? Or does
> this
> > extend to not being able to see the tables within a database?
> >
> > It seems like you can grant some privileges on objects that don't have a
> lot
> > of meaning, i.e. create access on a table doesn't seem to have a lot of
> > semantic value, unless Hive requires that permission to create indexes on
> a
> > table, or something along those lines.  Similarly, I'm having a hard time
> > rationalizing why I can grant SHOW_DATABASE on a table.
> >
> > Thanks a lot,
> > Jon
> >
>

Reply via email to