Versions: Logstash 8.4.0, OpenSearch & OpenSearch Dashboards 2.3.0
I’m running into permissions issues when moving my Logstash output from an alias-based approach to the data stream approach.
Relevant Logstash configuration: write to the data stream named logstash with create action.
index => 'logstash'
action => "create"
The logstash user previously had the permissions associated with the built-in logstash role:
"cluster_permissions" : [
"cluster_monitor",
"cluster_composite_ops",
"indices:admin/template/get",
"indices:admin/template/put",
"cluster:admin/ingest/pipeline/put",
"cluster:admin/ingest/pipeline/get"
],
"index_permissions" : [
{
"index_patterns" : [
"logstash-*"
],
"fls" : [ ],
"masked_fields" : [ ],
"allowed_actions" : [
"crud",
"create_index"
]
},
{
"index_patterns" : [
"*beat*"
],
"fls" : [ ],
"masked_fields" : [ ],
"allowed_actions" : [
"crud",
"create_index"
]
}
],
"tenant_permissions" : [ ],
This set of permissions leads to MISSING_PRIVILEGES
messages on the indices:admin/mapping/auto_put
action.
Action groups I’ve tried out in vain, both on cluster and on index pattern level (I realize that several of these should not be needed):
create_index
indices:admin/data_stream/create
manage
manage_data_streams
indices_all
The granular permission indices:admin/mapping/auto_put
is not present in the permissions list.
Which action group / granular permissions does the logstash user need, at a minimum, to be able output to a data stream in opensearch? And on which level should these permissions be added?