Hi

DISCLAIMER: I did a review/pass on the proposal before it reached the
dev@ mailing list.

After working with Prashant, Russell, Laurent on the "secured view"
FGAC proposal, I think this proposal is a good alternative. We can
start with "simple" boolean, up to a more complex dialect support. The
proposal doesn't go into the details, in order to collaborate with the
community about implementation thoughts.

I propose:
1. Give more time for people to review/comment on the proposal
2. Schedule a discussion meeting about the proposal

If there is no objection after the meeting, we will create the GH
issue and work with the community for the implementation.

Thoughts ?

Thanks !

Regards
JB


On Tue, Jul 22, 2025 at 1:54 AM Prashant Singh <prashant010...@gmail.com> wrote:
>
> +1, I agree here too, having iceberg expressions for row-filters and 
> transforms for projections aka column masks seems the right way to go, 
> especially how portable and dialect agnostic they are ! As said above, we can 
> always model complex mask / row filters that require JOINs etc  as catalog 
> UDF and reference them in the expression and transform.
> Plus having this representation would be really helpful in merging the 
> policies as well and perform some basic boolean simplification and constant 
> folding specially with context resolution so that final projection list aka 
> transforms along with the filters apply can be conveyed back,
>
> It will be really nice to see this move forward !
>
> Best,
> Prashant Singh
>
>
> On Mon, Jul 21, 2025 at 3:56 PM Ryan Blue <rdb...@gmail.com> wrote:
>>
>> I agree with Russell. The proposal doesn't look too controversial given 
>> previous discussions on how to support FGAC managed by the catalog. I also 
>> agree that a more detailed proposal should use Iceberg expressions and 
>> transforms for the row-level filters and column mask expressions, and 
>> catalog-managed UDFs can handle more complex representations (like Substrait 
>> mentioned in the proposal) and expressions (like EXISTS with a sub-query).
>>
>> It would be great to see this move forward. I think it's a good approach.
>>
>> On Mon, Jul 21, 2025 at 2:17 PM Russell Spitzer <russellspit...@apache.org> 
>> wrote:
>>>
>>> I think this is a really interesting approach as we've talked about in a 
>>> few community
>>> syncs as well as in some other chats. If I understand the proposal 
>>> correctly, we are
>>> essentially formalizing a way to return the FGAC "protection expressions" 
>>> from the catalog
>>> to a trusted engine for execution.
>>>
>>> The only aspects I'm a little more nervous about are allowing dialects into 
>>> the api (Sql or Substrait) .. I think the UDFs being worked on can probably 
>>> handle that sort of
>>> complexity when it is required and we can stick to Iceberg expressions and 
>>> transforms (which could refer to udfs) at least for a first version of 
>>> these end points. I believe the are already
>>> efforts and discussions around constraints using this approach as well as 
>>> corresponding
>>> work within Spark to make these exchanges more straightforward.
>>>
>>> I think if we minimize the surface area here we can probably figure out 
>>> this API relatively quickly.
>>>
>>> On 2025/06/18 14:47:19 Robert Stupp wrote:
>>> > Hi all,
>>> >
>>> > We, the authors of the proposal [1], have been thinking about support
>>> > for fine grained access control for quite some time and would like to
>>> > propose both row-level access control and column-level transformation
>>> > (“masking”) to the Iceberg REST catalog in an interoperable way.
>>> >
>>> > The three main drivers for the proposed approach are
>>> > * interoperability between catalogs and query engines
>>> > * securely applying the FGAC policies
>>> > * ability to integrate any query engines
>>> >
>>> > The proposal describes the general, high-level approach and does
>>> > intentionally not go into specific internal & technical details to focus
>>> > on the concept as a whole. If there is consensus on the concept
>>> > described in the proposal, we can start a follow-up proposal considering
>>> > all the feedback - that would include details about the REST
>>> > specification and the technical interaction and between catalogs and
>>> > query engines, as well as portable representation of the policies and
>>> > “protection instructions” (details what the latter is are in the 
>>> > proposal).
>>> >
>>> > We would love to get your feedback and are happy to answer any questions!
>>> >
>>> > Robert
>>> >
>>> > [1] Proposal document
>>> > https://docs.google.com/document/d/1A5EHXZoluvW7GtEth3GzQz6n5N-fErYLtUbf6B93Pmw
>>> >
>>> >
>>> >

Reply via email to