Skip to content

Commit

Permalink
Unauthorized route migration for routes owned by stack-monitoring (#1…
Browse files Browse the repository at this point in the history
…98372)

### Authz API migration for unauthorized routes

This PR migrates unauthorized routes owned by your team to a new
security configuration.
Please refer to the documentation for more information: [Authorization
API](https://docs.elastic.dev/kibana-dev-docs/key-concepts/security-api-authorization)

### **Before migration:**
```ts
router.get({
  path: '/api/path',
  ...
}, handler);
```

### **After migration:**
```ts
router.get({
  path: '/api/path',
  security: {
    authz: {
      enabled: false,
      reason: 'This route is opted out from authorization because ...',
    },
  },
  ...
}, handler);
```

### What to do next?
1. Review the changes in this PR.
2. Elaborate on the reasoning to opt-out of authorization.
3. Routes without a compelling reason to opt-out of authorization should
plan to introduce them as soon as possible.
2. You might need to update your tests to reflect the new security
configuration:
  - If you have snapshot tests that include the route definition.

## Any questions?
If you have any questions or need help with API authorization, please
reach out to the `@elastic/kibana-security` team.

---------

Co-authored-by: consulthys <[email protected]>
  • Loading branch information
kibanamachine and consulthys authored Dec 27, 2024
1 parent 9865da3 commit 03999da
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ export function registerDynamicRoute({
router.get(
{
path: `${MONITORING_COLLECTION_BASE_PATH}/{type}`,
security: {
authz: {
enabled: false,
reason:
'This route is opted out from authorization because it is only retrieving the ES cluster UUID',
},
},
options: {
access: 'internal',
authRequired: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ export function registerV1PrometheusRoute({
router.get(
{
path: PROMETHEUS_PATH,
security: {
authz: {
enabled: false,
reason:
'This route is opted out from authorization because it is not interacting with ES at all',
},
},
options: {
authRequired: true,
tags: ['api'], // ensures that unauthenticated calls receive a 401 rather than a 302 redirect to login page
Expand Down

0 comments on commit 03999da

Please sign in to comment.