[7.x] Feature Controls - Allow telemetry to be toggled with advancedSettings feature privilege (#35250) (#35596)

* Allow telemetry to be toggled with feature privileges
This commit is contained in:
Larry Gregory 2019-04-25 12:42:00 -04:00 committed by GitHub
parent 0f586ed4c6
commit 6e62eeb95d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 689 additions and 122 deletions

View file

@ -61,7 +61,7 @@ export default function (kibana) {
api: [],
savedObject: {
all: [],
read: ['config'],
read: [],
},
ui: ['show'],
},
@ -69,7 +69,7 @@ export default function (kibana) {
api: [],
savedObject: {
all: [],
read: ['config'],
read: [],
},
ui: ['show'],
},

View file

@ -578,6 +578,7 @@ exports[`AdvancedSettings should render normally 1`] = `
showNoResultsMessage={true}
/>
<advanced_settings_page_footer
enableSaving={true}
onQueryMatchChange={[Function]}
query={
Query {
@ -738,6 +739,7 @@ exports[`AdvancedSettings should render read-only when saving is disabled 1`] =
showNoResultsMessage={true}
/>
<advanced_settings_page_footer
enableSaving={false}
onQueryMatchChange={[Function]}
query={
Query {
@ -916,6 +918,7 @@ exports[`AdvancedSettings should render specific setting if given setting key 1`
showNoResultsMessage={true}
/>
<advanced_settings_page_footer
enableSaving={true}
onQueryMatchChange={[Function]}
query={
Query {

View file

@ -188,7 +188,7 @@ export class AdvancedSettings extends Component {
showNoResultsMessage={!footerQueryMatched}
enableSaving={this.props.enableSaving}
/>
<PageFooter query={query} onQueryMatchChange={this.onFooterQueryMatchChange} />
<PageFooter query={query} onQueryMatchChange={this.onFooterQueryMatchChange} enableSaving={this.props.enableSaving} />
</div>
);
}

View file

@ -85,7 +85,7 @@ export function apm(kibana: any) {
catalogue: ['apm'],
savedObject: {
all: [],
read: ['config']
read: []
},
ui: ['show']
},
@ -94,7 +94,7 @@ export function apm(kibana: any) {
catalogue: ['apm'],
savedObject: {
all: [],
read: ['config']
read: []
},
ui: ['show']
}

View file

@ -46,14 +46,14 @@ export default async function(server /*options*/) {
all: {
savedObject: {
all: ['canvas-workpad'],
read: ['config', 'index-pattern'],
read: ['index-pattern'],
},
ui: ['save'],
},
read: {
savedObject: {
all: [],
read: ['config', 'index-pattern', 'canvas-workpad'],
read: ['index-pattern', 'canvas-workpad'],
},
ui: [],
},

View file

@ -62,14 +62,14 @@ export function graph(kibana) {
all: {
savedObject: {
all: ['graph-workspace'],
read: ['config', 'index-pattern'],
read: ['index-pattern'],
},
ui: ['save', 'delete'],
},
read: {
savedObject: {
all: [],
read: ['config', 'index-pattern', 'graph-workspace'],
read: ['index-pattern', 'graph-workspace'],
},
ui: [],
}

View file

@ -37,7 +37,7 @@ export const initServerWithKibana = (kbnServer: KbnServer) => {
api: ['infra'],
savedObject: {
all: ['infrastructure-ui-source'],
read: ['config'],
read: [],
},
ui: ['show', 'configureSource'],
},
@ -45,7 +45,7 @@ export const initServerWithKibana = (kbnServer: KbnServer) => {
api: ['infra'],
savedObject: {
all: [],
read: ['config', 'infrastructure-ui-source'],
read: ['infrastructure-ui-source'],
},
ui: ['show'],
},
@ -66,7 +66,7 @@ export const initServerWithKibana = (kbnServer: KbnServer) => {
api: ['infra'],
savedObject: {
all: ['infrastructure-ui-source'],
read: ['config'],
read: [],
},
ui: ['show', 'configureSource'],
},
@ -74,7 +74,7 @@ export const initServerWithKibana = (kbnServer: KbnServer) => {
api: ['infra'],
savedObject: {
all: [],
read: ['config', 'infrastructure-ui-source'],
read: ['infrastructure-ui-source'],
},
ui: ['show'],
},

View file

@ -16,7 +16,7 @@ import { watchStatusAndLicenseToInitialize } from
'../../server/lib/watch_status_and_license_to_initialize';
import { initTelemetryCollection } from './server/maps_telemetry';
import { i18n } from '@kbn/i18n';
import { APP_ID, APP_ICON, createMapPath } from './common/constants';
import { APP_ID, APP_ICON, createMapPath } from './common/constants';
import { getAppTitle } from './common/i18n_getters';
export function maps(kibana) {
@ -92,14 +92,14 @@ export function maps(kibana) {
all: {
savedObject: {
all: ['map'],
read: ['config', 'index-pattern']
read: ['index-pattern']
},
ui: ['save'],
},
read: {
savedObject: {
all: [],
read: ['map', 'config', 'index-pattern']
read: ['map', 'index-pattern']
},
ui: [],
},

View file

@ -94,7 +94,7 @@ export const ml = (kibana) => {
privilege: {
savedObject: {
all: [],
read: ['config']
read: []
},
ui: [],
},

View file

@ -69,7 +69,7 @@ export const init = (monitoringPlugin, server) => {
privilege: {
savedObject: {
all: [],
read: ['config']
read: []
},
ui: [],
},

View file

@ -41,7 +41,7 @@ export const initServerWithKibana = (server: KibanaServer) => {
api: ['uptime'],
savedObject: {
all: [],
read: ['config'],
read: [],
},
ui: [],
},
@ -49,7 +49,7 @@ export const initServerWithKibana = (server: KibanaServer) => {
api: ['uptime'],
savedObject: {
all: [],
read: ['config'],
read: [],
},
ui: [],
},

View file

@ -30,6 +30,7 @@ exports[`TelemetryForm renders as expected 1`] = `
/>
<InjectIntl(FieldUI)
clear={[Function]}
enableSaving={true}
save={[Function]}
setting={
Object {

View file

@ -30,6 +30,7 @@ export class TelemetryForm extends Component {
onQueryMatchChange: PropTypes.func.isRequired,
spacesEnabled: PropTypes.bool.isRequired,
activeSpace: PropTypes.object,
enableSaving: PropTypes.bool.isRequired,
};
state = {
@ -100,6 +101,7 @@ export class TelemetryForm extends Component {
}}
save={this.toggleOptIn}
clear={this.toggleOptIn}
enableSaving={this.props.enableSaving}
/>
</EuiForm>
</EuiPanel>

View file

@ -46,6 +46,7 @@ describe('TelemetryForm', () => {
query={{ text: '' }}
onQueryMatchChange={jest.fn()}
telemetryOptInProvider={buildTelemetryOptInProvider()}
enableSaving={true}
/>)
).toMatchSnapshot();
});

View file

@ -47,8 +47,8 @@ describe('FeatureRegistry', () => {
},
app: ['app1'],
savedObject: {
all: ['config', 'space', 'etc'],
read: ['canvas'],
all: ['space', 'etc', 'telemetry'],
read: ['canvas', 'config'],
},
api: ['someApiEndpointTag', 'anotherEndpointTag'],
ui: ['allowsFoo', 'showBar', 'showBaz'],
@ -63,8 +63,8 @@ describe('FeatureRegistry', () => {
},
app: ['app1'],
savedObject: {
all: ['config', 'space', 'etc'],
read: ['canvas'],
all: ['space', 'etc', 'telemetry'],
read: ['canvas', 'config'],
},
api: ['someApiEndpointTag', 'anotherEndpointTag'],
ui: ['allowsFoo', 'showBar', 'showBaz'],
@ -83,6 +83,124 @@ describe('FeatureRegistry', () => {
expect(result[0]).toEqual(feature);
});
it(`automatically grants 'all' access to telemetry saved objects for the 'all' privilege`, () => {
const feature: Feature = {
id: 'test-feature',
name: 'Test Feature',
app: [],
privileges: {
all: {
ui: [],
savedObject: {
all: [],
read: [],
},
},
},
};
const featureRegistry = new FeatureRegistry();
featureRegistry.register(feature);
const result = featureRegistry.getAll();
const allPrivilege = result[0].privileges.all;
expect(allPrivilege.savedObject.all).toEqual(['telemetry']);
});
it(`automatically grants 'read' access to config saved objects for both privileges`, () => {
const feature: Feature = {
id: 'test-feature',
name: 'Test Feature',
app: [],
privileges: {
all: {
ui: [],
savedObject: {
all: [],
read: [],
},
},
read: {
ui: [],
savedObject: {
all: [],
read: [],
},
},
},
};
const featureRegistry = new FeatureRegistry();
featureRegistry.register(feature);
const result = featureRegistry.getAll();
const allPrivilege = result[0].privileges.all;
const readPrivilege = result[0].privileges.read;
expect(allPrivilege.savedObject.read).toEqual(['config']);
expect(readPrivilege.savedObject.read).toEqual(['config']);
});
it(`automatically grants 'all' access to telemetry and 'read' to config saved objects for the reserved privilege`, () => {
const feature: Feature = {
id: 'test-feature',
name: 'Test Feature',
app: [],
privileges: {},
reserved: {
description: 'foo',
privilege: {
ui: [],
savedObject: {
all: [],
read: [],
},
},
},
};
const featureRegistry = new FeatureRegistry();
featureRegistry.register(feature);
const result = featureRegistry.getAll();
const reservedPrivilege = result[0]!.reserved!.privilege;
expect(reservedPrivilege.savedObject.all).toEqual(['telemetry']);
expect(reservedPrivilege.savedObject.read).toEqual(['config']);
});
it(`does not duplicate the automatic grants if specified on the incoming feature`, () => {
const feature: Feature = {
id: 'test-feature',
name: 'Test Feature',
app: [],
privileges: {
all: {
ui: [],
savedObject: {
all: ['telemetry'],
read: ['config'],
},
},
read: {
ui: [],
savedObject: {
all: [],
read: ['config'],
},
},
},
};
const featureRegistry = new FeatureRegistry();
featureRegistry.register(feature);
const result = featureRegistry.getAll();
const allPrivilege = result[0].privileges.all;
const readPrivilege = result[0].privileges.read;
expect(allPrivilege.savedObject.all).toEqual(['telemetry']);
expect(allPrivilege.savedObject.read).toEqual(['config']);
expect(readPrivilege.savedObject.read).toEqual(['config']);
});
it(`does not allow duplicate features to be registered`, () => {
const feature: Feature = {
id: 'test-feature',

View file

@ -5,7 +5,7 @@
*/
import Joi from 'joi';
import { cloneDeep, difference } from 'lodash';
import { cloneDeep, difference, uniq } from 'lodash';
import { UICapabilities } from 'ui/capabilities';
export interface FeatureKibanaPrivileges {
@ -124,7 +124,9 @@ export class FeatureRegistry {
throw new Error(`Feature with id ${feature.id} is already registered.`);
}
this.features[feature.id] = feature as Feature;
const featureCopy: Feature = cloneDeep(feature as Feature);
this.features[feature.id] = applyAutomaticPrivilegeGrants(featureCopy as Feature);
}
public getAll(): Feature[] {
@ -194,3 +196,32 @@ function validateFeature(feature: FeatureWithAllOrReadPrivileges) {
);
});
}
function applyAutomaticPrivilegeGrants(feature: Feature): Feature {
const { all: allPrivilege, read: readPrivilege } = feature.privileges;
const reservedPrivilege = feature.reserved ? feature.reserved.privilege : null;
applyAutomaticAllPrivilegeGrants(allPrivilege, reservedPrivilege);
applyAutomaticReadPrivilegeGrants(readPrivilege);
return feature;
}
function applyAutomaticAllPrivilegeGrants(...allPrivileges: Array<FeatureKibanaPrivileges | null>) {
allPrivileges.forEach(allPrivilege => {
if (allPrivilege) {
allPrivilege.savedObject.all = uniq([...allPrivilege.savedObject.all, 'telemetry']);
allPrivilege.savedObject.read = uniq([...allPrivilege.savedObject.read, 'config']);
}
});
}
function applyAutomaticReadPrivilegeGrants(
...readPrivileges: Array<FeatureKibanaPrivileges | null>
) {
readPrivileges.forEach(readPrivilege => {
if (readPrivilege) {
readPrivilege.savedObject.read = uniq([...readPrivilege.savedObject.read, 'config']);
}
});
}

View file

@ -20,14 +20,14 @@ const kibanaFeatures: Feature[] = [
all: {
savedObject: {
all: ['search', 'url'],
read: ['config', 'index-pattern'],
read: ['index-pattern'],
},
ui: ['show', 'createShortUrl', 'save'],
},
read: {
savedObject: {
all: [],
read: ['config', 'index-pattern', 'search', 'url'],
read: ['index-pattern', 'search', 'url'],
},
ui: ['show'],
},
@ -46,14 +46,14 @@ const kibanaFeatures: Feature[] = [
all: {
savedObject: {
all: ['visualization', 'url'],
read: ['config', 'index-pattern', 'search'],
read: ['index-pattern', 'search'],
},
ui: ['show', 'createShortUrl', 'delete', 'save'],
},
read: {
savedObject: {
all: [],
read: ['config', 'index-pattern', 'search', 'visualization'],
read: ['index-pattern', 'search', 'visualization'],
},
ui: ['show'],
},
@ -73,7 +73,6 @@ const kibanaFeatures: Feature[] = [
savedObject: {
all: ['dashboard', 'url'],
read: [
'config',
'index-pattern',
'search',
'visualization',
@ -88,7 +87,6 @@ const kibanaFeatures: Feature[] = [
savedObject: {
all: [],
read: [
'config',
'index-pattern',
'search',
'visualization',
@ -116,7 +114,7 @@ const kibanaFeatures: Feature[] = [
api: ['console'],
savedObject: {
all: [],
read: ['config'],
read: [],
},
ui: ['show'],
},
@ -124,7 +122,7 @@ const kibanaFeatures: Feature[] = [
api: ['console'],
savedObject: {
all: [],
read: ['config'],
read: [],
},
ui: ['show'],
},
@ -156,7 +154,7 @@ const kibanaFeatures: Feature[] = [
read: {
savedObject: {
all: [],
read: ['config'],
read: [],
},
ui: [],
},
@ -177,14 +175,14 @@ const kibanaFeatures: Feature[] = [
all: {
savedObject: {
all: ['index-pattern'],
read: ['config'],
read: [],
},
ui: ['createNew'],
},
read: {
savedObject: {
all: [],
read: ['index-pattern', 'config'],
read: ['index-pattern'],
},
ui: [],
},
@ -204,14 +202,14 @@ const timelionFeatures: Feature[] = [
all: {
savedObject: {
all: ['timelion-sheet'],
read: ['config', 'index-pattern'],
read: ['index-pattern'],
},
ui: ['save'],
},
read: {
savedObject: {
all: [],
read: ['config', 'index-pattern', 'timelion-sheet'],
read: ['index-pattern', 'timelion-sheet'],
},
ui: [],
},

View file

@ -0,0 +1,206 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import expect from '@kbn/expect';
import { SuperTest } from 'supertest';
import { SecurityService, SpacesService } from '../../../../common/services';
import { KibanaFunctionalTestDefaultProviders } from '../../../../types/providers';
// eslint-disable-next-line import/no-default-export
export default function featureControlsTests({ getService }: KibanaFunctionalTestDefaultProviders) {
const supertest: SuperTest<any> = getService('supertestWithoutAuth');
const security: SecurityService = getService('security');
const spaces: SpacesService = getService('spaces');
const expect403 = (result: any) => {
expect(result.error).to.be(undefined);
expect(result.response).not.to.be(undefined);
expect(result.response).to.have.property('statusCode', 403);
};
const expectResponse = (result: any) => {
expect(result.error).to.be(undefined);
expect(result.response).not.to.be(undefined);
expect(result.response).to.have.property('statusCode', 200);
};
async function saveAdvancedSetting(username: string, password: string, spaceId?: string) {
const basePath = spaceId ? `/s/${spaceId}` : '';
return await supertest
.post(`${basePath}/api/kibana/settings`)
.auth(username, password)
.set('kbn-xsrf', 'foo')
.send({ changes: { 'csv:quoteValues': null } })
.then((response: any) => ({ error: undefined, response }))
.catch((error: any) => ({ error, response: undefined }));
}
async function saveTelemetrySetting(username: string, password: string, spaceId?: string) {
const basePath = spaceId ? `/s/${spaceId}` : '';
return await supertest
.post(`${basePath}/api/telemetry/v1/optIn`)
.auth(username, password)
.set('kbn-xsrf', 'foo')
.send({ enabled: true })
.then((response: any) => ({ error: undefined, response }))
.catch((error: any) => ({ error, response: undefined }));
}
describe('feature controls', () => {
it(`settings can be saved with the advancedSettings: ["all"] feature privilege`, async () => {
const username = 'settings_all';
const roleName = 'settings_all';
const password = `${username}-password`;
try {
await security.role.create(roleName, {
kibana: [
{
feature: {
advancedSettings: ['all'],
},
},
],
});
await security.user.create(username, {
password,
roles: [roleName],
full_name: 'a kibana user',
});
const regularSettingResult = await saveAdvancedSetting(username, password);
expectResponse(regularSettingResult);
const telemetryResult = await saveTelemetrySetting(username, password);
expectResponse(telemetryResult);
} finally {
await security.role.delete(roleName);
await security.user.delete(username);
}
});
it(`settings cannot be saved with the advancedSettings: ["read"] feature privilege`, async () => {
const username = 'settings_read';
const roleName = 'settings_read';
const password = `${username}-password`;
try {
await security.role.create(roleName, {
kibana: [
{
feature: {
advancedSettings: ['read'],
},
},
],
});
await security.user.create(username, {
password,
roles: [roleName],
full_name: 'a kibana user',
});
const regularSettingResult = await saveAdvancedSetting(username, password);
expect403(regularSettingResult);
const telemetryResult = await saveTelemetrySetting(username, password);
expect403(telemetryResult);
} finally {
await security.role.delete(roleName);
await security.user.delete(username);
}
});
describe('spaces', () => {
// the following tests create a user_1 which has dashboard all access to space_1 and dashboard read access to space_2
const space1Id = 'space_1';
const space2Id = 'space_2';
const space3Id = 'space_3';
const roleName = 'user_1';
const username = 'user_1';
const password = 'user_1-password';
before(async () => {
await spaces.create({
id: space1Id,
name: space1Id,
disabledFeatures: [],
});
await spaces.create({
id: space2Id,
name: space2Id,
disabledFeatures: [],
});
await spaces.create({
id: space3Id,
name: space3Id,
disabledFeatures: [],
});
await security.role.create(roleName, {
kibana: [
{
feature: {
advancedSettings: ['all'],
},
spaces: [space1Id],
},
{
feature: {
dashboard: ['all'],
},
spaces: [space2Id],
},
{
feature: {
dashboard: ['read'],
},
spaces: [space3Id],
},
],
});
await security.user.create(username, {
password,
roles: [roleName],
});
});
after(async () => {
await spaces.delete(space1Id);
await spaces.delete(space2Id);
await spaces.delete(space3Id);
await security.role.delete(roleName);
await security.user.delete(username);
});
it('user_1 can save settings and telemetry in space_1', async () => {
const regularSettingResult = await saveAdvancedSetting(username, password, space1Id);
expectResponse(regularSettingResult);
const telemetryResult = await saveTelemetrySetting(username, password, space1Id);
expectResponse(telemetryResult);
});
it(`user_1 can only save telemetry in space_2`, async () => {
const regularSettingResult = await saveAdvancedSetting(username, password, space2Id);
expect403(regularSettingResult);
const telemetryResult = await saveTelemetrySetting(username, password, space2Id);
expectResponse(telemetryResult);
});
it(`user_1 can't save either settings or telemetry in space_3`, async () => {
const regularSettingResult = await saveAdvancedSetting(username, password, space3Id);
expect403(regularSettingResult);
const telemetryResult = await saveTelemetrySetting(username, password, space3Id);
expect403(telemetryResult);
});
});
});
}

View file

@ -0,0 +1,14 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import { KibanaFunctionalTestDefaultProviders } from '../../../../types/providers';
// eslint-disable-next-line import/no-default-export
export default function({ loadTestFile }: KibanaFunctionalTestDefaultProviders) {
describe('advanced settings', () => {
loadTestFile(require.resolve('./feature_controls'));
});
}

View file

@ -6,6 +6,7 @@
export default function ({ loadTestFile }) {
describe('management', () => {
loadTestFile(require.resolve('./advanced_settings'));
loadTestFile(require.resolve('./cross_cluster_replication'));
loadTestFile(require.resolve('./remote_clusters'));
loadTestFile(require.resolve('./rollup'));

View file

@ -54,20 +54,30 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:url/bulk_create`,
`saved_object:${version}:url/update`,
`saved_object:${version}:url/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/search/delete`,
`ui:${version}:savedObjectsManagement/search/edit`,
`ui:${version}:savedObjectsManagement/search/read`,
`ui:${version}:savedObjectsManagement/url/delete`,
`ui:${version}:savedObjectsManagement/url/edit`,
`ui:${version}:savedObjectsManagement/url/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:discover/show`,
`ui:${version}:discover/createShortUrl`,
`ui:${version}:discover/save`,
@ -79,9 +89,6 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/discover`,
`ui:${version}:navLinks/kibana:discover`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
@ -91,10 +98,13 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:url/bulk_get`,
`saved_object:${version}:url/get`,
`saved_object:${version}:url/find`,
`ui:${version}:savedObjectsManagement/config/read`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/search/read`,
`ui:${version}:savedObjectsManagement/url/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:discover/show`,
],
},
@ -119,24 +129,34 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:url/bulk_create`,
`saved_object:${version}:url/update`,
`saved_object:${version}:url/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:search/bulk_get`,
`saved_object:${version}:search/get`,
`saved_object:${version}:search/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/visualization/delete`,
`ui:${version}:savedObjectsManagement/visualization/edit`,
`ui:${version}:savedObjectsManagement/visualization/read`,
`ui:${version}:savedObjectsManagement/url/delete`,
`ui:${version}:savedObjectsManagement/url/edit`,
`ui:${version}:savedObjectsManagement/url/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/search/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:visualize/show`,
`ui:${version}:visualize/createShortUrl`,
`ui:${version}:visualize/delete`,
@ -149,9 +169,6 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/visualize`,
`ui:${version}:navLinks/kibana:visualize`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
@ -161,10 +178,13 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:visualization/bulk_get`,
`saved_object:${version}:visualization/get`,
`saved_object:${version}:visualization/find`,
`ui:${version}:savedObjectsManagement/config/read`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/search/read`,
`ui:${version}:savedObjectsManagement/visualization/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:visualize/show`,
],
},
@ -189,9 +209,13 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:url/bulk_create`,
`saved_object:${version}:url/update`,
`saved_object:${version}:url/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
@ -210,19 +234,25 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:map/bulk_get`,
`saved_object:${version}:map/get`,
`saved_object:${version}:map/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/dashboard/delete`,
`ui:${version}:savedObjectsManagement/dashboard/edit`,
`ui:${version}:savedObjectsManagement/dashboard/read`,
`ui:${version}:savedObjectsManagement/url/delete`,
`ui:${version}:savedObjectsManagement/url/edit`,
`ui:${version}:savedObjectsManagement/url/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/search/read`,
`ui:${version}:savedObjectsManagement/visualization/read`,
`ui:${version}:savedObjectsManagement/timelion-sheet/read`,
`ui:${version}:savedObjectsManagement/canvas-workpad/read`,
`ui:${version}:savedObjectsManagement/map/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:dashboard/createNew`,
`ui:${version}:dashboard/show`,
`ui:${version}:dashboard/showWriteControls`,
@ -234,9 +264,6 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/dashboard`,
`ui:${version}:navLinks/kibana:dashboard`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
@ -258,7 +285,9 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:dashboard/bulk_get`,
`saved_object:${version}:dashboard/get`,
`saved_object:${version}:dashboard/find`,
`ui:${version}:savedObjectsManagement/config/read`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/search/read`,
`ui:${version}:savedObjectsManagement/visualization/read`,
@ -266,6 +295,7 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`ui:${version}:savedObjectsManagement/canvas-workpad/read`,
`ui:${version}:savedObjectsManagement/map/read`,
`ui:${version}:savedObjectsManagement/dashboard/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:dashboard/show`,
],
},
@ -279,9 +309,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`ui:${version}:catalogue/searchprofiler`,
`ui:${version}:catalogue/grokdebugger`,
`ui:${version}:navLinks/kibana:dev_tools`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:dev_tools/show`,
'allHack:',
@ -316,9 +356,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:config/bulk_create`,
`saved_object:${version}:config/update`,
`saved_object:${version}:config/delete`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`ui:${version}:savedObjectsManagement/config/delete`,
`ui:${version}:savedObjectsManagement/config/edit`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:advancedSettings/save`,
'allHack:',
],
@ -348,12 +398,22 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:index-pattern/bulk_create`,
`saved_object:${version}:index-pattern/update`,
`saved_object:${version}:index-pattern/delete`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/index-pattern/delete`,
`ui:${version}:savedObjectsManagement/index-pattern/edit`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:indexPatterns/createNew`,
'allHack:',
@ -389,17 +449,27 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:timelion-sheet/bulk_create`,
`saved_object:${version}:timelion-sheet/update`,
`saved_object:${version}:timelion-sheet/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/timelion-sheet/delete`,
`ui:${version}:savedObjectsManagement/timelion-sheet/edit`,
`ui:${version}:savedObjectsManagement/timelion-sheet/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:timelion/save`,
'allHack:',
],
@ -410,18 +480,18 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/timelion`,
`ui:${version}:navLinks/timelion`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:timelion-sheet/bulk_get`,
`saved_object:${version}:timelion-sheet/get`,
`saved_object:${version}:timelion-sheet/find`,
`ui:${version}:savedObjectsManagement/config/read`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/timelion-sheet/read`,
`ui:${version}:savedObjectsManagement/config/read`,
],
},
graph: {
@ -439,17 +509,27 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:graph-workspace/bulk_create`,
`saved_object:${version}:graph-workspace/update`,
`saved_object:${version}:graph-workspace/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/graph-workspace/delete`,
`ui:${version}:savedObjectsManagement/graph-workspace/edit`,
`ui:${version}:savedObjectsManagement/graph-workspace/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:graph/save`,
`ui:${version}:graph/delete`,
'allHack:',
@ -461,18 +541,18 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/graph`,
`ui:${version}:navLinks/graph`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:graph-workspace/bulk_get`,
`saved_object:${version}:graph-workspace/get`,
`saved_object:${version}:graph-workspace/find`,
`ui:${version}:savedObjectsManagement/config/read`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/graph-workspace/read`,
`ui:${version}:savedObjectsManagement/config/read`,
],
},
apm: {
@ -484,9 +564,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/apm`,
`ui:${version}:navLinks/apm`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:apm/show`,
'allHack:',
@ -515,9 +605,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:code`,
`app:${version}:kibana`,
`ui:${version}:navLinks/code`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:code/show`,
`ui:${version}:code/user`,
@ -554,17 +654,27 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:map/bulk_create`,
`saved_object:${version}:map/update`,
`saved_object:${version}:map/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/map/delete`,
`ui:${version}:savedObjectsManagement/map/edit`,
`ui:${version}:savedObjectsManagement/map/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:maps/save`,
'allHack:',
],
@ -578,15 +688,15 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:map/bulk_get`,
`saved_object:${version}:map/get`,
`saved_object:${version}:map/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/map/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/config/read`,
],
},
canvas: {
@ -604,17 +714,27 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:canvas-workpad/bulk_create`,
`saved_object:${version}:canvas-workpad/update`,
`saved_object:${version}:canvas-workpad/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/canvas-workpad/delete`,
`ui:${version}:savedObjectsManagement/canvas-workpad/edit`,
`ui:${version}:savedObjectsManagement/canvas-workpad/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:canvas/save`,
'allHack:',
],
@ -625,18 +745,18 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/canvas`,
`ui:${version}:navLinks/canvas`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:canvas-workpad/bulk_get`,
`saved_object:${version}:canvas-workpad/get`,
`saved_object:${version}:canvas-workpad/find`,
`ui:${version}:savedObjectsManagement/config/read`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/canvas-workpad/read`,
`ui:${version}:savedObjectsManagement/config/read`,
],
},
infrastructure: {
@ -655,12 +775,22 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:infrastructure-ui-source/bulk_create`,
`saved_object:${version}:infrastructure-ui-source/update`,
`saved_object:${version}:infrastructure-ui-source/delete`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/delete`,
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/edit`,
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:infrastructure/show`,
`ui:${version}:infrastructure/configureSource`,
@ -674,14 +804,14 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/infraops`,
`ui:${version}:navLinks/infra:home`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:infrastructure-ui-source/bulk_get`,
`saved_object:${version}:infrastructure-ui-source/get`,
`saved_object:${version}:infrastructure-ui-source/find`,
`ui:${version}:savedObjectsManagement/config/read`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:infrastructure/show`,
],
},
@ -701,12 +831,22 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:infrastructure-ui-source/bulk_create`,
`saved_object:${version}:infrastructure-ui-source/update`,
`saved_object:${version}:infrastructure-ui-source/delete`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/delete`,
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/edit`,
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:logs/show`,
`ui:${version}:logs/configureSource`,
@ -720,14 +860,14 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/infralogging`,
`ui:${version}:navLinks/infra:logs`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:infrastructure-ui-source/bulk_get`,
`saved_object:${version}:infrastructure-ui-source/get`,
`saved_object:${version}:infrastructure-ui-source/find`,
`ui:${version}:savedObjectsManagement/config/read`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/infrastructure-ui-source/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:logs/show`,
],
},
@ -740,9 +880,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/uptime`,
`ui:${version}:navLinks/uptime`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/config/read`,
'allHack:',
],
@ -784,20 +934,30 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:url/bulk_create`,
`saved_object:${version}:url/update`,
`saved_object:${version}:url/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/search/delete`,
`ui:${version}:savedObjectsManagement/search/edit`,
`ui:${version}:savedObjectsManagement/search/read`,
`ui:${version}:savedObjectsManagement/url/delete`,
`ui:${version}:savedObjectsManagement/url/edit`,
`ui:${version}:savedObjectsManagement/url/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:discover/show`,
`ui:${version}:discover/createShortUrl`,
`ui:${version}:discover/save`,
@ -957,9 +1117,6 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/discover`,
`ui:${version}:navLinks/kibana:discover`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
@ -969,10 +1126,13 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:url/bulk_get`,
`saved_object:${version}:url/get`,
`saved_object:${version}:url/find`,
`ui:${version}:savedObjectsManagement/config/read`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/search/read`,
`ui:${version}:savedObjectsManagement/url/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:discover/show`,
`ui:${version}:catalogue/visualize`,
`ui:${version}:navLinks/kibana:visualize`,
@ -1075,20 +1235,30 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:url/bulk_create`,
`saved_object:${version}:url/update`,
`saved_object:${version}:url/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/search/delete`,
`ui:${version}:savedObjectsManagement/search/edit`,
`ui:${version}:savedObjectsManagement/search/read`,
`ui:${version}:savedObjectsManagement/url/delete`,
`ui:${version}:savedObjectsManagement/url/edit`,
`ui:${version}:savedObjectsManagement/url/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:discover/show`,
`ui:${version}:discover/createShortUrl`,
`ui:${version}:discover/save`,
@ -1248,9 +1418,6 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/discover`,
`ui:${version}:navLinks/kibana:discover`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`saved_object:${version}:index-pattern/bulk_get`,
`saved_object:${version}:index-pattern/get`,
`saved_object:${version}:index-pattern/find`,
@ -1260,10 +1427,13 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`saved_object:${version}:url/bulk_get`,
`saved_object:${version}:url/get`,
`saved_object:${version}:url/find`,
`ui:${version}:savedObjectsManagement/config/read`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/index-pattern/read`,
`ui:${version}:savedObjectsManagement/search/read`,
`ui:${version}:savedObjectsManagement/url/read`,
`ui:${version}:savedObjectsManagement/config/read`,
`ui:${version}:discover/show`,
`ui:${version}:catalogue/visualize`,
`ui:${version}:navLinks/kibana:visualize`,
@ -1352,9 +1522,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/monitoring`,
`ui:${version}:navLinks/monitoring`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/config/read`,
],
ml: [
@ -1363,9 +1543,19 @@ export default function({ getService }: KibanaFunctionalTestDefaultProviders) {
`app:${version}:kibana`,
`ui:${version}:catalogue/ml`,
`ui:${version}:navLinks/ml`,
`saved_object:${version}:telemetry/bulk_get`,
`saved_object:${version}:telemetry/get`,
`saved_object:${version}:telemetry/find`,
`saved_object:${version}:telemetry/create`,
`saved_object:${version}:telemetry/bulk_create`,
`saved_object:${version}:telemetry/update`,
`saved_object:${version}:telemetry/delete`,
`saved_object:${version}:config/bulk_get`,
`saved_object:${version}:config/get`,
`saved_object:${version}:config/find`,
`ui:${version}:savedObjectsManagement/telemetry/delete`,
`ui:${version}:savedObjectsManagement/telemetry/edit`,
`ui:${version}:savedObjectsManagement/telemetry/read`,
`ui:${version}:savedObjectsManagement/config/read`,
],
},

View file

@ -30,14 +30,14 @@ export default function (kibana) {
all: {
savedObject: {
all: ['foo'],
read: ['index-pattern', 'config'],
read: ['index-pattern'],
},
ui: ['create', 'edit', 'delete', 'show'],
},
read: {
savedObject: {
all: [],
read: ['foo', 'index-pattern', 'config'],
read: ['foo', 'index-pattern'],
},
ui: ['show'],
}

View file

@ -59,6 +59,7 @@ export default function savedObjectsManagementTests({
'visualization',
'search',
'dashboard',
'telemetry',
'timelion-sheet',
'url',
'infrastructure-ui-source',

View file

@ -53,6 +53,7 @@ export default function savedObjectsManagementTests({
'visualization',
'search',
'dashboard',
'telemetry',
'timelion-sheet',
'url',
'infrastructure-ui-source',
@ -87,7 +88,7 @@ export default function savedObjectsManagementTests({
expect(uiCapabilities.value).to.have.property('savedObjectsManagement');
expect(uiCapabilities.value!.savedObjectsManagement).to.eql(
savedObjectsManagementBuilder.build({
all: ['foo'],
all: ['foo', 'telemetry'],
read: ['index-pattern', 'config'],
})
);