Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›API безопасности

API создания токена учетной записи службы

Справочник по новым API

Для получения самых последних данных об API обратитесь к API безопасности.

Создаёт токен учетной записи службы для доступа без необходимости базовой аутентификации.

Запрос

POST /_security/service/<namespace>/<service>/credential/token/<token_name>

PUT /_security/service/<namespace>/<service>/credential/token/<token_name>

POST /_security/service/<namespace>/<service>/credential/token

Предварительные условия

  • Для использования этого API у вас должна быть как минимум manage_service_account привилегия кластера.

Описание

Успешный вызов API создания токена учетной записи службы возвращает JSON-структуру, содержащую токен учетной записи службы, его имя и значение секрета.

Токены учетных записей службы никогда не истекают. Необходимо вручную удалить их, если они больше не нужны.

Параметры пути

namespace
(Обязательно, строка) Имя пространства имён.
service
(Обязательно, строка) Имя службы.
token_name

(Необязательно, строка) Имя токена учетной записи службы. Если опущен, будет сгенерировано случайное имя.

Имена токенов должны быть не менее 1 и не более 256 символов. Они могут содержать буквенно-цифровые символы (a-z, A-Z, 0-9), дефисы (-) и символы подчеркивания (_), но не могут начинаться с символа подчеркивания.

Имена токенов должны быть уникальными в контексте связанной учетной записи службы. Они также должны быть уникальными по всему пространству имён, состоящему из имени учетной записи службы и имени токена, например, <namespace>/<service>/<token-name>.

Примеры

Следующий запрос создаёт токен учетной записи службы:

resp = client.security.create_service_token(
    namespace="elastic",
    service="fleet-server",
    name="token1",
)
print(resp)
const response = await client.security.createServiceToken({
  namespace: "elastic",
  service: "fleet-server",
  name: "token1",
});
console.log(response);
POST /_security/service/elastic/fleet-server/credential/token/token1

Ответ включает токен учетной записи службы, его имя и значение секрета:

{
  "created": true,
  "token": {
    "name": "token1",
    "value": "AAEAAWVsYXN0aWM...vZmxlZXQtc2VydmVyL3Rva2VuMTo3TFdaSDZ" 
  }
}

Значение секрета для использования как токена-носителя

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

curl -H "Authorization: Bearer AAEAAWVsYXN0aWM...vZmxlZXQtc2VydmVyL3Rva2VuMTo3TFdaSDZ" http://localhost:9200/_cluster/health

Если на вашем узле параметр xpack.security.http.ssl.enabled установлен на true, то вы должны указать https в URL запроса.

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

resp = client.security.create_service_token(
    namespace="elastic",
    service="fleet-server",
)
print(resp)
const response = await client.security.createServiceToken({
  namespace: "elastic",
  service: "fleet-server",
});
console.log(response);
POST /_security/service/elastic/fleet-server/credential/token

Ответ включает токен учетной записи службы, его автоматически сгенерированное имя и его значение секрета:

{
  "created": true,
  "token": {
    "name": "Jk5J1HgBuyBK5TpDrdo4",
    "value": "AAEAAWVsYXN0aWM...vZmxlZXQtc2VydmVyL3Rva2VuMTo3TFdaSDZ"
  }
}

© 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-api-create-service-token.html

Spec-Zone.ru

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