-
Notifications
You must be signed in to change notification settings - Fork 8.5k
Uptime 7.7 docs #62228
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uptime 7.7 docs #62228
Changes from 2 commits
d1863ea
fa635c9
2f97b14
bb07a42
2b6444d
979f72e
94195f9
f1cbaa0
04f723a
b1a4d47
269098e
d66bd3d
9ce7239
57790c0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,18 +2,20 @@ | |
| == Elasticsearch Security | ||
|
|
||
| If you use Elasticsearch security, you'll need to enable certain privileges for users | ||
| that would like to access the Uptime app. For example, create user and support roles to implement the privileges: | ||
| that would like to access the Uptime app and for Heartbeat as well. See the [Heartbeat Docs](https://www.elastic.co/guide/en/beats/heartbeat/current/feature-roles.html) for information on configuring Heartbeat roles. | ||
| For example, create user and support roles for both Heartbeat and Uptime users to implement the privileges: | ||
|
|
||
| [float] | ||
| === Create a role | ||
| === Create a role for privileged Uptime users | ||
|
|
||
| You'll need a role that lets you access the Heartbeat indices, which by default are `heartbeat-*`. | ||
| You'll need a role that lets you access the Heartbeat indices and adjust Uptime settings. Heartbeat indices match the pattern `heartbeat-*` by default. | ||
| You can create this with the following request: | ||
|
|
||
| ["source","sh",subs="attributes,callouts"] | ||
| --------------------------------------------------------------- | ||
| PUT /_security/role/uptime | ||
| { "indices" : [ | ||
| PUT /_security/role/uptime_all | ||
| { | ||
| "indices" : [ | ||
| { | ||
| "names" : [ | ||
| "heartbeat-*" | ||
|
|
@@ -30,6 +32,13 @@ PUT /_security/role/uptime | |
| "allow_restricted_indices" : false | ||
| } | ||
| ], | ||
| "applications": [ | ||
| { | ||
| "application": "uptime", | ||
| "privileges": [ "all" ], | ||
| "resources": [ "*" ] | ||
| } | ||
| ], | ||
| "transient_metadata" : { | ||
| "enabled" : true | ||
| } | ||
|
|
@@ -38,7 +47,7 @@ PUT /_security/role/uptime | |
| // CONSOLE | ||
|
|
||
| [float] | ||
| === Assign the role to a user | ||
| === Assign the role to a privileged user | ||
|
|
||
| Next, you'll need to create a user with both the `uptime` role, and another role with sufficient {kibana-ref}/kibana-privileges.html[Kibana privileges], | ||
| such as the `kibana_admin` role. | ||
|
|
@@ -49,7 +58,7 @@ You can do this with the following request: | |
| PUT /_security/user/jacknich | ||
| { | ||
| "password" : "j@rV1s", | ||
| "roles" : [ "uptime", "kibana_admin" ], | ||
| "roles" : [ "uptime_all", "kibana_admin" ], | ||
| "full_name" : "Jack Nicholson", | ||
| "email" : "[email protected]", | ||
| "metadata" : { | ||
|
|
@@ -58,3 +67,71 @@ PUT /_security/user/jacknich | |
| } | ||
| --------------------------------------------------------------- | ||
| // CONSOLE | ||
|
|
||
| [float] | ||
| === Create a role for read-only Uptime users | ||
|
|
||
| You'll need a role that lets users who are allowed to access the Heartbeat indices, but are not allowed to adjust Uptime settings. These users must have | ||
| their `application` privileges set to `read`, instead of `all`, as in the | ||
| example below. | ||
|
|
||
| You can create this with the following request: | ||
andrewvc marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
andrewvc marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|
|
||
| ["source","sh",subs="attributes,callouts"] | ||
| --------------------------------------------------------------- | ||
| PUT /_security/role/uptime_read | ||
| { | ||
| "indices" : [ | ||
| { | ||
| "names" : [ | ||
| "heartbeat-*" | ||
| ], | ||
| "privileges" : [ | ||
| "read", | ||
| "view_index_metadata" | ||
| ], | ||
| "field_security" : { | ||
| "grant" : [ | ||
| "*" | ||
| ] | ||
| }, | ||
| "allow_restricted_indices" : false | ||
| } | ||
| ], | ||
| "applications": [ | ||
| { | ||
| "application": "uptime", | ||
| "privileges": [ "read" ], | ||
| "resources": [ "*" ] | ||
| } | ||
| ], | ||
| "transient_metadata" : { | ||
| "enabled" : true | ||
| } | ||
| } | ||
| --------------------------------------------------------------- | ||
| // CONSOLE | ||
|
|
||
| [float] | ||
| === Assign the role to a privileged user | ||
|
|
||
| Next, you'll need to create a user with both the `uptime` role, and another role with sufficient {kibana-ref}/kibana-privileges.html[Kibana privileges], | ||
| such as the `kibana_admin` role. | ||
| You can do this with the following request: | ||
|
|
||
andrewvc marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ["source","sh",subs="attributes,callouts"] | ||
| --------------------------------------------------------------- | ||
| PUT /_security/user/uptime_reader | ||
| { | ||
| "password" : "j@rV1s", | ||
| "roles" : [ "uptime_read" ], | ||
| "full_name" : "Jack Nicholson", | ||
| "email" : "[email protected]", | ||
| "metadata" : { | ||
| "intelligence" : 7 | ||
| } | ||
| } | ||
| --------------------------------------------------------------- | ||
| // CONSOLE | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| [role="xpack"] | ||
| [[uptime-settings]] | ||
|
|
||
| == Settings | ||
|
|
||
| [role="screenshot"] | ||
| image::uptime/images/settings.png[Filter bar] | ||
|
|
||
| The Uptime settings page lets you change which Heartbeat indices are displayed | ||
| by the uptime app. Users must have the 'all' permission to modify items on this page. | ||
| Uptime settings apply to the current space only. Use different settings in different | ||
| spaces to segment different uptime use cases and domains. | ||
|
|
||
| As an example, imagine your organization one team for internal IT services, and another | ||
andrewvc marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| for public services. Each team operates independently and is only responsible for their | ||
andrewvc marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| own services. In this scenario you might setup separate Heartbeat instances for each team, | ||
andrewvc marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| writing out to index patterns named `it-heartbeat-\*`, and `external-heartbeat-\*`. You would | ||
| create separate roles and users for each in Elasticsearch, each with access to their own spaces, | ||
| named `it` and `external` respectively. Within each space you would navigate to the settings page | ||
| and set the correct index pattern to match only the indices that space is allowed to access. | ||
|
||
|
|
||
| Note that the pattern set here only restricts what the Uptime app shows. Users may still be able | ||
| to manually query Elasticsearch for data outside this pattern! | ||
|
|
||
| See the https://www.elastic.co/guide/en/uptime/current/uptime-security.html[Uptime Elasticsearch Security] | ||
| and [Heartbeat security](https://www.elastic.co/guide/en/beats/heartbeat/current/feature-roles.html) | ||
| docs for more information. | ||
andrewvc marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
Uh oh!
There was an error while loading. Please reload this page.