@@ -41,27 +41,32 @@ the following privileges:
41
41
+
42
42
[options="header"]
43
43
|====
44
- |Privileges | Why needed?
44
+ |Type | Privilege | Purpose
45
45
46
+ |Cluster
46
47
|`monitor`
47
- |Send monitoring data to the cluster
48
+ |Retrieve cluster details (e.g. version)
48
49
49
50
ifndef::no_ilm[]
51
+ |Cluster
50
52
|`manage_ilm`
51
53
|Set up and manage index lifecycle management (ILM) policy
52
54
endif::no_ilm[]
53
55
54
56
ifdef::has_ml_jobs[]
57
+ |Cluster
55
58
|`manage_ml`
56
- |Set up machine learning job configurations
59
+ |Set up Machine Learning job configurations
57
60
endif::has_ml_jobs[]
58
61
62
+ |Index
59
63
|`manage` on +{beat_default_index_prefix}-*+ indices
60
64
|Set up aliases used by ILM
61
65
62
66
ifdef::has_ml_jobs[]
67
+ |Index
63
68
|`read` on +{beat_default_index_prefix}-*+ indices
64
- |Read {beatname_uc} indices in order to set up machine learning jobs
69
+ |Read {beatname_uc} indices in order to set up Machine Learning jobs
65
70
endif::has_ml_jobs[]
66
71
|====
67
72
+
@@ -76,7 +81,7 @@ need to set up {beatname_uc}:
76
81
+
77
82
[options="header"]
78
83
|====
79
- |Roles | Why needed?
84
+ |Role | Purpose
80
85
81
86
|`kibana_user`
82
87
|Load dependencies, such as example dashboards, if available, into {kib}
@@ -122,21 +127,23 @@ If you don't use the +{beat_default_index_prefix}_system+ user:
122
127
+
123
128
[options="header"]
124
129
|====
125
- |Privileges | Why needed?
130
+ |Type | Privilege | Purpose
126
131
132
+ |Cluster
127
133
|`monitor`
128
- |Send monitoring info
129
-
130
- |`kibana_user`
131
- |Use {kib}
134
+ |Retrieve cluster details (e.g. version)
132
135
|====
133
136
134
- . Assign the *monitoring role*, along with the following built-in role , to
137
+ . Assign the *monitoring role*, along with the following built-in roles , to
135
138
users who need to monitor {beatname_uc}:
136
139
+
137
140
[options="header"]
138
141
|====
139
- |Role | Why needed?
142
+ |Role | Purpose
143
+
144
+ |`kibana_user`
145
+ |Use {kib}
146
+
140
147
|`monitoring_user`
141
148
|Use *Stack Monitoring* in {kib} to monitor {beatname_uc}
142
149
|====
@@ -164,19 +171,22 @@ information.
164
171
+
165
172
[options="header"]
166
173
|====
167
- |Role | Why needed?
174
+ |Role | Purpose
175
+
168
176
|`remote_monitoring_collector`
169
177
|Collect monitoring metrics from {beatname_uc}
178
+
170
179
|`remote_monitoring_agent`
171
180
|Send monitoring data to the monitoring cluster
172
181
|====
173
182
174
183
. Assign the following role to users who will view the monitoring data in
175
184
{kib}:
176
-
185
+ +
177
186
[options="header"]
178
187
|====
179
- |Role | Why needed?
188
+ |Role | Purpose
189
+
180
190
|`monitoring_user`
181
191
|Use *Stack Monitoring* in {kib} to monitor {beatname_uc}
182
192
|====
@@ -185,71 +195,73 @@ endif::serverless[]
185
195
[[privileges-to-publish-events]]
186
196
==== Grant privileges and roles needed for publishing
187
197
188
- Users who publish events to {es} need to create and read from {beatname_uc}
198
+ Users who publish events to {es} need to create and write to {beatname_uc}
189
199
indices. To minimize the privileges required by the writer role, you can use the
190
- <<privileges-to-setup-beats,setup role>> to pre-load dependencies. Then turn off
191
- setup options in the {beatname_uc} config file before running {beatname_uc} to
192
- publish events. For example:
200
+ <<privileges-to-setup-beats,setup role>> to pre-load dependencies.
193
201
194
202
ifndef::no_ilm[]
195
- [source,yaml]
196
- ----
197
- setup.template.enabled: false
198
- setup.ilm.check_exists: false
199
- setup.ilm.overwrite: false <1>
200
- ----
201
- <1> Omit `ilm.check_exists` and `ilm.overwrite` if ILM is disabled.
202
- endif::no_ilm[]
203
+ When using ILM, turn off the ILM setup check in the {beatname_uc} config file before
204
+ running {beatname_uc} to publish events:
203
205
204
- ifdef::no_ilm[]
205
206
[source,yaml]
206
207
----
207
- setup.template.enabled : false
208
+ setup.ilm.check_exists : false
208
209
----
209
210
endif::no_ilm[]
210
211
211
212
To grant the required privileges:
212
213
213
- . Create a *writer role*, called something like +{beat_default_index_prefix}_writer+, that has
214
- the following privileges (this list assumes the setup options shown earlier are
215
- set to `false`):
214
+ . Create a *writer role*, called something like +{beat_default_index_prefix}_writer+,
215
+ that has the following privileges:
216
+ +
217
+ NOTE: The `monitor` cluster privilege and the `create_doc` privilege on
218
+ +{beat_default_index_prefix}-*+ indices are required in every configuration.
216
219
+
217
220
[options="header"]
218
221
|====
219
- |Privileges | Why needed?
222
+ |Type | Privilege | Purpose
220
223
221
224
ifndef::apm-server[]
225
+ |Cluster
222
226
|`monitor`
223
- |Send monitoring info
227
+ |Retrieve cluster details (e.g. version)
224
228
endif::apm-server[]
225
229
226
230
ifndef::no_ilm[]
231
+ |Cluster
227
232
|`read_ilm`
228
- |Read the ILM policy when connecting to clusters that support ILM
233
+ | Read the ILM policy when connecting to clusters that support ILM.
234
+ Not needed when `setup.ilm.check_exists` is `false`.
229
235
endif::no_ilm[]
230
236
231
237
ifeval::["{beatname_lc}"=="filebeat"]
232
- |`manage_pipeline`
233
- |Load ingest pipelines used by modules
238
+ |Cluster
239
+ |`cluster:admin/ingest/pipeline/get`
240
+ |Check for ingest pipelines used by modules. Needed when using modules.
234
241
endif::[]
235
242
243
+ |Index
244
+ |`create_doc` on +{beat_default_index_prefix}-*+ indices
245
+ |Write events into {es}
246
+
236
247
ifndef::no_ilm[]
248
+ |Index
237
249
|`view_index_metadata` on +{beat_default_index_prefix}-*+ indices
238
- |Check for alias when connecting to clusters that support ILM
250
+ |Check for alias when connecting to clusters that support ILM.
251
+ Not needed when `setup.ilm.check_exists` is `false`.
239
252
endif::no_ilm[]
240
253
241
- |`index` on +{beat_default_index_prefix}-*+ indices
242
- |Index events into {es}
243
-
254
+ |Index
244
255
|`create_index` on +{beat_default_index_prefix}-*+ indices
245
- |Create daily indices when connecting to clusters that do not support ILM
256
+ |Create daily indices when connecting to clusters that do not support ILM.
257
+ Not needed when using ILM.
246
258
|====
247
259
ifndef::apm-server[]
248
260
+
249
261
Omit any privileges that aren't relevant in your environment.
250
262
endif::apm-server[]
251
263
252
- . Assign the *writer role* to users who will index events into {es}.
264
+ . Assign the *writer role* to users who will index events into {es}.
253
265
254
266
[[kibana-user-privileges]]
255
267
==== Grant privileges and roles needed to read {beatname_uc} data
@@ -270,8 +282,9 @@ the following privilege:
270
282
+
271
283
[options="header"]
272
284
|====
273
- |Privilege | Why needed?
285
+ |Type | Privilege | Purpose
274
286
287
+ |Index
275
288
|`read` on +{beat_default_index_prefix}-*+ indices
276
289
|Read data indexed by {beatname_uc}
277
290
|====
@@ -281,7 +294,7 @@ users who need to read {beatname_uc} data:
281
294
+
282
295
[options="header"]
283
296
|====
284
- |Roles | Why needed?
297
+ |Role | Purpose
285
298
286
299
|`kibana_user` or `kibana_dashboard_only_user`
287
300
|Use {kib}. `kibana_dashboard_only_user` grants read-only access to dashboards.
@@ -302,10 +315,11 @@ data:
302
315
+
303
316
[options="header"]
304
317
|====
305
- |Roles | Why needed?
318
+ |Role | Purpose
306
319
307
320
|`kibana_user` and `apm_user`
308
321
|Use the APM UI
322
+
309
323
|`admin`
310
324
|Read and update APM Agent configuration via Kibana
311
325
|====
0 commit comments