Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›Security APIs

API ключей API

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

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

Аннулирует один или несколько API-ключей.

Запрос

DELETE /_security/api_key

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

  • Для использования данного API у вас должны быть как минимум права manage_security, manage_api_key или manage_own_api_key кластера. Права manage_security позволяют удалять любые API-ключи, включая REST-ключи и ключи между кластерами. Права manage_api_key позволяют удалять любые REST-ключи, но не ключи между кластерами. Права manage_own_api_key позволяют удалять только REST-ключи, принадлежащие пользователю. Кроме того, при использовании прав manage_own_api_key запрос на аннулирование должен быть представлен в одном из трех форматов:

    1. Установите параметр owner=true
    2. Или установите оба параметра username и realm_name для соответствия идентификации пользователя.
    3. Или, если запрос отправлен от API-ключа (то есть API-ключ аннулирует сам себя), укажите его идентификатор в поле ids.

Описание

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

Тело запроса

В теле запроса DELETE можно указать следующие параметры, относящиеся к аннулированию API-ключей:

ids
(Необязательный массив строк) Список идентификаторов API-ключей. Этот параметр нельзя использовать, если используются параметры name, realm_name или username
name
(Необязательная строка) Имя API-ключа. Этот параметр нельзя использовать, если используются параметры ids, realm_name или username.
realm_name
(Необязательная строка) Название области аутентификации. Этот параметр нельзя использовать, если используются параметры ids или name или если флаг owner установлен в true.
username
(Необязательная строка) Имя пользователя. Этот параметр нельзя использовать, если используются параметры ids или name или если флаг owner установлен в true.
owner
(Необязательный булевый флаг) Булевый флаг, который может быть использован для запроса API-ключей, принадлежащих текущему авторизованному пользователю. По умолчанию false. Параметры realm_name или username не могут быть указаны, когда этот параметр установлен в true, так как они предполагаются текущими авторизованными.

Если owner равен false (по умолчанию), необходимо указать хотя бы один из параметров "ids", "name", "username" или "realm_name".

Тело ответа

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

Примеры

Если вы создаете API-ключ следующим образом:

resp = client.security.create_api_key(
    name="my-api-key",
)
print(resp)
const response = await client.security.createApiKey({
  name: "my-api-key",
});
console.log(response);
POST /_security/api_key
{
  "name": "my-api-key"
}

Успешный вызов возвращает JSON-структуру с информацией об API-ключе. Например:

{
  "id": "VuaCfGcBCdbkQm-e5aOx",
  "name": "my-api-key",
  "api_key": "ui2lp2axTNmsyakw9tvNnw",
  "encoded": "VnVhQ2ZHY0JDZGJrUW0tZTVhT3g6dWkybHAyYXhUTm1zeWFrdzl0dk5udw=="
}

Следующий пример аннулирует API-ключ, идентифицированный указанным ids, немедленно:

resp = client.security.invalidate_api_key(
    ids=[
        "VuaCfGcBCdbkQm-e5aOx"
    ],
)
print(resp)
const response = await client.security.invalidateApiKey({
  ids: ["VuaCfGcBCdbkQm-e5aOx"],
});
console.log(response);
DELETE /_security/api_key
{
  "ids" : [ "VuaCfGcBCdbkQm-e5aOx" ]
}

Следующий пример аннулирует API-ключ, идентифицированный указанным name, немедленно:

resp = client.security.invalidate_api_key(
    name="my-api-key",
)
print(resp)
const response = await client.security.invalidateApiKey({
  name: "my-api-key",
});
console.log(response);
DELETE /_security/api_key
{
  "name" : "my-api-key"
}
{
  "invalidated_api_keys": [ 
    "api-key-id-1"
  ],
  "previously_invalidated_api_keys": [ 
    "api-key-id-2",
    "api-key-id-3"
  ],
  "error_count": 2, 
  "error_details": [ 
    {
      "type": "exception",
      "reason": "error occurred while invalidating api keys",
      "caused_by": {
        "type": "illegal_argument_exception",
        "reason": "invalid api key id"
      }
    },
    {
      "type": "exception",
      "reason": "error occurred while invalidating api keys",
      "caused_by": {
        "type": "illegal_argument_exception",
        "reason": "invalid api key id"
      }
    }
  ]
}

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

Идентификаторы API-ключей, которые уже были аннулированы.

Количество ошибок, возникших при аннулировании API-ключей.

Подробности об этих ошибках. Это поле отсутствует в ответе, когда error_count равно 0.

© 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-invalidate-api-key.html

Spec-Zone.ru

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