AWS OpenSearch предоставляет пользователю доступ только для чтения панели мониторинга

#amazon-web-services #kibana #opensearch #opensearch-dashboards

Вопрос:

Я использую aws OpenSearch для просмотра анализа данных в реальном времени.

Я использую следующие роли, чтобы предоставить моему пользователю доступ только для чтения к панели мониторинга, как указано здесь

  • kibana_user
  • kibana_read_only
  • read_only_index

Но все же пользователь может редактировать панель мониторинга из-за некоторых разрешений в роли «kibana_user». итак, я попытался создать дублирующую роль, используя встроенные функции OpenSearch, и удалил разрешение «Управление и удаление» из дублированной роли и назначил эту роль моему пользователю. Но на этот раз пользователь не может просматривать панель мониторинга и список панелей мониторинга, даже если я не удаляю разрешение «Управление и удаление», я получаю следующую ошибку в браузере

нет разрешений для [индексы: данные / чтение / поиск] и пользователя [name=test-user-1, backend_roles=[], requestedTenant=]: security_exception

Я попытался предоставить «индексы: данные / чтение / поиск» это разрешение на роль и многое другое, но это не сработало. какие-либо решения

Ответ №1:

Я использовал:

 kibana_all_read
read
 

Похоже, это работает, они могут перевести панель мониторинга в режим редактирования, но не могут ее сохранить.

Ответ №2:

Стандартный подход для пользователя панели мониторинга, доступного только для чтения, заключается в следующем:

  1. Создайте пользовательскую роль для этого типа пользователей: my-readonly-role .
  2. Добавьте cluster_composite_ops_ro разрешение кластера.
  3. Добавьте любые нужные шаблоны индексов, чтобы ограничить доступ: logs.* .
  4. Добавьте привилегии индекса для доступа на чтение: read , indices:admin/resolve/index .
  5. Добавление шаблонов клиентов: My-Tenant
  6. Добавить разрешения клиента: read , write
  7. Сопоставьте следующие роли желаемым пользователям: my-readonly-role и opensearch_dashboards_read_only

Примечание: Это было протестировано на OpenSearch версии 1.1.

Создайте роль (API)

Вот блок API, который представляет описанные выше шаги:

 {
    "cluster_permissions": ["cluster_composite_ops_ro"],
    "index_permissions": [
        {
            "index_patterns": ["logs.*"],
            "dls": "",
            "fls": [],
            "masked_fields": [],
            "allowed_actions": ["read", "indices:admin/resolve/index"]
        }
    ],
    "tenant_permissions": [
        {
            "tenant_patterns": ["My-Tenant"],
            "allowed_actions": ["read", "write"]
        }
    ]
}
 

Комментарии:

1. Это работает для aws public domain opensearch, но не работает для домена opensearch, созданного в vpc

2. Мы развернули это в частном VPC, и это работает просто отлично. Необходимо будет учитывать настроенный вами метод аутентификации, но это выходит за рамки первоначального вопроса.

Ответ №3:

Ничто из вышеперечисленного не сработало для меня, но это сработало. введите описание изображения здесь

Я даже не знаю, почему и как.