Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Защитить Elastic Stack ›Отладка безопасности

Исключения авторизации

Симптомы:

  • Я настроил соответствующие роли и пользователей, но все равно получаю исключение авторизации.
  • Я могу пройти аутентификацию по LDAP, но все равно получаю исключение авторизации.

Решение:

  1. Убедитесь, что имена ролей, связанные с пользователями, соответствуют ролям, определённым в файле roles.yml. Вы можете использовать инструмент elasticsearch-users для отображения списка всех пользователей. Любые неизвестные роли отмечаются как *.

    bin/elasticsearch-users list
    rdeniro        : admin
    alpacino       : power_user
    jacknich       : monitoring,unknown_role* 

    unknown_role не найдено в roles.yml

    Для получения дополнительной информации об этой команде см. команду elasticsearch-users.

  2. Если вы осуществляете аутентификацию по LDAP, ряд параметров конфигурации может привести к этой ошибке.

    Идентификация групп

    Группы находятся либо по результатам поиска LDAP, либо по атрибуту "memberOf" пользователя. Кроме того, если поиск по поддереву отключен, он будет искать только на одном уровне вглубь. Все параметры см. в настройках домена LDAP. Здесь много параметров, и использование значений по умолчанию не подойдет для всех сценариев.

    Сопоставление групп с ролями

    Файл role_mapping.yml или путь к нему могут быть неправильно сконфигурированы. Дополнительная информация находится в Файлах безопасности.

    Определение роли

    Возможно, определение роли отсутствует или некорректно.

    Для отладки этих возможностей включите дополнительную запись в журнал. Вы можете включить отладку, настроив постоянные параметры:

    resp = client.cluster.put_settings(
        persistent={
            "logger.org.elasticsearch.xpack.security.authc": "debug"
        },
    )
    print(resp)
    response = client.cluster.put_settings(
      body: {
        persistent: {
          'logger.org.elasticsearch.xpack.security.authc' => 'debug'
        }
      }
    )
    puts response
    const response = await client.cluster.putSettings({
      persistent: {
        "logger.org.elasticsearch.xpack.security.authc": "debug",
      },
    });
    console.log(response);
    PUT /_cluster/settings
    {
      "persistent": {
        "logger.org.elasticsearch.xpack.security.authc": "debug"
      }
    }

    В качестве альтернативы, добавьте следующие строки в конец файла конфигурации log4j2.properties в папке ES_PATH_CONF:

    logger.authc.name = org.elasticsearch.xpack.security.authc
    logger.authc.level = DEBUG

    Дополнительную информацию о настройке уровней логгирования смотрите в разделе Настройка уровней логгирования.

    Успешная аутентификация должна вывести в журнал отладочные сообщения, в которых будут перечислены группы и сопоставления ролей.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/security-trb-roles.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API