Github user ankitsinghal commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/283#discussion_r152648189
  
    --- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/PhoenixAccessController.java
 ---
    @@ -229,17 +227,12 @@ public void 
handleRequireAccessOnDependentTable(String request, String userName,
                         + dependentTable);
                 return;
             }
    -        if (isAutomaticGrantEnabled) {
    --- End diff --
    
    @karanmehta93 
    Strict mode:- It will check permissions for dependent tables as well. For 
eg, If a user who has all access on data table is creating an index, then we 
need to ensure that all others users of data table can also access a new index 
table.
    AutomaticGrant:- It will automatically grant required permissions to 
dependent table users.
    
    @twdsilva , what about the case when a new index is been created?
    Purpose of the automatic grant:- let's say there are three users A and B 
have READ permission on the data-table and user C has RWC permission on 
data-table. so if user B creates an index, then we need to ensure that user A 
and C should also be able to read the index and C should be able to write to 
this Index and can drop the index also. so we will give only the required 
permission to the users of data-table on the index table. So, Access should 
propagate like this. 
    
    user | access data table | access on index table | with Automatic 
grant(access on index table will change like this) | comments
    -- | -- | -- | -- | --
    A | RAX | no access | RX | RX will be given on index table
    B | RX | RWXC | RWXC | no grant will happen
    C | RWXAC | no access | RWCX | read ,write and create will be given so that 
it can read/write to index table and drop as well.
    
    
    



---

Reply via email to