Я хочу разделить пользователя на основе следующих потребностей:
- Роль, которая имеет право выполнять только операции с Кибаной.
- Роль, которая имеет право выполнять только операции с Logstash.
когда Создание / обновление роли, вы можете найти все действующие привилегии в привилегии безопасности документации elasticsearch 7.x, затем добавьте / удалите некоторые из них в роли, которую вы обновляете.
Приведенная ниже настройка ролей должна охватывать типичные варианты использования Kibana и Logstash:
- For Logstash user
- add
manage_index_templates
to cluster privilege list
- добавить
create_index
и index
в список привилегий индексации для каждого шаблона индекса
- вам может понадобиться
create
или create_doc
в списке привилегий индекса, если вы создаете поле _id
документа извне (вместо автоматически сгенерированного идентификатора с помощью elasticsearch)
- назначьте новую роль, которую вы создали, любым пользователям, которые вам нравятся
# Quick example, with POST request /_security/role/my_logstash_role
{
"cluster": ["manage_index_templates"],
"indices": [
{
"names": [ "logstash-*", "YOUR_INDEX_PATTERN_2" ],
"privileges": ["create_index", "index"],
}
],
"applications": [
{
"application": "YOUR_APP_NAME",
"privileges": [ "YOUR_APP_PRIV" ],
}
],
}
- For Kibana user
- add
read
to indice privilege list, for each index pattern
- назначьте новую роль, которую вы создали, и встроенную роль
kibana_system
любым пользователям, которые вам нравятся, обратите внимание, что kibana_system
включает (1) привилегию кластера с именем monitor
и (2) права доступа к некоторым шаблонам индекса, например .kibana*
, .reporting-*
, .monitoring-*
, которые требуются Кибане.
- если вы также используете консоль DevTool от Kibana для взаимодействия с REST API elasticsearch вам может потребоваться добавить несколько дополнительных привилегий, таких как _15 _, _ 16 _, _ 17_ ... и т. д. для роли, которая сильно зависит от конечных точек API, которые вы пытаетесь вызвать.
# Quick example, with POST request /_security/role/my_kibana_role
{
"cluster": [],
"indices": [
{
"names": [ "logstash-*", "YOUR_INDEX_PATTERN_2" ],
"privileges": ["read"],
}
],
"applications": [
{
"application": "YOUR_APP_NAME",
"privileges": [ "YOUR_CUSTOM_APP_PRIV" ],
}
],
}
person
Han
schedule
17.12.2020