[console] Add REST API Authz content (#205183)

## Summary

Part of https://github.com/elastic/kibana/issues/204681
This commit is contained in:
Matthew Kime 2025-01-06 11:45:01 -06:00 committed by GitHub
parent 3d6711bb95
commit 1128787cd1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 48 additions and 14 deletions

View file

@ -90,6 +90,12 @@ export const registerAutocompleteEntitiesRoute = (deps: RouteDependencies) => {
options: {
tags: ['access:console'],
},
security: {
authz: {
enabled: false,
reason: 'Relies on es client for authorization',
},
},
validate: autoCompleteEntitiesValidationConfig,
},
async (context, request, response) => {

View file

@ -11,19 +11,31 @@ import { EsConfigApiResponse } from '../../../../../common/types/api_responses';
import { RouteDependencies } from '../../..';
export const registerEsConfigRoute = ({ router, services }: RouteDependencies): void => {
router.get({ path: '/api/console/es_config', validate: false }, async (ctx, req, res) => {
const cloudUrl = services.esLegacyConfigService.getCloudUrl();
if (cloudUrl) {
const body: EsConfigApiResponse = { host: cloudUrl };
router.get(
{
path: '/api/console/es_config',
security: {
authz: {
enabled: false,
reason: 'Low effort request for config content',
},
},
validate: false,
},
async (ctx, req, res) => {
const cloudUrl = services.esLegacyConfigService.getCloudUrl();
if (cloudUrl) {
const body: EsConfigApiResponse = { host: cloudUrl };
return res.ok({ body });
}
const {
hosts: [host],
} = await services.esLegacyConfigService.readConfig();
const body: EsConfigApiResponse = { host };
return res.ok({ body });
}
const {
hosts: [host],
} = await services.esLegacyConfigService.readConfig();
const body: EsConfigApiResponse = { host };
return res.ok({ body });
});
);
};

View file

@ -17,12 +17,16 @@ export const registerProxyRoute = (deps: RouteDependencies) => {
{
path: '/api/console/proxy',
options: {
tags: ['access:console'],
body: {
output: 'stream',
parse: false,
},
},
security: {
authz: {
requiredPrivileges: ['console'],
},
},
validate: routeValidationConfig,
},
createHandler(deps)

View file

@ -32,5 +32,17 @@ export const registerSpecDefinitionsRoute = ({ router, services }: RouteDependen
});
};
router.get({ path: '/api/console/api_server', validate: false }, handler);
router.get(
{
path: '/api/console/api_server',
security: {
authz: {
enabled: false,
reason: 'Low effort request for config info',
},
},
validate: false,
},
handler
);
};