>
> My personal solution to this is to add a request context, which was
>> prototyped in https://github.com/apache/iceberg/pull/10359. With this,
>> an engine can describe the privileges needed when requesting table
>> metadata. The prerequisite is that the catalog trusts the information
>> passed
Oh - I'm not against having the fine(r) grained privileges per se. Just
saying that it's at best quite complicated to enforce those "properly".
The "trust" model probably deserves a separate (but related) discussion.
There are potentially different "kinds" of how one can implement trust.
Some
> For INSERT/UPDATE/DELETE/TRUNCATE - well, that is really tricky for the
reasons how writes happen in Iceberg.
Yes. It seems like we are arriving at the conclusion that it is easy to
have a simple verb for all data write operations, we can call it UPDATE or
MODIFY or WRITE_DATA. The ability to do
Just some thoughts about "SELECT vs DESCRIBE": If a catalog can
distinguish these privileges, it can opt to return the manifest list
pointer only, if the caller has the SELECT privilege.
For INSERT/UPDATE/DELETE/TRUNCATE - well, that is really tricky for the
reasons how writes happen in Iceber
Thanks Dennis for the detailed analysis and suggestions! Here are a few
questions and comments I have:
> Consider expanding the set of privilege definitions to be type-specific
I like this! It seems like it solves the problem about inheritance and
future grants as you said. I will think a bit mor
+1, Thanks Jack and team for getting the discussion started with this
proposal!
Much of this is well aligned with what we noticed when implementing RBAC
for Polaris Catalog, namely that even if a more complicated User/Role
structure exists outside of the catalog, that it's necessary to be able to
Thanks Jack and team for working on this proposal. I went over it and it is
very well written. I particularly like:
(1) The fact that it is adopting the SQL standard and adjusting some of its
semantics to fit the Iceberg model.
(2) It includes views from v1. Views are a very important tool for po