I am trying to setup one role to have read permission on particular fields, but the testing is a bit confusing.
In Role Management, I choose one indice with Read privilege, and then turn on the Grant Access to specific field and choose a few fields.
{
"doc-readonly" : {
"cluster" : [ ],
"indices" : [
{
"names" : [
"myfirstfsjob*"
],
"privileges" : [
"read"
],
"field_security" : {
"grant" : [
"content",
"path.real.fulltext",
"meta.keywords"
],
"except" : [ ]
},
"allow_restricted_indices" : false
}
],
"applications" : [ ],
"run_as" : [
"elastic"
],
"metadata" : { },
"transient_metadata" : {
"enabled" : true
}
}
}
Now in Kibana, I am not able to query any data (while the same query returns result prior to the role setup).
Here is the Kibana query result (using readonly aka ro):
At the same time, the GET _Search API returns all documents (Unexpected) with the list of fields (Expected).
Here is the excerpt of the return (using 'ro' user which has 'doc-readonly' role):
sni@elk:~$ sudo curl -H 'Content-Type: application/json' -s --cacert ca.crt -u ro:xxx -XPOST https://localhost:9200/_search?pretty&q=content:DBS
[1] 7424
sni@elk:~$ {
"took" : 6,
"timed_out" : false,
"_shards" : {
"total" : 2,
"successful" : 2,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 10000,
"relation" : "gte"
},
"max_score" : 1.0,
"hits" : [
{
Any thoughts?