Original install method (e.g. download page, yum, from source, etc.):
from source
Describe the bug:
When a user with read access to observability (but no heartbeat ES permissions) attempts to view data in Exploratory View, they see an infinite request loop.
Steps to reproduce:
Create a user and assign them a role with read-all Kibana privileges. Do not grant them any ES-level permissions.
Run Heartbeat to index some Uptime data.
As your test user, log in and navigate to the Uptime app.
Click the "Explore data" link in the header.
Observe that the Exploratory View is unusable.
Expected behavior:
There should be a simple error message, informing the user that they don't have permission to view this page and it's a no-op.
Screenshots (if relevant):
Permissions for test user:
No ES permissions:
Kibana permissions (read everything is fine):
Animation of what exp. view does for test user:
Provide logs and/or server output (if relevant):
Error example from server output:
[2022-01-14T09:31:23.880-05:00][ERROR][http] ResponseError: security_exception: [security_exception] Reason: action [indices:data/read/search] is unauthorized for user [test-user] with roles [test-role], this action is granted by the index privileges [read,all]
at KibanaTransport.request (~/kibana/node_modules/@elastic/transport/src/Transport.ts:517:17)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Client.CountApi [as count] (~/kibana/node_modules/@elastic/elasticsearch/src/api/api/count.ts:79:10)
at Object.count (~/kibana/x-pack/plugins/uptime/server/lib/lib.ts:120:15)
at Object.getIndexStatus (~/kibana/x-pack/plugins/uptime/server/lib/requests/get_index_status.ts:22:7)
at handler (~/kibana/x-pack/plugins/uptime/server/rest_api/index_state/get_index_status.ts:17:12)
at handler (~/kibana/x-pack/plugins/uptime/server/rest_api/uptime_route_wrapper.ts:49:17)
at Router.handle (~/kibana/src/core/server/http/router/router.ts:275:30)
at handler (~/kibana/src/core/server/http/router/router.ts:230:13)
at exports.Manager.execute (~/kibana/node_modules/@hapi/hapi/lib/toolkit.js:60:28)
at Object.internals.handler (~/kibana/node_modules/@hapi/hapi/lib/handler.js:46:20)
at exports.execute (~/kibana/node_modules/@hapi/hapi/lib/handler.js:31:20)
at Request._lifecycle (~/kibana/node_modules/@hapi/hapi/lib/request.js:371:32)
at Request._execute (~/kibana/node_modules/@hapi/hapi/lib/request.js:281:9)
Kibana version:
8.1
Elasticsearch version:
8.1
Server OS version:
macOS
Browser version:
Chrome 97
Browser OS version:
macOS
Original install method (e.g. download page, yum, from source, etc.):
from source
Describe the bug:
When a user with read access to observability (but no heartbeat ES permissions) attempts to view data in Exploratory View, they see an infinite request loop.
Steps to reproduce:
Expected behavior:
There should be a simple error message, informing the user that they don't have permission to view this page and it's a no-op.
Screenshots (if relevant):
Permissions for test user:
No ES permissions:
Kibana permissions (read everything is fine):
Animation of what exp. view does for test user:
Provide logs and/or server output (if relevant):
Error example from server output:
Any additional context: