[
https://issues.apache.org/jira/browse/RANGER-3605?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Madhan Neethiraj updated RANGER-3605:
-------------------------------------
Description:
Enhancements in RANGER-3550, RANGER-3567, RANGER-3586 enable use of
user/group/tag attributes in row-filter/condition expressions. To make it
easier to refer to these attributes, it will help to be able to use macros
instead of method calls, as shown below:
{{{}site in ( $\{{GET_UG_ATTR_CSV('site'){}}}}} )
instead of
{{{}site in ( $\{{ctx.ugAttrCsv('site'){}}}}} )
Following macros will be supported with this enhancement:
||Macro||Example Usage||Example Evaluated Value||
|{{GET_TAG_ATTR_CSV}}|{{{}siteCode in
($\{{GET_TAG_ATTR_CSV('{}}}{{{}siteCode{}}}{{{}')}}){}}}|{{siteCode}}{{ in
(10,20)}}|
|{{GET_TAG_ATTR_Q_CSV}}|{{siteId in
(${\{GET_TAG_ATTR_Q_CSV('siteId')}})}}|{{siteId in ('site1','site2')}}|
|{{GET_UG_ATTR_CSV}}|{{{}groupId in
($\{{GET_UG_ATTR_CSV('{}}}{{{}groupId{}}}{{{}')}}){}}}|{{{}groupId in
({}}}{{{}10,20,30){}}}|
|{{GET_UG_ATTR_Q_CSV}}|{{manager in
(${\{GET_UG_ATTR_Q_CSV('manager')}})}}|{{manager in ('jane','john','scott')}}|
|{{TAG_ATTR_NAMES_Q_CSV}}|{{attr_name in
(${\{TAG_ATTR_NAMES_Q_CSV}})}}|{{{}attr_name in
({}}}{{{}'siteId','siteCode'){}}}|
|{{TAG_NAMES_Q_CSV}}|{{tag_name in (${\{TAG_NAMES_Q_CSV}})}}|{{tag_name in
('PII','PCI')}}|
|{{UG_ATTR_NAMES_Q_CSV}}|{{attr_name in
(${\{UG_ATTR_NAMES_Q_CSV}})}}|{{{}attr_name in
({}}}{{{}'groupId','manager'){}}}|
|{{UG_NAMES_Q_CSV}}|{{group_name in (${\{UG_NAMES_Q_CSV}})}}|{{{}group_name in
({}}}{{{}'group1','group2'){}}}|
|{{UR_NAMES_Q_CSV}}|{{{}role_name in
($\{{{}}}{{{}UR_NAMES_Q_CSV}}){}}}|{{{}role_name in
({}}}{{{}'role1','role2'){}}}|
|{{USER_ATTR_NAMES_Q_CSV}}|{{{}attr_name in
($\{{{}}}{{{}USER_ATTR_NAMES_Q_CSV}}){}}}|{{{}attr_name in
({}}}{{{}'dept','state'){}}}|
was:
Enhancements in RANGER-3550, RANGER-3567, RANGER-3586 enable use of
user/group/tag attributes in row-filter/condition expressions. To make it
easier to refer to these attributes, it will help to be able to use macros
instead of method calls, as shown below:
{{{}site in ( $\{{GET_UG_ATTR_CSV('site'){}}}}} )
instead of
{{{}site in ( $\{{ctx.ugAttrCsv('site'){}}}}} )
Following macros will be supported with this enhancement:
||Macro||Sample Usage||Sample Evaluated Value||
|{{GET_TAG_ATTR_CSV}}|{{GET_TAG_ATTR_CSV('siteId')}}|{{site1,site2}}|
|{{GET_TAG_ATTR_Q_CSV}}|{{GET_TAG_ATTR_Q_CSV('siteId')}}|{{'site1','site2'}}|
|{{GET_UG_ATTR_CSV}}|{{GET_UG_ATTR_CSV('manager')}}|{{jane,john,scott}}|
|{{GET_UG_ATTR_Q_CSV}}|{{GET_UG_ATTR_Q_CSV('manager')}}|{{'jane','john','scott'}}|
|{{TAG_ATTR_NAMES_CSV}}|{{TAG_ATTR_NAMES_CSV}}|{{siteId,piiType}}|
|{{TAG_ATTR_NAMES_Q_CSV}}|{{TAG_ATTR_NAMES_Q_CSV}}|{{'siteId','piiType'}}|
|{{TAG_NAMES_CSV}}|{{TAG_NAMES_CSV}}|{{PII,PCI}}|
|{{TAG_NAMES_Q_CSV}}|{{TAG_NAMES_Q_CSV}}|{{'PII','PCI'}}|
|{{UG_ATTR_NAMES_CSV}}|{{UG_ATTR_NAMES_CSV}}|{{groupId,manager}}|
|{{UG_ATTR_NAMES_Q_CSV}}|{{UG_ATTR_NAMES_Q_CSV}}|{{'groupId','manager'}}|
|{{UG_NAMES_CSV}}|{{UG_NAMES_CSV}}|{{group1,group2}}|
|{{UG_NAMES_Q_CSV}}|{{UG_NAMES_Q_CSV}}|{{'group1','group2'}}|
|{{UR_NAMES_CSV}}|{{UR_NAMES_CSV}}|{{role1,role2}}|
|{{UR_NAMES_Q_CSV}}|{{UR_NAMES_Q_CSV}}|{{'role1','role2'}}|
|{{USER_ATTR_NAMES_CSV}}|{{USER_ATTR_NAMES_CSV}}|{{dept,state,country}}|
|{{USER_ATTR_NAMES_Q_CSV}}|{{USER_ATTR_NAMES_Q_CSV}}|{{'dept','state','country'}}|
> Support macros in row-filter/condition expressions
> --------------------------------------------------
>
> Key: RANGER-3605
> URL: https://issues.apache.org/jira/browse/RANGER-3605
> Project: Ranger
> Issue Type: Improvement
> Components: plugins
> Reporter: Madhan Neethiraj
> Assignee: Madhan Neethiraj
> Priority: Major
> Fix For: 3.0.0, 2.3.0
>
> Attachments: RANGER-3605.patch
>
>
> Enhancements in RANGER-3550, RANGER-3567, RANGER-3586 enable use of
> user/group/tag attributes in row-filter/condition expressions. To make it
> easier to refer to these attributes, it will help to be able to use macros
> instead of method calls, as shown below:
> {{{}site in ( $\{{GET_UG_ATTR_CSV('site'){}}}}} )
> instead of
> {{{}site in ( $\{{ctx.ugAttrCsv('site'){}}}}} )
>
> Following macros will be supported with this enhancement:
> ||Macro||Example Usage||Example Evaluated Value||
> |{{GET_TAG_ATTR_CSV}}|{{{}siteCode in
> ($\{{GET_TAG_ATTR_CSV('{}}}{{{}siteCode{}}}{{{}')}}){}}}|{{siteCode}}{{ in
> (10,20)}}|
> |{{GET_TAG_ATTR_Q_CSV}}|{{siteId in
> (${\{GET_TAG_ATTR_Q_CSV('siteId')}})}}|{{siteId in ('site1','site2')}}|
> |{{GET_UG_ATTR_CSV}}|{{{}groupId in
> ($\{{GET_UG_ATTR_CSV('{}}}{{{}groupId{}}}{{{}')}}){}}}|{{{}groupId in
> ({}}}{{{}10,20,30){}}}|
> |{{GET_UG_ATTR_Q_CSV}}|{{manager in
> (${\{GET_UG_ATTR_Q_CSV('manager')}})}}|{{manager in ('jane','john','scott')}}|
> |{{TAG_ATTR_NAMES_Q_CSV}}|{{attr_name in
> (${\{TAG_ATTR_NAMES_Q_CSV}})}}|{{{}attr_name in
> ({}}}{{{}'siteId','siteCode'){}}}|
> |{{TAG_NAMES_Q_CSV}}|{{tag_name in (${\{TAG_NAMES_Q_CSV}})}}|{{tag_name in
> ('PII','PCI')}}|
> |{{UG_ATTR_NAMES_Q_CSV}}|{{attr_name in
> (${\{UG_ATTR_NAMES_Q_CSV}})}}|{{{}attr_name in
> ({}}}{{{}'groupId','manager'){}}}|
> |{{UG_NAMES_Q_CSV}}|{{group_name in (${\{UG_NAMES_Q_CSV}})}}|{{{}group_name
> in ({}}}{{{}'group1','group2'){}}}|
> |{{UR_NAMES_Q_CSV}}|{{{}role_name in
> ($\{{{}}}{{{}UR_NAMES_Q_CSV}}){}}}|{{{}role_name in
> ({}}}{{{}'role1','role2'){}}}|
> |{{USER_ATTR_NAMES_Q_CSV}}|{{{}attr_name in
> ($\{{{}}}{{{}USER_ATTR_NAMES_Q_CSV}}){}}}|{{{}attr_name in
> ({}}}{{{}'dept','state'){}}}|
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)