Skip to content

Commit

Permalink
Add -all & -read tags for HTTP routes
Browse files Browse the repository at this point in the history
  • Loading branch information
John Schulz committed Mar 11, 2020
1 parent 518ae4e commit 53d0ce3
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 50 deletions.
34 changes: 14 additions & 20 deletions x-pack/plugins/ingest_manager/server/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,16 @@ export interface IngestManagerAppContext {
savedObjects: SavedObjectsServiceStart;
}

const allSavedObjectTypes = [
OUTPUT_SAVED_OBJECT_TYPE,
AGENT_CONFIG_SAVED_OBJECT_TYPE,
DATASOURCE_SAVED_OBJECT_TYPE,
PACKAGES_SAVED_OBJECT_TYPE,
AGENT_SAVED_OBJECT_TYPE,
AGENT_EVENT_SAVED_OBJECT_TYPE,
ENROLLMENT_API_KEYS_SAVED_OBJECT_TYPE,
];

export class IngestManagerPlugin implements Plugin {
private config$: Observable<IngestManagerConfigType>;
private security: SecurityPluginSetup | undefined;
Expand All @@ -77,34 +87,18 @@ export class IngestManagerPlugin implements Plugin {
app: [PLUGIN_ID, 'kibana'],
privileges: {
all: {
api: [PLUGIN_ID],
api: [`${PLUGIN_ID}-read`, `${PLUGIN_ID}-all`],
savedObject: {
all: [
OUTPUT_SAVED_OBJECT_TYPE,
AGENT_CONFIG_SAVED_OBJECT_TYPE,
DATASOURCE_SAVED_OBJECT_TYPE,
PACKAGES_SAVED_OBJECT_TYPE,
AGENT_SAVED_OBJECT_TYPE,
AGENT_EVENT_SAVED_OBJECT_TYPE,
ENROLLMENT_API_KEYS_SAVED_OBJECT_TYPE,
],
all: allSavedObjectTypes,
read: [],
},
ui: ['show', 'read', 'write'],
},
read: {
api: [PLUGIN_ID],
api: [`${PLUGIN_ID}-read`],
savedObject: {
all: [],
read: [
OUTPUT_SAVED_OBJECT_TYPE,
AGENT_CONFIG_SAVED_OBJECT_TYPE,
DATASOURCE_SAVED_OBJECT_TYPE,
PACKAGES_SAVED_OBJECT_TYPE,
AGENT_SAVED_OBJECT_TYPE,
AGENT_EVENT_SAVED_OBJECT_TYPE,
ENROLLMENT_API_KEYS_SAVED_OBJECT_TYPE,
],
read: allSavedObjectTypes,
},
ui: ['show', 'read'],
},
Expand Down
14 changes: 7 additions & 7 deletions x-pack/plugins/ingest_manager/server/routes/agent/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_API_ROUTES.INFO_PATTERN,
validate: GetOneAgentRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getAgentHandler
);
Expand All @@ -51,7 +51,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_API_ROUTES.UPDATE_PATTERN,
validate: UpdateAgentRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
updateAgentHandler
);
Expand All @@ -60,7 +60,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_API_ROUTES.DELETE_PATTERN,
validate: DeleteAgentRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
deleteAgentHandler
);
Expand All @@ -69,7 +69,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_API_ROUTES.LIST_PATTERN,
validate: GetAgentsRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getAgentsHandler
);
Expand Down Expand Up @@ -108,7 +108,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_API_ROUTES.UNENROLL_PATTERN,
validate: PostAgentUnenrollRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
postAgentsUnenrollHandler
);
Expand All @@ -118,7 +118,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_API_ROUTES.EVENTS_PATTERN,
validate: GetOneAgentEventsRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getAgentEventsHandler
);
Expand All @@ -128,7 +128,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_API_ROUTES.STATUS_PATTERN,
validate: GetAgentStatusRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getAgentStatusForConfigHandler
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_CONFIG_API_ROUTES.LIST_PATTERN,
validate: GetAgentConfigsRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getAgentConfigsHandler
);
Expand All @@ -38,7 +38,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_CONFIG_API_ROUTES.INFO_PATTERN,
validate: GetOneAgentConfigRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getOneAgentConfigHandler
);
Expand All @@ -48,7 +48,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_CONFIG_API_ROUTES.CREATE_PATTERN,
validate: CreateAgentConfigRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
createAgentConfigHandler
);
Expand All @@ -58,7 +58,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_CONFIG_API_ROUTES.UPDATE_PATTERN,
validate: UpdateAgentConfigRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
updateAgentConfigHandler
);
Expand All @@ -68,7 +68,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_CONFIG_API_ROUTES.DELETE_PATTERN,
validate: DeleteAgentConfigsRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
deleteAgentConfigsHandler
);
Expand All @@ -78,7 +78,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: AGENT_CONFIG_API_ROUTES.FULL_INFO_PATTERN,
validate: GetFullAgentConfigRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getFullAgentConfig
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: DATASOURCE_API_ROUTES.LIST_PATTERN,
validate: GetDatasourcesRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getDatasourcesHandler
);
Expand All @@ -34,7 +34,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: DATASOURCE_API_ROUTES.INFO_PATTERN,
validate: GetOneDatasourceRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getOneDatasourceHandler
);
Expand All @@ -44,7 +44,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: DATASOURCE_API_ROUTES.CREATE_PATTERN,
validate: CreateDatasourceRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
createDatasourceHandler
);
Expand All @@ -54,7 +54,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: DATASOURCE_API_ROUTES.UPDATE_PATTERN,
validate: UpdateDatasourceRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
updateDatasourceHandler
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: ENROLLMENT_API_KEY_ROUTES.INFO_PATTERN,
validate: GetOneEnrollmentAPIKeyRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getOneEnrollmentApiKeyHandler
);
Expand All @@ -32,7 +32,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: ENROLLMENT_API_KEY_ROUTES.DELETE_PATTERN,
validate: DeleteEnrollmentAPIKeyRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
deleteEnrollmentApiKeyHandler
);
Expand All @@ -41,7 +41,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: ENROLLMENT_API_KEY_ROUTES.LIST_PATTERN,
validate: GetEnrollmentAPIKeysRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getEnrollmentApiKeysHandler
);
Expand All @@ -50,7 +50,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: ENROLLMENT_API_KEY_ROUTES.CREATE_PATTERN,
validate: PostEnrollmentAPIKeyRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
postEnrollmentApiKeyHandler
);
Expand Down
12 changes: 6 additions & 6 deletions x-pack/plugins/ingest_manager/server/routes/epm/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: EPM_API_ROUTES.CATEGORIES_PATTERN,
validate: false,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getCategoriesHandler
);
Expand All @@ -35,7 +35,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: EPM_API_ROUTES.LIST_PATTERN,
validate: GetPackagesRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getListHandler
);
Expand All @@ -44,7 +44,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: EPM_API_ROUTES.FILEPATH_PATTERN,
validate: GetFileRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getFileHandler
);
Expand All @@ -53,7 +53,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: EPM_API_ROUTES.INFO_PATTERN,
validate: GetInfoRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getInfoHandler
);
Expand All @@ -62,7 +62,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: EPM_API_ROUTES.INSTALL_PATTERN,
validate: InstallPackageRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
installPackageHandler
);
Expand All @@ -71,7 +71,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: EPM_API_ROUTES.DELETE_PATTERN,
validate: DeletePackageRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
deletePackageHandler
);
Expand Down
8 changes: 5 additions & 3 deletions x-pack/plugins/ingest_manager/server/routes/setup/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ export const registerRoutes = (router: IRouter) => {
{
path: SETUP_API_ROUTE,
validate: false,
options: { tags: [`access:${PLUGIN_ID}`] },
// if this route is set to `-all`, a read-only user get a 404 for this route
// and will see `Unable to initialize Ingest Manager` in the UI
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
ingestManagerSetupHandler
);
Expand All @@ -27,7 +29,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: FLEET_SETUP_API_ROUTES.INFO_PATTERN,
validate: GetFleetSetupRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-read`] },
},
getFleetSetupHandler
);
Expand All @@ -37,7 +39,7 @@ export const registerRoutes = (router: IRouter) => {
{
path: FLEET_SETUP_API_ROUTES.CREATE_PATTERN,
validate: CreateFleetSetupRequestSchema,
options: { tags: [`access:${PLUGIN_ID}`] },
options: { tags: [`access:${PLUGIN_ID}-all`] },
},
createFleetSetupHandler
);
Expand Down

0 comments on commit 53d0ce3

Please sign in to comment.