Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Обеспечение безопасности Elastic Stack ›Защита клиентов и интеграций

Клиенты HTTP/REST и безопасность

Функции безопасности Elasticsearch работают со стандартными HTTP-заголовками аутентификации по принципу Basic для аутентификации пользователей. Поскольку Elasticsearch является бессостоятельным, этот заголовок должен отправляться с каждым запросом:

Authorization: Basic <TOKEN> 

Значение <TOKEN> вычисляется как base64(USERNAME:PASSWORD)

В качестве альтернативы можно использовать службы аутентификации на основе токенов.

Примеры клиентов

В этом примере используется curl без аутентификации Basic для создания индекса:

curl -XPUT 'localhost:9200/idx'
{
  "error":  "AuthenticationException[Missing authentication token]",
  "status": 401
}

Поскольку ни один пользователь не ассоциирован с вышеуказанным запросом, возвращается ошибка аутентификации. Теперь мы будем использовать curl с аутентификацией Basic для создания индекса как пользователь rdeniro:

curl --user rdeniro:taxidriver -XPUT 'localhost:9200/idx'
{
  "acknowledged": true
}

Вторичная авторизация

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

es-secondary-authorization: Basic <TOKEN> 

Значение <TOKEN> вычисляется как base64(USERNAME:PASSWORD)

Заголовок es-secondary-authorization имеет тот же синтаксис, что и заголовок Authorization. Поэтому он также поддерживает использование служб аутентификации на основе токенов. Например:

es-secondary-authorization: ApiKey <TOKEN> 

Значение <TOKEN> вычисляется как base64(API key ID:API key)

Клиентские библиотеки через HTTP

Для получения дополнительной информации об использовании функций безопасности с клиентами на конкретных языках обратитесь к:

  • Java
  • JavaScript
  • .NET
  • Perl
  • PHP
  • Python
  • Ruby

© 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/http-clients.html

Spec-Zone.ru

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