Skip to content

Commit

Permalink
Access for license and serverless
Browse files Browse the repository at this point in the history
  • Loading branch information
nkhristinin committed Aug 3, 2023
1 parent c77a82e commit 96b6ddc
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,24 @@ export const deleteConfiguration = () => {
}
});
};

export const interceptRiskPreviewError = () => {
cy.intercept('POST', '/internal/risk_score/preview', {
statusCode: 500,
});
};

export const interceptRiskPreviewSuccess = () => {
cy.intercept('POST', '/internal/risk_score/preview', {
statusCode: 200,
body: {
scores: { host: [], user: [] },
},
});
};

export const interceptRiskInitError = () => {
cy.intercept('POST', '/internal/risk_score/engine/init', {
statusCode: 500,
});
};
Original file line number Diff line number Diff line change
Expand Up @@ -128,23 +128,21 @@ export const HostRiskScoreQueryTabBody = ({
}

return (
<>
<HostRiskScoreTableManage
deleteQuery={deleteQuery}
data={data ?? []}
id={HostRiskScoreQueryId.HOSTS_BY_RISK}
inspect={inspect}
isInspect={isInspected}
loading={loading || isKpiLoading}
loadPage={noop} // It isn't necessary because PaginatedTable updates redux store and we load the page when activePage updates on the store
refetch={refetch}
setQuery={setQuery}
setQuerySkip={setQuerySkip}
severityCount={severityCount ?? EMPTY_SEVERITY_COUNT}
totalCount={totalCount}
type={type}
/>
</>
<HostRiskScoreTableManage
deleteQuery={deleteQuery}
data={data ?? []}
id={HostRiskScoreQueryId.HOSTS_BY_RISK}
inspect={inspect}
isInspect={isInspected}
loading={loading || isKpiLoading}
loadPage={noop} // It isn't necessary because PaginatedTable updates redux store and we load the page when activePage updates on the store
refetch={refetch}
setQuery={setQuery}
setQuerySkip={setQuerySkip}
severityCount={severityCount ?? EMPTY_SEVERITY_COUNT}
totalCount={totalCount}
type={type}
/>
);
};

Expand Down
9 changes: 8 additions & 1 deletion x-pack/plugins/security_solution/public/management/links.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ import { IconPipeline } from '../common/icons/pipeline';
import { IconSavedObject } from '../common/icons/saved_object';
import { IconDashboards } from '../common/icons/dashboards';
import { IconEntityAnalytics } from '../common/icons/entity_analytics';

import { useMlCapabilities } from '../common/components/ml/hooks/use_ml_capabilities';
import { useHasSecurityCapability } from '../helper_hooks';
import { HostIsolationExceptionsApiClient } from './pages/host_isolation_exceptions/host_isolation_exceptions_api_client';

const categories = [
Expand Down Expand Up @@ -218,6 +219,8 @@ export const getManagementFilteredLinks = async (
fleetAuthz && currentUser
? calculateEndpointAuthz(licenseService, fleetAuthz, currentUser.roles)
: getEndpointAuthzInitialState();
const hasEntityAnalyticsCapability = useHasSecurityCapability('entity-analytics');
const isPlatinumOrTrialLicense = useMlCapabilities().isPlatinumOrTrialLicense;

const showHostIsolationExceptions =
canAccessHostIsolationExceptions || // access host isolation exceptions is a paid feature, always show the link.
Expand Down Expand Up @@ -256,5 +259,9 @@ export const getManagementFilteredLinks = async (
linksToExclude.push(SecurityPageName.blocklist);
}

if (!(hasEntityAnalyticsCapability && isPlatinumOrTrialLicense)) {
linksToExclude.push(SecurityPageName.entityAnalyticsManagement);
}

return excludeLinks(linksToExclude);
};
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import type { Logger } from '@kbn/core/server';
import { buildSiemResponse } from '@kbn/lists-plugin/server/routes/utils';
import { transformError } from '@kbn/securitysolution-es-utils';
import { RISK_ENGINE_DISABLE_URL } from '../../../../common/constants';
import { RISK_ENGINE_DISABLE_URL, APP_ID } from '../../../../common/constants';
import type { SetupPlugins } from '../../../plugin';
import type { SecuritySolutionPluginRouter } from '../../../types';

Expand All @@ -22,7 +22,7 @@ export const riskEngineDisableRoute = (
path: RISK_ENGINE_DISABLE_URL,
validate: {},
options: {
tags: ['access:securitySolution'],
tags: ['access:securitySolution', `access:${APP_ID}-entity-analytics`],
},
},
async (context, request, response) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import type { Logger } from '@kbn/core/server';
import { buildSiemResponse } from '@kbn/lists-plugin/server/routes/utils';
import { transformError } from '@kbn/securitysolution-es-utils';
import { RISK_ENGINE_ENABLE_URL } from '../../../../common/constants';
import { RISK_ENGINE_ENABLE_URL, APP_ID } from '../../../../common/constants';
import type { SetupPlugins } from '../../../plugin';
import type { SecuritySolutionPluginRouter } from '../../../types';

Expand All @@ -22,7 +22,7 @@ export const riskEngineEnableRoute = (
path: RISK_ENGINE_ENABLE_URL,
validate: {},
options: {
tags: ['access:securitySolution'],
tags: ['access:securitySolution', `access:${APP_ID}-entity-analytics`],
},
},
async (context, request, response) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import type { Logger } from '@kbn/core/server';
import { buildSiemResponse } from '@kbn/lists-plugin/server/routes/utils';
import { transformError } from '@kbn/securitysolution-es-utils';
import { RISK_ENGINE_INIT_URL } from '../../../../common/constants';
import { RISK_ENGINE_INIT_URL, APP_ID } from '../../../../common/constants';
import type { SetupPlugins } from '../../../plugin';

import type { SecuritySolutionPluginRouter } from '../../../types';
Expand All @@ -23,7 +23,7 @@ export const riskEngineInitRoute = (
path: RISK_ENGINE_INIT_URL,
validate: {},
options: {
tags: ['access:securitySolution'],
tags: ['access:securitySolution', `access:${APP_ID}-entity-analytics`],
},
},
async (context, request, response) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import type { Logger } from '@kbn/core/server';
import { buildSiemResponse } from '@kbn/lists-plugin/server/routes/utils';
import { transformError } from '@kbn/securitysolution-es-utils';
import { RISK_ENGINE_STATUS_URL } from '../../../../common/constants';
import { RISK_ENGINE_STATUS_URL, APP_ID } from '../../../../common/constants';

import type { SecuritySolutionPluginRouter } from '../../../types';

Expand All @@ -18,7 +18,7 @@ export const riskEngineStatusRoute = (router: SecuritySolutionPluginRouter, logg
path: RISK_ENGINE_STATUS_URL,
validate: {},
options: {
tags: ['access:securitySolution'],
tags: ['access:securitySolution', `access:${APP_ID}-entity-analytics`],
},
},
async (context, request, response) => {
Expand Down

0 comments on commit 96b6ddc

Please sign in to comment.