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

Услуги аутентификации на основе токенов

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

Функции безопасности предоставляют следующие встроенные сервисы аутентификации на основе токенов, которые перечислены в порядке обращения к ним:

service-accounts

Учетные записи сервисов используют либо API создания токенов учетных записей сервиса, либо утилиту командной строки elasticsearch-service-tokens для генерации токенов учетных записей сервиса.

Для использования токена учетной записи сервиса включите сгенерированное значение токена в запрос с заголовком Authorization: Bearer:

curl -H "Authorization: Bearer AAEAAWVsYXN0aWMvZ...mXQtc2VydmMTpyNXdkYmRib1FTZTl2R09Ld2FKR0F3" http://localhost:9200/_cluster/health

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

token-service

Сервис токенов использует API получения токена, чтобы генерировать токены доступа и обновления на основе спецификации OAuth2. Токен доступа — это токен с ограниченным сроком действия. По умолчанию он истекает через 20 минут, но его можно настроить на максимальный срок до 1 часа. Он может быть обновлен с помощью токена обновления, срок действия которого составляет 24 часа. Токен доступа — это токен-носитель. Вы можете использовать его, отправив запрос с заголовком Authorization со значением, содержащим префикс "Bearer " и значением токена доступа. Например:

curl -H "Authorization: Bearer dGhpcyBpcyBub3Qx5...F0YS4gZG8gbm90IHRyeSB0byByZWFkIHRva2VuIQ==" http://localhost:9200/_cluster/health
api-key-service

Сервис API-ключей использует API создания API-ключа для генерации API-ключей. По умолчанию API-ключи не истекают. При создании API-ключей вы можете указать срок действия и разрешения для API-ключа. Разрешения ограничены разрешениями аутентифицированного пользователя. Вы можете использовать API-ключ, отправив запрос с заголовком Authorization со значением, содержащим префикс "ApiKey " и учетными данными. Учетные данные представляют собой кодировку API-ключа и идентификатора API-ключа в base64, разделенные двоеточием. Например:

curl -H "Authorization: ApiKey VnVhQ2ZHY0JDZGJrU...W0tZTVhT3g6dWkybHAyYXhUTm1zeWFrd0dk5udw==" http://localhost:9200/_cluster/health

В зависимости от вашего случая использования, вы можете определить срок действия токенов, генерируемых этими сервисами. Затем вы можете использовать эту информацию, чтобы выбрать, какой сервис использовать для генерации и управления токенами. Неистекающие API-ключи могут показаться простым вариантом, но вы должны учитывать последствия для безопасности, связанные с неистекающими ключами. И token-service, и api-key-service позволяют вам аннулировать токены. См. 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/7.17/token-authentication-services.html

Spec-Zone.ru

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