#elasticsearch #aws-elasticsearch
Вопрос:
Я столкнулся с самой странной проблемой с разрешениями для _msearch
.
При запуске simple _search с одним и тем же запросом все работает идеально.
POST /job/_search
{"query":{"bool":{"must":[{"bool":{"must":{"bool":{"should":[{"multi_match":{"query":"s","fields":["title"],"type":"best_fields","operator":"or","fuzziness":2}},{"multi_match":{"query":"s","fields":["title"],"type":"phrase","operator":"or"}},{"multi_match":{"query":"s","fields":["title"],"type":"phrase_prefix","operator":"or"}}],"minimum_should_match":"1"}}}}]}},"size":10,"_source":{"includes":["*"],"excludes":[]}}
При запуске с _msearch
ним я получаю ошибку разрешения
POST /job/_msearch
{}
{"query":{"bool":{"must":[{"bool":{"must":{"bool":{"should":[{"multi_match":{"query":"s","fields":["title"],"type":"best_fields","operator":"or","fuzziness":2}},{"multi_match":{"query":"s","fields":["title"],"type":"phrase","operator":"or"}},{"multi_match":{"query":"s","fields":["title"],"type":"phrase_prefix","operator":"or"}}],"minimum_should_match":"1"}}}}]}},"size":10,"_source":{"includes":["*"],"excludes":[]}}
{
"error": {
"root_cause": [
{
"type": "security_exception",
"reason": "no permissions for [indices:data/read/msearch] and User [name=public_api, backend_roles=[], requestedTenant=null]"
}
],
"type": "security_exception",
"reason": "no permissions for [indices:data/read/msearch] and User [name=public_api, backend_roles=[], requestedTenant=null]"
},
"status": 403
}
Вот мои разрешения в Кибане:
Я запускаю OpenDistro в сервисе AWS ElasticSearch.
Ответ №1:
Я решил вышеуказанную проблему с разрешениями, выполнив следующие действия
- Войдите в систему с
Kibana
помощьюadmin
или пользователя сhigher previledges
- Нажмите
security
кнопку опция - Нажмите
roles
«Опция», а затем выберите желаемую роль для вашего пользователя в соответствии с вашими требованиями. В моем случае пользователю требуется весь доступ, поэтому выбраннаяall_access
роль - Нажмите
Mapped users
, затем выберитеManage mapping
опцию. - В
Users
разделе введите/вставьтеIAM-arn/internal-user
, а затем нажмите enter - Наконец, щелкните по карте
Вот и все, пользователь будет сопоставлен с ролью и соответствующими разрешениями, после чего вы не столкнетесь с проблемой разрешений, упомянутой в вопросе