privileges.add(new Builder() .setComponent(mPrivilege.getComponentName()) .setService(mPrivilege.getServiceName()) .setAction(mPrivilege.getAction()) .setAuthorizables(mPrivilege.getAuthorizables()) .withGrantOption(mPrivilege.getGrantOption()) .build());
public PrivilegeObject build() { Preconditions.checkNotNull(component); Preconditions.checkNotNull(service); Preconditions.checkNotNull(action); //CaseInsensitive authorizable name List<? extends Authorizable> newAuthorizable = toLowerAuthorizableName(authorizables); return new PrivilegeObject(component.toLowerCase(), service.toLowerCase(), action.toLowerCase(), grantOption, newAuthorizable); } }
PrivilegeObject oldQueryPrivilege = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(SERVICE) .setAuthorizables(oldAuthoriables) .build(); PrivilegeObject oldUpdatePrivilege = new Builder(oldQueryPrivilege) .setAction(SearchConstants.UPDATE) .build(); PrivilegeObject oldALLPrivilege = new Builder(oldQueryPrivilege) .setAction(SearchConstants.ALL) .build(); PrivilegeObject newQueryPrivilege = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(SERVICE) .setAuthorizables(newAuthoriables) .build(); PrivilegeObject newUpdatePrivilege = new Builder(newQueryPrivilege) .setAction(SearchConstants.UPDATE) .build(); PrivilegeObject newALLPrivilege = new Builder(newQueryPrivilege) .setAction(SearchConstants.ALL) .build();
PrivilegeObject oldQueryPrivilege = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(SERVICE) .setAuthorizables(oldAuthoriables) .build(); PrivilegeObject oldUpdatePrivilege = new Builder(oldQueryPrivilege) .setAction(SolrConstants.UPDATE) .build(); PrivilegeObject oldALLPrivilege = new Builder(oldQueryPrivilege) .setAction(SolrConstants.ALL) .build(); PrivilegeObject newQueryPrivilege = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(SERVICE) .setAuthorizables(newAuthoriables) .build(); PrivilegeObject newUpdatePrivilege = new Builder(newQueryPrivilege) .setAction(SolrConstants.UPDATE) .build(); PrivilegeObject newALLPrivilege = new Builder(newQueryPrivilege) .setAction(SolrConstants.ALL) .build();
PrivilegeObject queryPrivilege1 = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .withGrantOption(true) .build(); PrivilegeObject queryPrivilege2 = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .withGrantOption(false).build();
PrivilegeObject queryPrivilege1 = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .withGrantOption(true) .build(); PrivilegeObject queryPrivilege2 = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .withGrantOption(false).build();
String roleName = "r1"; String groupName = "g1"; PrivilegeObject queryPrivilege = new Builder() .setComponent("SOLR") .setAction(SolrConstants.QUERY) .setService("service1") .setAuthorizables(Arrays.asList(new Collection("c1"), new Field("f1"))) .build(); PrivilegeObject updatePrivilege = new Builder(queryPrivilege) .setAction(SolrConstants.UPDATE) .build();
String grantor = ADMIN_USER; PrivilegeObject queryPrivilege = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build(); PrivilegeObject updatePrivilege = new Builder(queryPrivilege) .setAction(SolrConstants.UPDATE) .build(); PrivilegeObject allPrivilege = new Builder(queryPrivilege) .setAction(SolrConstants.ALL) .build(); sentryStore.alterRoleGrantPrivilege(SEARCH, roleName1, updatePrivilege, grantor); PrivilegeObject parentPrivilege = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.ALL) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build();
String grantor = ADMIN_USER; PrivilegeObject queryPrivilege = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build(); PrivilegeObject updatePrivilege = new Builder(queryPrivilege) .setAction(SearchConstants.UPDATE) .build(); PrivilegeObject allPrivilege = new Builder(queryPrivilege) .setAction(SearchConstants.ALL) .build(); sentryStore.alterRoleGrantPrivilege(SEARCH, roleName1, updatePrivilege, grantor); PrivilegeObject parentPrivilege = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.ALL) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build();
PrivilegeObject queryPrivilege1 = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build(); PrivilegeObject updatePrivilege1 = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.UPDATE) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build(); PrivilegeObject queryPrivilege2 = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build(); PrivilegeObject updatePrivilege2 = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.UPDATE) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build();
PrivilegeObject queryPrivilege1 = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build(); PrivilegeObject updatePrivilege1 = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.UPDATE) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build(); PrivilegeObject queryPrivilege2 = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build(); PrivilegeObject updatePrivilege2 = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.UPDATE) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build();
String roleName = "r1"; String groupName = "g1"; PrivilegeObject queryPrivilege = new Builder() .setComponent("SOLR") .setAction(SearchConstants.QUERY) .setService("service1") .setAuthorizables(Arrays.asList(new Collection("c1"), new Field("f1"))) .build(); PrivilegeObject updatePrivilege = new Builder(queryPrivilege) .setAction(SearchConstants.UPDATE) .build();
PrivilegeObject allPrivilege = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.ALL) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build(); PrivilegeObject updatePrivilege = new Builder(allPrivilege) .setAction(SearchConstants.UPDATE) .build(); PrivilegeObject queryPrivilege = new Builder(allPrivilege) .setAction(SearchConstants.QUERY) .build();
PrivilegeObject queryPrivilege = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build(); PrivilegeObject updatePrivilege = new Builder(queryPrivilege) .setAction(SearchConstants.UPDATE) .build(); sentryStore.getPrivilegesByRole(SEARCH, Sets.newHashSet(roleName2))); PrivilegeObject allPrivilege = new Builder(queryPrivilege) .setAction(SearchConstants.ALL) .build();
PrivilegeObject queryPrivilege = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build(); PrivilegeObject updatePrivilege = new Builder(queryPrivilege) .setAction(SolrConstants.UPDATE) .build(); sentryStore.getPrivilegesByRole(SEARCH, Sets.newHashSet(roleName2))); PrivilegeObject allPrivilege = new Builder(queryPrivilege) .setAction(SolrConstants.ALL) .build();
sentryStore.createRole(SEARCH, roleName, grantor); PrivilegeObject queryPrivilegeWithOption = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .withGrantOption(true) .build(); assertEquals(1,sentryStore.getPrivilegesByRole(SEARCH, Sets.newHashSet(roleName)).size()); PrivilegeObject queryPrivilegeWithNoOption = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .withGrantOption(false) .build(); PrivilegeObject queryPrivilegeWithNullGrant = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .withGrantOption(null) .build();
PrivilegeObject queryPrivilege1 = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build(); PrivilegeObject updatePrivilege1 = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.UPDATE) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build(); PrivilegeObject queryPrivilege2 = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build(); PrivilegeObject updatePrivilege2 = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.UPDATE) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build();
PrivilegeObject allPrivilege = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.ALL) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build(); PrivilegeObject updatePrivilege = new Builder(allPrivilege) .setAction(SolrConstants.UPDATE) .build(); PrivilegeObject queryPrivilege = new Builder(allPrivilege) .setAction(SolrConstants.QUERY) .build();
PrivilegeObject queryPrivilege1 = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build(); PrivilegeObject updatePrivilege1 = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.UPDATE) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build(); PrivilegeObject queryPrivilege2 = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.QUERY) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .build(); PrivilegeObject updatePrivilege2 = new Builder() .setComponent(SEARCH) .setAction(SearchConstants.UPDATE) .setService(service1) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME), new Field(FIELD_NAME))) .build();
sentryStore.createRole(SEARCH, roleName, grantor); PrivilegeObject queryPrivilegeWithOption = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .withGrantOption(true) .build(); assertEquals(1,sentryStore.getPrivilegesByRole(SEARCH, Sets.newHashSet(roleName)).size()); PrivilegeObject queryPrivilegeWithNoOption = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .withGrantOption(false) .build(); PrivilegeObject queryPrivilegeWithNullGrant = new Builder() .setComponent(SEARCH) .setAction(SolrConstants.QUERY) .setService(SERVICE) .setAuthorizables(Arrays.asList(new Collection(COLLECTION_NAME))) .withGrantOption(null) .build();