> On March 29, 2019, 7:18 a.m., Madhan Neethiraj wrote: > > agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java > > Lines 1363 (patched) > > <https://reviews.apache.org/r/70310/diff/3/?file=2135321#file2135321line1363> > > > > Unzoned tag policies should be used *only* when the zone is not > > associated with the service. Lines #1361 to #1385 should be removed. Please > > review and update. > > Abhay Kulkarni wrote: > The description of the use-case in the JIRA says otherwise. Please review > the use-case description - especially the part where the access evaluation is > described, and if it is not correct, then let us fix it and revisit this > patch as a whole.
I have removed code which picked tag-policies from default zone if there were no tag-policies for the zone of the accessed resource. However, the JIRA description needs to changed. From: ---- On the access evaluation perspective, if accessed resource falls in a Security Zone, then there are two possibilities: 1) no policies for the zone in tag-service 2) no association of the zone with tag-service Although it is possible to differentiate between these two cases, tag policies in the default("unzoned") zone need to be considered for evaluation in both cases for now. ---- To: ---- On the access evaluation perspective, if accessed resource falls in a Security Zone, then there are two possibilities: 1) no policies for the zone in tag-service 2) no association of the zone with tag-service tag policies in the default("unzoned") zone need to be considered for evaluation in only in the case 2. ----- - Abhay ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/70310/#review214198 ----------------------------------------------------------- On March 27, 2019, 7:24 p.m., Abhay Kulkarni wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/70310/ > ----------------------------------------------------------- > > (Updated March 27, 2019, 7:24 p.m.) > > > Review request for ranger, Madhan Neethiraj, Mehul Parikh, Nitin Galave, and > Velmurugan Periasamy. > > > Bugs: RANGER-2379 > https://issues.apache.org/jira/browse/RANGER-2379 > > > Repository: ranger > > > Description > ------- > > Currently, tag service is associated with a security zone if and only if any > service-resource (that is, a tuple <resource-service, resource> ) in the > Security Zone is contained in resource-service that is associated with the > tag service. However, consider the following use case: > > 1) No zone exists. Tag-based policies are in-place, say for PII, EXPIRES_ON, > etc. > > 2) Few tables in finance DB were tagged with EXPIRES_ON; few columns within > this DB were tagged with PII. So tag-based access enforcement/masking > policies are in effect for these objects. > > 3) An admin creates 'Finance' zone and moves 'finance' DB to this zone. > > 4) All tag-based policy enforcement is lost; as there is no tag-based policy > in 'finance' zone, as the policies still belong to “unzoned” zone. > > Given this, it is a better design to not automatically create > tag-service->zone association. Instead, the association between > zone->tag-service needs to supported directly similar to how > zone->resource-service association is established, with one difference; when > a tag service is associated with a Security Zone, user should not be able to > include any resource (tag-name, to be specific). This requires GUI changes > for Security Zone CRUD, but no other changes, especially to tag service > browser as well as tag policy creation. > > On the access evaluation perspective, if accessed resource falls in a > Security Zone, then there are two possibilities: > > 1) no policies for the zone in tag-service > 2) no association of the zone with tag-service > > Although it is possible to differentiate between these two cases, tag > policies in the default("unzoned") zone need to be considered for evaluation > in both cases for now. > > This patch contains changes for security zone validations and access > authorization logic only. > > > Diffs > ----- > > > agents-common/src/main/java/org/apache/ranger/plugin/errors/ValidationErrorCode.java > 5a8fb5e1d > > agents-common/src/main/java/org/apache/ranger/plugin/model/validation/RangerSecurityZoneValidator.java > 0e3b8f48a > > agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java > 5e683638b > > agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java > ff2a4b207 > > agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java > 2a80b2518 > > agents-common/src/test/java/org/apache/ranger/plugin/model/validation/RangerSecurityZoneValidatorTest.java > fa167a77c > > agents-common/src/test/resources/policyengine/test_policyengine_hdfs_zones.json > 6fcb66e0b > security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java > 991649664 > security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java > a60d4e005 > security-admin/src/main/resources/META-INF/jpa_named_queries.xml eaa4e08c2 > > > Diff: https://reviews.apache.org/r/70310/diff/3/ > > > Testing > ------- > > Passed all unit tests > > > Thanks, > > Abhay Kulkarni > >