navina commented on code in PR #16043:
URL: https://github.com/apache/pinot/pull/16043#discussion_r2159472482


##########
pinot-broker/src/main/java/org/apache/pinot/broker/api/AccessControl.java:
##########
@@ -120,4 +122,15 @@ default TableAuthorizationResult 
authorize(RequesterIdentity requesterIdentity,
     return hasAccess(requesterIdentity, tables) ? 
TableAuthorizationResult.success()
         : new TableAuthorizationResult(tables);
   }
+
+
+  /**
+   * Returns RLS/CLS filters for a particular table. By default, there are no 
RLS/CLS filters on any table.
+   * @param requesterIdentity requested identity
+   * @param table Table used in the query. Table name can be with or without 
tableType.
+   * @return {@link TableRowColAuthResult} with the result of the access 
control check
+   */
+  default TableRowColAuthResult getRowColFilters(RequesterIdentity 
requesterIdentity, String table) {

Review Comment:
   I don’t think we need a separate API to fetch row col filters as they are 
typically tied to a specific authZ policy. 
   You can extend the `AuthorizationResult` interface to include the filter 
conditions in the authZ response. For example: 
   ```java
   public interface AuthorizationResult {
   
     /**
      * Indicates whether the access is granted.
      *
      * @return true if access is granted, false otherwise.
      */
     boolean hasAccess();
   
     /**
      * Provides the failure message if access is denied.
      *
      * @return A string containing the failure message if access is denied, 
otherwise an empty string or null.
      */
     String getFailureMessage();
     
     default List<String> rowFilters()
         { return Collections.emptyList(); }
         
     default List<String> colFilters() 
         { return Collections.emptyList(); }
   }
   ```
   
   Do you see a problem with such a change?  The query handlers can check for 
these filters and take action if it is non-empty. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to