API ключей API
Аннулирует один или несколько 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запрос на аннулирование должен быть представлен в одном из трех форматов:- Установите параметр
owner=true - Или установите оба параметра
usernameиrealm_nameдля соответствия идентификации пользователя. - Или, если запрос отправлен от 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-ключей. | |
| Подробности об этих ошибках. Это поле отсутствует в ответе, когда |
© 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