API получения информации о ключах API
Получает информацию об одном или нескольких ключах API.
Запрос
GET /_security/api_key
Предварительные условия
- Для использования этого API необходимо иметь как минимум привилегию
manage_api_keyкластера.
Описание
Информацию о ключах API, созданных с помощью API создания ключа API, можно получить с помощью этого API.
Параметры пути
В запросе GET можно указать следующие параметры, относящиеся к получению ключей API:
-
id - (Необязательный, строка) Идентификатор ключа API. Этот параметр нельзя использовать совместно с
name,realm_nameилиusername. -
name - (Необязательный, строка) Название ключа API. Этот параметр нельзя использовать совместно с
id,realm_nameилиusername. Поддерживается поиск по префиксу с использованием символов подстановки. -
realm_name - (Необязательный, строка) Название домена аутентификации. Этот параметр нельзя использовать совместно с
idилиname, или когда флагownerустановлен в значениеtrue. -
username - (Необязательный, строка) Имя пользователя. Этот параметр нельзя использовать совместно с
idилиname, или когда флагownerустановлен в значениеtrue. -
owner - (Необязательный, булево) Флаг, позволяющий запросить ключи API, принадлежащие текущему аутентифицированному пользователю. По умолчанию равен false. Параметры realm_name или username не могут быть указаны, когда этот параметр установлен в true, так как предполагается, что они относятся к текущему аутентифицированному пользователю.
Если ни один из параметров «id», «name», «username» и «realm_name» не указан, а «owner» установлен в false, то при наличии авторизации будут возвращены все ключи API. Если пользователь не авторизован для получения ключей API других пользователей, будет возвращена ошибка.
Примеры
Если вы создаете ключ API следующим образом:
POST /_security/api_key
{
"name": "my-api-key",
"role_descriptors": {}
} Успешный вызов возвращает JSON-структуру, содержащую информацию о ключе API. Например:
{
"id":"VuaCfGcBCdbkQm-e5aOx",
"name":"my-api-key",
"api_key":"ui2lp2axTNmsyakw9tvNnw",
"encoded": "VnVhQ2ZHY0JDZGJrUW0tZTVhT3g6dWkybHAyYXhUTm1zeWFrdzl0dk5udw=="
} Вы можете использовать следующий пример для получения ключа API по идентификатору:
GET /_security/api_key?id=VuaCfGcBCdbkQm-e5aOx
Вы можете использовать следующий пример для получения ключа API по имени:
GET /_security/api_key?name=my-api-key
Имя ключа API поддерживает поиск по префиксу с использованием символов подстановки:
GET /_security/api_key?name=my-*
Следующий пример получает все ключи API для домена native1:
GET /_security/api_key?realm_name=native1
Следующий пример получает все ключи API для пользователя myuser во всех доменах:
GET /_security/api_key?username=myuser
Следующий пример получает все ключи API, принадлежащие текущему аутентифицированному пользователю:
GET /_security/api_key?owner=true
Следующий пример получает все ключи API, если пользователь имеет право на это:
GET /_security/api_key
Следующее создает ключ API:
POST /_security/api_key
{
"name": "my-api-key-1",
"metadata": {
"application": "my-application"
}
} Следующий пример получает ключ API, идентифицируемый указанным id, если он принадлежит текущему аутентифицированному пользователю:
GET /_security/api_key?id=VuaCfGcBCdbkQm-e5aOx&owner=true
Наконец, следующий пример сразу получает все ключи API для пользователя myuser в домене native1:
GET /_security/api_key?username=myuser&realm_name=native1
Успешный вызов возвращает JSON-структуру, содержащую информацию об одном или нескольких полученных ключах API.
{
"api_keys": [
{
"id": "0GF5GXsBCXxz2eDxWwFN",
"name": "hadoop_myuser_key",
"creation": 1548550550158,
"expiration": 1548551550158,
"invalidated": false,
"username": "myuser",
"realm": "native1",
"metadata": {
"application": "myapp"
}
},
{
"id": "6wHJmcQpReKBa42EHV5SBw",
"name": "api-key-name-2",
"creation": 1548550550158,
"invalidated": false,
"username": "user-y",
"realm": "realm-2",
"metadata": {}
}
]
} | Список ключей API, полученных для этого запроса. | |
| Идентификатор ключа API. | |
| Имя ключа API. | |
| Время создания ключа API в миллисекундах. | |
| Необязательное время истечения срока действия ключа API в миллисекундах. | |
| Статус проверки ключа API. Если ключ был аннулирован, значение равно | |
| Субъект, для которого был создан этот ключ 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/security-api-get-api-key.html