use of org.apache.ranger.view.VXAccessAuditList in project ranger by apache.
the class TestAssetREST method testGetAccessLogsForKms.
@Test
public void testGetAccessLogsForKms() {
SearchCriteria searchCriteria = new SearchCriteria();
List<SortField> sortFields = null;
List<VXAccessAudit> vXAccessAudits = new ArrayList<VXAccessAudit>();
VXAccessAuditList vXAccessAuditList = new VXAccessAuditList();
vXAccessAuditList.setVXAccessAudits(vXAccessAudits);
Mockito.when(searchUtil.extractCommonCriterias(request, sortFields)).thenReturn(searchCriteria);
Mockito.when(searchUtil.extractString((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenReturn("test");
Mockito.when(searchUtil.extractInt((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString())).thenReturn((Integer) 8);
Mockito.when(searchUtil.extractDate((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenReturn(new Date());
Mockito.when(searchUtil.extractLong((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString())).thenReturn((Long) 8l);
Mockito.when(searchUtil.extractLong((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString())).thenReturn((Long) 8l);
Mockito.when(msBizUtil.isKeyAdmin()).thenReturn(true);
Mockito.when(daoManager.getXXServiceDef()).thenReturn(xxServiceDefDao);
XXServiceDef xServiceDef = new XXServiceDef();
xServiceDef.setId(Id);
Mockito.when(xxServiceDefDao.findByName(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_KMS_NAME)).thenReturn(xServiceDef);
Mockito.when(assetMgr.getAccessLogs(searchCriteria)).thenReturn(vXAccessAuditList);
VXAccessAuditList expectedVXAccessAuditList = assetREST.getAccessLogs(request);
Assert.assertEquals(vXAccessAuditList, expectedVXAccessAuditList);
Mockito.verify(msBizUtil).isKeyAdmin();
Mockito.verify(assetMgr).getAccessLogs(searchCriteria);
Mockito.verify(daoManager).getXXServiceDef();
Mockito.verify(searchUtil, Mockito.times(12)).extractString((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.nullable(String.class));
Mockito.verify(searchUtil, Mockito.times(4)).extractInt((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString());
Mockito.verify(searchUtil, Mockito.times(2)).extractDate((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
Mockito.verify(searchUtil).extractLong((HttpServletRequest) Mockito.any(), (SearchCriteria) Mockito.any(), Mockito.anyString(), Mockito.anyString());
}
use of org.apache.ranger.view.VXAccessAuditList in project ranger by apache.
the class TestXAuditREST method Test7searchXAccessAudits.
@SuppressWarnings("unchecked")
@Test
public void Test7searchXAccessAudits() {
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
searchCriteria.addParam("name", name);
VXAccessAuditList vxAAListExp = new VXAccessAuditList();
vxAAListExp.setTotalCount(6L);
Mockito.when(searchUtil.extractCommonCriterias((HttpServletRequest) Mockito.any(), (List<SortField>) Mockito.any())).thenReturn(searchCriteria);
Mockito.when(xAuditMgr.searchXAccessAudits(searchCriteria)).thenReturn(vxAAListExp);
VXAccessAuditList vxAAListAct = auditREST.searchXAccessAudits(request);
Assert.assertNotNull(vxAAListAct);
Assert.assertEquals(vxAAListExp, vxAAListAct);
Assert.assertEquals(vxAAListExp.getTotalCount(), vxAAListAct.getTotalCount());
Mockito.verify(searchUtil).extractCommonCriterias((HttpServletRequest) Mockito.any(), (List<SortField>) Mockito.any());
Mockito.verify(xAuditMgr).searchXAccessAudits(searchCriteria);
}
use of org.apache.ranger.view.VXAccessAuditList in project ranger by apache.
the class MetricUtil method getAuditsCount.
private VXMetricServiceCount getAuditsCount(int accessResult, Date startDate, Date endDate) throws Exception {
long totalCountOfAudits = 0;
SearchFilter filter = new SearchFilter();
filter.setStartIndex(0);
Map<String, Long> servicesRepoType = new HashMap<String, Long>();
VXMetricServiceCount vXMetricServiceCount = new VXMetricServiceCount();
PList<RangerServiceDef> paginatedSvcDefs = svcStore.getPaginatedServiceDefs(filter);
Iterable<RangerServiceDef> repoTypeGet = paginatedSvcDefs.getList();
for (Object repo : repoTypeGet) {
RangerServiceDef rangerServiceDefObj = (RangerServiceDef) repo;
long id = rangerServiceDefObj.getId();
String serviceRepoName = rangerServiceDefObj.getName();
SearchCriteria searchCriteriaWithType = new SearchCriteria();
searchCriteriaWithType.getParamList().put("repoType", id);
searchCriteriaWithType.getParamList().put("accessResult", accessResult);
searchCriteriaWithType.addParam("startDate", startDate);
searchCriteriaWithType.addParam("endDate", endDate);
VXAccessAuditList vXAccessAuditListwithType = assetMgr.getAccessLogs(searchCriteriaWithType);
long toltalCountOfRepo = vXAccessAuditListwithType.getTotalCount();
if (toltalCountOfRepo != 0) {
servicesRepoType.put(serviceRepoName, toltalCountOfRepo);
totalCountOfAudits += toltalCountOfRepo;
}
}
vXMetricServiceCount.setServiceBasedCountList(servicesRepoType);
vXMetricServiceCount.setTotalCount(totalCountOfAudits);
return vXMetricServiceCount;
}
use of org.apache.ranger.view.VXAccessAuditList in project ranger by apache.
the class XAccessAuditService method searchXAccessAudits.
/**
* @param searchCriteria
* @return
*/
public VXAccessAuditList searchXAccessAudits(SearchCriteria searchCriteria) {
VXAccessAuditList returnList = new VXAccessAuditList();
List<VXAccessAudit> xAccessAuditList = new ArrayList<VXAccessAudit>();
List<XXAccessAudit> resultList = (List<XXAccessAudit>) searchResources(searchCriteria, searchFields, sortFields, returnList);
final boolean hiveQueryVisibility = PropertiesUtil.getBooleanProperty("ranger.audit.hive.query.visibility", true);
// Iterate over the result list and create the return list
for (XXAccessAudit gjXAccessAudit : resultList) {
VXAccessAudit vXAccessAudit = populateViewBean(gjXAccessAudit);
if (vXAccessAudit != null) {
if (StringUtils.equalsIgnoreCase(vXAccessAudit.getAclEnforcer(), RangerHadoopConstants.DEFAULT_XASECURE_MODULE_ACL_NAME)) {
vXAccessAudit.setAclEnforcer(RangerHadoopConstants.DEFAULT_RANGER_MODULE_ACL_NAME);
}
if (!hiveQueryVisibility && "hive".equalsIgnoreCase(vXAccessAudit.getServiceType())) {
vXAccessAudit.setRequestData(null);
} else if ("hive".equalsIgnoreCase(vXAccessAudit.getServiceType()) && ("grant".equalsIgnoreCase(vXAccessAudit.getAccessType()) || "revoke".equalsIgnoreCase(vXAccessAudit.getAccessType()))) {
try {
vXAccessAudit.setRequestData(java.net.URLDecoder.decode(vXAccessAudit.getRequestData(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
logger.warn("Error while encoding request data");
}
}
xAccessAuditList.add(vXAccessAudit);
}
}
returnList.setVXAccessAudits(xAccessAuditList);
return returnList;
}
use of org.apache.ranger.view.VXAccessAuditList in project ranger by apache.
the class SolrAccessAuditsService method searchXAccessAudits.
public VXAccessAuditList searchXAccessAudits(SearchCriteria searchCriteria) {
// Make call to Solr
SolrClient solrClient = solrMgr.getSolrClient();
final boolean hiveQueryVisibility = PropertiesUtil.getBooleanProperty("ranger.audit.hive.query.visibility", true);
if (solrClient == null) {
logger.warn("Solr client is null, so not running the query.");
throw restErrorUtil.createRESTException("Error connecting to search engine", MessageEnums.ERROR_SYSTEM);
}
List<VXAccessAudit> xAccessAuditList = new ArrayList<VXAccessAudit>();
QueryResponse response = solrUtil.searchResources(searchCriteria, searchFields, sortFields, solrClient);
SolrDocumentList docs = response.getResults();
for (int i = 0; i < docs.size(); i++) {
SolrDocument doc = docs.get(i);
VXAccessAudit vXAccessAudit = populateViewBean(doc);
if (vXAccessAudit != null) {
if (!hiveQueryVisibility && "hive".equalsIgnoreCase(vXAccessAudit.getServiceType())) {
vXAccessAudit.setRequestData(null);
} else if ("hive".equalsIgnoreCase(vXAccessAudit.getServiceType()) && "grant".equalsIgnoreCase(vXAccessAudit.getAccessType()) || "revoke".equalsIgnoreCase(vXAccessAudit.getAccessType())) {
try {
vXAccessAudit.setRequestData(java.net.URLDecoder.decode(vXAccessAudit.getRequestData(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
logger.warn("Error while encoding request data");
}
}
}
xAccessAuditList.add(vXAccessAudit);
}
VXAccessAuditList returnList = new VXAccessAuditList();
returnList.setPageSize(searchCriteria.getMaxRows());
returnList.setResultSize(docs.size());
returnList.setTotalCount((int) docs.getNumFound());
returnList.setStartIndex((int) docs.getStart());
returnList.setVXAccessAudits(xAccessAuditList);
return returnList;
}
Aggregations