Search in sources :

Example 1 with VXAccessAuditList

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());
}
Also used : XXServiceDef(org.apache.ranger.entity.XXServiceDef) ArrayList(java.util.ArrayList) SortField(org.apache.ranger.common.SortField) VXAccessAudit(org.apache.ranger.view.VXAccessAudit) VXAccessAuditList(org.apache.ranger.view.VXAccessAuditList) SearchCriteria(org.apache.ranger.common.SearchCriteria) Date(java.util.Date) Test(org.junit.Test)

Example 2 with VXAccessAuditList

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);
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) SortField(org.apache.ranger.common.SortField) VXAccessAuditList(org.apache.ranger.view.VXAccessAuditList) Test(org.junit.Test)

Example 3 with VXAccessAuditList

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;
}
Also used : HashMap(java.util.HashMap) SearchFilter(org.apache.ranger.plugin.util.SearchFilter) VXAccessAuditList(org.apache.ranger.view.VXAccessAuditList) SearchCriteria(org.apache.ranger.common.SearchCriteria) VXMetricServiceCount(org.apache.ranger.view.VXMetricServiceCount) RangerServiceDef(org.apache.ranger.plugin.model.RangerServiceDef)

Example 4 with VXAccessAuditList

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;
}
Also used : XXAccessAudit(org.apache.ranger.entity.XXAccessAudit) ArrayList(java.util.ArrayList) UnsupportedEncodingException(java.io.UnsupportedEncodingException) VXAccessAudit(org.apache.ranger.view.VXAccessAudit) ArrayList(java.util.ArrayList) List(java.util.List) VXAccessAuditList(org.apache.ranger.view.VXAccessAuditList) VXAccessAuditList(org.apache.ranger.view.VXAccessAuditList)

Example 5 with VXAccessAuditList

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;
}
Also used : SolrDocument(org.apache.solr.common.SolrDocument) SolrClient(org.apache.solr.client.solrj.SolrClient) QueryResponse(org.apache.solr.client.solrj.response.QueryResponse) ArrayList(java.util.ArrayList) UnsupportedEncodingException(java.io.UnsupportedEncodingException) VXAccessAudit(org.apache.ranger.view.VXAccessAudit) SolrDocumentList(org.apache.solr.common.SolrDocumentList) VXAccessAuditList(org.apache.ranger.view.VXAccessAuditList)

Aggregations

VXAccessAuditList (org.apache.ranger.view.VXAccessAuditList)7 ArrayList (java.util.ArrayList)5 VXAccessAudit (org.apache.ranger.view.VXAccessAudit)5 SearchCriteria (org.apache.ranger.common.SearchCriteria)3 SortField (org.apache.ranger.common.SortField)3 Test (org.junit.Test)3 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 Date (java.util.Date)2 XXServiceDef (org.apache.ranger.entity.XXServiceDef)2 HashMap (java.util.HashMap)1 List (java.util.List)1 HttpServletRequest (javax.servlet.http.HttpServletRequest)1 XXAccessAudit (org.apache.ranger.entity.XXAccessAudit)1 RangerServiceDef (org.apache.ranger.plugin.model.RangerServiceDef)1 SearchFilter (org.apache.ranger.plugin.util.SearchFilter)1 VXMetricServiceCount (org.apache.ranger.view.VXMetricServiceCount)1 SolrClient (org.apache.solr.client.solrj.SolrClient)1 QueryResponse (org.apache.solr.client.solrj.response.QueryResponse)1 SolrDocument (org.apache.solr.common.SolrDocument)1 SolrDocumentList (org.apache.solr.common.SolrDocumentList)1