Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Защитить Elastic Stack ›Аутентификация пользователей

Домены безопасности

Домены безопасности — это способ группирования нескольких доменов под одним домена, чтобы Elastic Stack мог распознать, когда один пользователь проходит аутентификацию по этим доменам. Пользователи могут пройти аутентификацию в любом из доменов группы, и иметь доступ к тому же набору ресурсов независимо от того, с каким доменом они прошли аутентификацию.

Например, один профиль пользователя ассоциируется с пользователем, позволяя использовать настройки, уведомления и другие данные пользователя, которые будут доступны во всех домена. Пользователь может просматривать результаты асинхронного запроса на поиск или прокручиваемый поиск по всем доменам. При наличии необходимых привилегий пользователь также может просматривать и управлять API-ключами во всех домена.

Обмен ресурсами между доменами

Некоторые типы ресурсов в Elasticsearch принадлежат одному пользователю, например, контексты асинхронного поиска, API-ключи и профили пользователей. Когда пользователь создаёт ресурс, Elasticsearch сохраняет имя пользователя и информацию о домене как часть метаданных ресурса. Аналогично, если пользователь обновляет ресурс, например, API-ключ, Elasticsearch автоматически сохраняет текущую информацию о домене пользователя.

Когда пользователь позже пытается получить доступ к ресурсу, Elasticsearch сравнивает сохранённую информацию о имени пользователя и домене с информацией пользователя, осуществляющего доступ. Elasticsearch откажет в доступе, если не совпадают как домен, так и имя пользователя. Если Elasticsearch обнаруживает, что имя пользователя из двух разных доменов пытается получить доступ к ресурсу, Elasticsearch считает, что эти пользователи разные, и не позволяет ресурсам быть общими между этими пользователями.

Однако существуют случаи, когда один и тот же пользователь может пройти аутентификацию в нескольких домена и нуждается в совместном использовании набора ресурсов через домены. Например, LDAP-домен и SAML-домен могут быть основаны на одной и той же службе каталогов. Кроме того, делегирование авторизации позволяет одному домену делегировать авторизацию другому домену. Если оба домена аутентифицируют пользователей с одинаковым именем пользователя, разумно рассматривать этих пользователей как одного пользователя с точки зрения владения ресурсами.

Домены безопасности позволяют обмениваться ресурсами между домена, группируя эти домены под одним домена. Elasticsearch всегда применяет привилегии, связанные с текущим аутентифицированным пользователем, что остается истинным и при использовании доменов безопасности. Домены безопасности не обходят авторизацию пользователя, когда обмен ресурсами требует её. Например, пользователю требуется привилегия manage_own_api_key для управления своими API-ключами. Если у этого пользователя нет этой привилегии при аутентификации с одним домена, он не сможет управлять API-ключами при аутентификации с другим домена.

Управление ролями между домена

Elasticsearch предоставляет несколько способов согласованного применения ролей между домена. Например, вы можете использовать делегирование авторизации для обеспечения того, чтобы пользователю были назначены те же роли из нескольких доменов. Вы также можете вручную настроить несколько доменов, которые основаны на одной и той же службе каталогов. Хотя возможно настроить разные роли для одного пользователя при аутентификации с разными домена, это не рекомендуется.

Настройка домена безопасности

Домены безопасности — это расширенная функция, требующая тщательной настройки. Неправильная настройка или использование могут привести к неожиданному поведению.

Домены безопасности должны быть настроены согласованно на всех узлах кластера. Несогласованная настройка может привести к проблемам, таким как:

  • Дублирование профилей пользователей
  • Разное владение ресурсами в зависимости от конфигурации узла, осуществляющего аутентификацию

Для настройки домена безопасности:

  1. Добавьте конфигурацию домена безопасности в elasticsearch.yml в пространстве имен xpack.security.authc.domains:

    xpack:
      security:
        authc:
          domains:
            my_domain:
              realms: [ 'default_native', 'saml1' ] 

    Эта конфигурация определяет домен безопасности под названием my_domain, который содержит два домена под названием default_native и saml1.

    Указанные домены должны быть определены в elasticsearch.yml, но не обязательно быть включенными.

    Домен файлов и родной домен автоматически включены как default_file и default_native соответственно, без явной конфигурации. Вы можете перечислить эти домены в домена, даже если они не определены явно в elasticsearch.yml.

  2. Перезапустите Elasticsearch.

    Elasticsearch может не запуститься, если конфигурация домена неверна, например:

    • Один и тот же домен настроен в нескольких домена.
    • Любой неопределённый домен, синтетический домен или зарезервированный домен настроен как находящийся в домене.
  3. Примените ту же конфигурацию на всех узлах кластера перед выполнением операций, связанных с домена безопасности, включая создание и управление ресурсами, такими как профили пользователей, API-ключи и асинхронный поиск.

    При добавлении доменов в домен безопасности избегайте аутентификации с недавно добавленным домена до тех пор, пока изменения не будут полностью применены ко всем узлам.

Удаление доменов из домена безопасности

Удаление доменов из домена безопасности может привести к неожиданному поведению и не рекомендуется. Ресурсы, созданные или обновлённые до удаления, могут принадлежать разным пользователям в зависимости от типа ресурса:

  • Профили пользователей принадлежат пользователю, для которого профиль был в последний раз активирован. Для пользователей, чьи домены больше не находятся в том же домене, что и пользователь-владелец, для них будет создан новый профиль пользователя при следующем вызове API активации профиля пользователя.
  • API-ключ принадлежит пользователю, который первоначально создал или последний раз обновил его. Пользователи, включая первоначального создателя API-ключа, потеряют права собственности, если их домены больше не находятся в том же домене, что и текущий владелец API-ключа.
  • Ресурсы, такие как контексты асинхронного поиска, принадлежат пользователю, который первоначально их создал.

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

© 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-domain.html

Spec-Zone.ru

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