[ https://issues.apache.org/jira/browse/RANGER-4810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Madhan Neethiraj resolved RANGER-4810. -------------------------------------- Fix Version/s: 3.0.0 2.5.0 Resolution: Fixed > Move Trino authorizer implementation from Ranger git repo to Trino repo > ----------------------------------------------------------------------- > > Key: RANGER-4810 > URL: https://issues.apache.org/jira/browse/RANGER-4810 > Project: Ranger > Issue Type: Improvement > Components: plugins > Reporter: Madhan Neethiraj > Assignee: Madhan Neethiraj > Priority: Major > Fix For: 3.0.0, 2.5.0 > > > Moving Trino authorizer implementation from Ranger git repo to Trino repo has > several advantages, including: > # Keeping the authorizer in sync with the updates in SystemAccessControl > interface. For example, following changes in the latest Trino repo are not > compatible with the Trino authorizer in Ranger repo: > ## SystemAccessControl.checkCanAccessCatalog(): removed > ## SystemAccessControl.getRowFilter(): replaced with getRowFilters() > ## SystemAccessControl.getColumnMasks(): replaced with getColumnMask() > ## SystemAccessControl.checkCanSetSystemSessionProperty(): removed > ## SystemAccessControl.checkCanImpersonateUser(): signature changed > ## SystemAccessControl.checkCanAccessCatalog(): removed > ## SystemAccessControl.checkCanCreateSchema(): signature changed > ## SystemAccessControl.checkCanExecuteQuery(): removed > ## SystemAccessControl.checkCanViewQueryOwnedBy(): removed > ## SystemAccessControl.filterViewQueryOwnedBy(): signature changed > ## SystemAccessControl.checkCanKillQueryOwnedBy(): removed > ## SystemAccessControl.checkCanGrantExecuteFunctionPrivilege(): > removed/replaced > ## SystemAccessControl.checkCanExecuteFunction(): signature changed > ## ViewExpression(): constructor changed > ## AccessDeniedException.denyGrantExecuteFunctionPrivilege(): removed > # Trino requires more recent JDK versions (currently JDK 22) than Ranger > repo (which still supports JDK 8). Trino authorizer is built separately, as a > second phase, in Ranger repo using higher JDK versions. Moving the authorizer > to Trino repo will avoid this additional step. > > Trino seems to have a class loader isolation in place for its plugins, which > can eliminate the need for the shim layer used in Ranger plugin. This needs > to be considered along with this move. > Though the authorizer implementation would move to Trino repp, Ranger repo > will continue to have modules used in Ranger admin server for resource look > up and default policy creation (class RangerServiceTrino). -- This message was sent by Atlassian Jira (v8.20.10#820010)