Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Руководство [7.17] ›REST API ›API безопасности

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. Если ключ был аннулирован, значение равно true. В противном случае, false.

Субъект, для которого был создан этот ключ 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

Spec-Zone.ru

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