[ https://issues.apache.org/jira/browse/RANGER-4779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonny Daenen updated RANGER-4779: --------------------------------- Description: When I try to add *policy conditions* to a {*}mask policy tag{*}, I cannot use built-in properties. Context: I want to manage access in Starburst based on tags Example 1: only activate a mask whenever the user is part of a role/group: {code:javascript} IS_IN_GROUP('demo_masking') {code} {code:javascript} _ctx.request.userGroups.indexOf('demo_masking') != -1 {code} *Example 2: *deactivate the mask for a specific user, so that they can write to a Starburst table: {code:javascript} GET_USER_ATTR('name')=='some name' || GET_USER_ATTR('user name')=='some name' || GET_USER_ATTR('User Name')=='some name' {code} {code:javascript} if(ctx.getUser().equals("some name")) ctx.result = false; {code} *Problems encountered:* - It is unclear to me whether the functions/syntax I am using are correct (ctx vs _ctx, which functions/macros are allowed?) - it is unclear what is the preferred way of indication true/false: ctx.result vs an overall boolean statment - It is unclear how to debug this in a live system - It is unclear whether mask policy tags policy conditions are functioning correctly with Starburst/Trino - It is unclear from the code which part of macros en scripting is applicable to this specific case, making it difficult to understand what is allowed as script *Proposed solutions:* - a clear indication in the documentation on the syntax of the policy conditions - a clear indication in the documentation on whether there are limits in mask policy tags - a clear indication in the documentation on whether there are limitations with mask policy tags in combination with e.g. Starburst/Trino - a working example of policy conditions, preferably several common scenarios I might have overlooked parts of the documentation/code. If that is the case, any pointers in the right direction are much appreciated! !image-2024-04-19-12-25-04-879.png! was: When I try to add *policy conditions* to a {*}mask policy tag{*}, I cannot use built-in properties. Example 1: only activate a mask whenever the user is part of a role/group: {code:javascript} IS_IN_GROUP('demo_masking') {code} {code:javascript} _ctx.request.userGroups.indexOf('demo_masking') != -1 {code} *Example 2: *deactivate the mask for a specific user, so that they can write to a Starburst table: {code:javascript} GET_USER_ATTR('name')=='some name' || GET_USER_ATTR('user name')=='some name' || GET_USER_ATTR('User Name')=='some name' {code} {code:javascript} if(ctx.getUser().equals("some name")) ctx.result = false; {code} *Problems encountered:* - It is unclear to me whether the functions/syntax I am using are correct (ctx vs _ctx, which functions/macros are allowed?) - it is unclear what is the preferred way of indication true/false: ctx.result vs an overall boolean statment - It is unclear how to debug this in a live system - It is unclear whether mask policy tags policy conditions are functioning correctly with Starburst/Trino - It is unclear from the code which part of macros en scripting is applicable to this specific case, making it difficult to understand what is allowed as script *Proposed solutions:* - a clear indication in the documentation on the syntax of the policy conditions - a clear indication in the documentation on whether there are limits in mask policy tags - a clear indication in the documentation on whether there are limitations with mask policy tags in combination with e.g. Starburst/Trino - a working example of policy conditions, preferably several common scenarios I might have overlooked parts of the documentation/code. If that is the case, any pointers in the right direction are much appreciated! !image-2024-04-19-12-22-50-127.png|width=1458,height=750! > Policy Conditions don't work on mask policy tags > ------------------------------------------------ > > Key: RANGER-4779 > URL: https://issues.apache.org/jira/browse/RANGER-4779 > Project: Ranger > Issue Type: Bug > Components: Ranger > Affects Versions: 2.3.0 > Reporter: Jonny Daenen > Priority: Major > Attachments: ranger_issue.png > > > When I try to add *policy conditions* to a {*}mask policy tag{*}, I cannot > use built-in properties. > Context: I want to manage access in Starburst based on tags > Example 1: only activate a mask whenever the user is part of a role/group: > {code:javascript} > IS_IN_GROUP('demo_masking') > {code} > {code:javascript} > _ctx.request.userGroups.indexOf('demo_masking') != -1 > {code} > *Example 2: *deactivate the mask for a specific user, so that they can write > to a Starburst table: > {code:javascript} > GET_USER_ATTR('name')=='some name' || GET_USER_ATTR('user name')=='some name' > || GET_USER_ATTR('User Name')=='some name' > {code} > {code:javascript} > if(ctx.getUser().equals("some name")) ctx.result = false; > {code} > *Problems encountered:* > - It is unclear to me whether the functions/syntax I am using are correct > (ctx vs _ctx, which functions/macros are allowed?) > - it is unclear what is the preferred way of indication true/false: > ctx.result vs an overall boolean statment > - It is unclear how to debug this in a live system > - It is unclear whether mask policy tags policy conditions are functioning > correctly with Starburst/Trino > - It is unclear from the code which part of macros en scripting is > applicable to this specific case, making it difficult to understand what is > allowed as script > *Proposed solutions:* > - a clear indication in the documentation on the syntax of the policy > conditions > - a clear indication in the documentation on whether there are limits in > mask policy tags > - a clear indication in the documentation on whether there are limitations > with mask policy tags in combination with e.g. Starburst/Trino > - a working example of policy conditions, preferably several common scenarios > I might have overlooked parts of the documentation/code. If that is the case, > any pointers in the right direction are much appreciated! > > !image-2024-04-19-12-25-04-879.png! > -- This message was sent by Atlassian Jira (v8.20.10#820010)