@bailu I’ve tested your user and roles settings. I’ve reproduced the reported 500 error.
I workaround it by adding get permission to .kibana indices
{
"testrole" : {
"reserved" : false,
"hidden" : false,
"cluster_permissions" : [
"cluster_composite_ops_ro"
],
"index_permissions" : [
{
"index_patterns" : [
"test-*"
],
"dls" : "",
"fls" : [ ],
"masked_fields" : [ ],
"allowed_actions" : [
"indices_all"
]
},
{
"index_patterns" : [
".kibana*"
],
"dls" : "",
"fls" : [ ],
"masked_fields" : [ ],
"allowed_actions" : [
"get"
]
}
],
"tenant_permissions" : [ ],
"static" : false
}
}
Below is my working update
curl --insecure -u pablo:Eliatra123 -H "osd-sxrf:true" -H "securitytenant: private" https://docker4.pablo.local:5601/api/saved_objects/_find?type=index-pattern|jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1045 100 1045 0 0 49816 0 --:--:-- --:--:-- --:--:-- 52250
{
"page": 1,
"per_page": 20,
"total": 1,
"saved_objects": [
{
"type": "index-pattern",
"id": "e3f98ea0-4872-11f0-8a07-97cbb95021c9",
"attributes": {
"title": "test*",
"fields": "[{\"count\":0,\"name\":\"_id\",\"type\":\"string\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_index\",\"type\":\"string\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_score\",\"type\":\"number\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_source\",\"type\":\"_source\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_type\",\"type\":\"string\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false}]"
},
"references": [],
"migrationVersion": {
"index-pattern": "7.6.0"
},
"updated_at": "2025-06-13T16:24:33.674Z",
"version": "WzEsMV0=",
"namespaces": [
"default"
],
"score": 0
}
]
}
curl -X PUT "https://docker4.pablo.local:5601/api/saved_objects/index-pattern/e3f98ea0-4872-11f0-8a07-97cbb95021c9" \
-H "osd-xsrf: true" \
-H "Content-Type: application/json" \
-H "securitytenant: private" \
-u pablo:Eliatra123 \
-d '{
"attributes": {
"title": "index-pattern-name-*",
"timeFieldName": "@timestamp"
}
}' -k
{"id":"e3f98ea0-4872-11f0-8a07-97cbb95021c9","type":"index-pattern","updated_at":"2025-06-13T16:30:47.274Z","version":"WzQsMV0=","namespaces":["default"],"attributes":{"title":"index-pattern-name-*","timeFieldName":"@timestamp"}}
curl --insecure -u pablo:Eliatra123 -H "osd-sxrf:true" -H "securitytenant: private" https://docker4.pablo.local:5601/api/saved_objects/_find?type=index-pattern|jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1089 100 1089 0 0 50342 0 --:--:-- --:--:-- --:--:-- 51857
{
"page": 1,
"per_page": 20,
"total": 1,
"saved_objects": [
{
"type": "index-pattern",
"id": "e3f98ea0-4872-11f0-8a07-97cbb95021c9",
"attributes": {
"title": "index-pattern-name-*",
"fields": "[{\"count\":0,\"name\":\"_id\",\"type\":\"string\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_index\",\"type\":\"string\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_score\",\"type\":\"number\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_source\",\"type\":\"_source\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"count\":0,\"name\":\"_type\",\"type\":\"string\",\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false}]",
"timeFieldName": "@timestamp"
},
"references": [],
"migrationVersion": {
"index-pattern": "7.6.0"
},
"updated_at": "2025-06-13T16:30:47.274Z",
"version": "WzQsMV0=",
"namespaces": [
"default"
],
"score": 0
}
]
}