- tocdepth
2
Управление статическими API-ключами
В разделе описаны методы для работы со статическими API-ключами.
Перед началом работы
Для работы с API потребуется:
эндпоинт для запросов —
https://iam.api.cloud.ru/api/v1
;
Набор методов для управления API-ключами
- GET /api/v1/service-accounts/credentials/api-keys
List - возвращает список API-ключей.
- Query Parameters
filter.serviceAccountId (string) – ServiceAccountID - идентификатор сервисного аккаунта.
filter.enabled (boolean) – Enabled - флаг активности ключа.
paths (string) – Paths - список свойств API-ключа, которые будут использованы для фильтрации. Возможные значения: идентификатор сервисного аккаунта - обязательное значение.
- Status Codes
200 OK – Успешное выполнение запроса.
- Response JSON Object
keys (array) – APIKeys - список API-ключей.
keys[].createdAt (string) – CreatedAt - дата создания ключа.
keys[].description (string) – Description - описание ключа.
keys[].enabled (boolean) – Enabled - флаг активности ключа.
keys[].expiresAt (string) – ExpiresAt - дата окончания срока действия ключа.
keys[].id (string) – ID - идентификатор ключа.
keys[].name (string) – Name - имя ключа.
keys[].products (array) – Products - список названий продуктов, с которыми может работать ключ.
keys[].products[] (string) –
keys[].restrictions (object) – Restrictions - ограничения ключа.
keys[].restrictions.ipAddresses (object) – IPAddresses - список IP-адресов.
keys[].restrictions.ipAddresses.ipAddresses (array) – IP-адреса и подсети в формате CIDR.
keys[].restrictions.ipAddresses.ipAddresses[] (string) –
keys[].restrictions.timeRange (object) –
keys[].restrictions.timeRange.timeSlots (array) – TimeSlots - список промежутков времени.
keys[].restrictions.timeRange.timeSlots[].end (integer) – End - конец диапазона в часах.
keys[].restrictions.timeRange.timeSlots[].start (integer) – Start - начало диапазона в часах.
keys[].restrictions.timeRange.timezone (integer) – Timezone - временная зона. Число от -12 до 12.
keys[].secret (string) – @gotags: secret:»true»
keys[].serviceAccountId (string) – ServiceAccountID - идентификатор сервисного аккаунта.
keys[].updatedAt (string) – UpdatedAt - дата обновления ключа.
- DELETE /api/v1/service-accounts/credentials/api-keys
Delete - удаляет API-ключ.
- Query Parameters
keyId (string) – KeyID - идентификатор ключа.
serviceAccountId (string) – ServiceAccountID - идентификатор сервисного аккаунта.
- Status Codes
200 OK – Успешное выполнение запроса.
- POST /api/v1/service-accounts/credentials/api-keys
Add - добавляет API-ключ.
- Request JSON Object
description (string) – Description - описание ключа. Может содержать буквы unicode в разных регистрах, цифры, знаки пунктуации unicode и пробелы.
enabled (boolean) – Enabled - флаг активности ключа.
expiresAt (string) – ExpiresAt - дата истечения срока действия ключа. Если не указана, то выставляется значение по умолчанию (1 год). Максимальный срок действия ключа - 1 год.
name (string) – Name - имя ключа: от 1 до 256 символов, может содержать латинские буквы в нижнем и верхнем регистрах, цифры, дефис, подчеркивание, точка, пробел.
products (array) – Products - список названий продуктов, для которых будет использоваться ключ. До 100 продуктов.
products[] (string) –
restrictions (object) – Restrictions - ограничения ключа.
restrictions.ipAddresses (object) – IPAddresses - список IP-адресов.
restrictions.ipAddresses.ipAddresses (array) – IP-адреса и подсети в формате CIDR.
restrictions.ipAddresses.ipAddresses[] (string) –
restrictions.timeRange (object) –
restrictions.timeRange.timeSlots (array) – TimeSlots - список промежутков времени.
restrictions.timeRange.timeSlots[].end (integer) – End - конец диапазона в часах.
restrictions.timeRange.timeSlots[].start (integer) – Start - начало диапазона в часах.
restrictions.timeRange.timezone (integer) – Timezone - временная зона. Число от -12 до 12.
serviceAccountId (string) – ServiceAccountID - идентификатор сервисного аккаунта.
- Status Codes
200 OK – Успешное выполнение запроса.
- Response JSON Object
createdAt (string) – CreatedAt - дата создания ключа.
description (string) – Description - описание ключа.
enabled (boolean) – Enabled - флаг активности ключа.
expiresAt (string) – ExpiresAt - дата окончания срока действия ключа.
id (string) – ID - идентификатор ключа.
name (string) – Name - имя ключа.
products (array) – Products - список названий продуктов, с которыми может работать ключ.
products[] (string) –
restrictions (object) – Restrictions - ограничения ключа.
restrictions.ipAddresses (object) – IPAddresses - список IP-адресов.
restrictions.ipAddresses.ipAddresses (array) – IP-адреса и подсети в формате CIDR.
restrictions.ipAddresses.ipAddresses[] (string) –
restrictions.timeRange (object) –
restrictions.timeRange.timeSlots (array) – TimeSlots - список промежутков времени.
restrictions.timeRange.timeSlots[].end (integer) – End - конец диапазона в часах.
restrictions.timeRange.timeSlots[].start (integer) – Start - начало диапазона в часах.
restrictions.timeRange.timezone (integer) – Timezone - временная зона. Число от -12 до 12.
secret (string) – @gotags: secret:»true»
serviceAccountId (string) – ServiceAccountID - идентификатор сервисного аккаунта.
updatedAt (string) – UpdatedAt - дата обновления ключа.
- PUT /api/v1/service-accounts/credentials/api-keys
Update - обновляет API-ключ.
- Request JSON Object
key (object) – UpdateAPIKeyEntity - модель для обновления API-ключа.
key.description (string) – Description - описание ключа. Может содержать буквы unicode в разных регистрах, цифры, знаки пунктуации unicode и пробелы.
key.enabled (boolean) – Enabled - флаг активности ключа.
key.id (string) – ID - идентификатор ключа.
key.name (string) – Name - имя ключа. От 1 до 256 символов. Может содержать латинские буквы в нижнем и верхнем регистрах, цифры, дефис, подчеркивание, точка, пробел.
key.products (array) – Products - список названий продуктов, для которых будет использоваться ключ. До 100 продуктов.
key.products[] (string) –
key.restrictions (object) – Restrictions - ограничения ключа.
key.restrictions.ipAddresses (object) – IPAddresses - список IP-адресов.
key.restrictions.ipAddresses.ipAddresses (array) – IP-адреса и подсети в формате CIDR.
key.restrictions.ipAddresses.ipAddresses[] (string) –
key.restrictions.timeRange (object) –
key.restrictions.timeRange.timeSlots (array) – TimeSlots - список промежутков времени.
key.restrictions.timeRange.timeSlots[].end (integer) – End - конец диапазона в часах.
key.restrictions.timeRange.timeSlots[].start (integer) – Start - начало диапазона в часах.
key.restrictions.timeRange.timezone (integer) – Timezone - временная зона. Число от -12 до 12.
paths (string) – Paths - список свойств API-ключа, которые необходимо обновить. Возможные значения: name description restrictions enabled products.
- Status Codes
200 OK – Успешное выполнение запроса.
- Response JSON Object
createdAt (string) – CreatedAt - дата создания ключа.
description (string) – Description - описание ключа.
enabled (boolean) – Enabled - флаг активности ключа.
expiresAt (string) – ExpiresAt - дата окончания срока действия ключа.
id (string) – ID - идентификатор ключа.
name (string) – Name - имя ключа.
products (array) – Products - список названий продуктов, с которыми может работать ключ.
products[] (string) –
restrictions (object) – Restrictions - ограничения ключа.
restrictions.ipAddresses (object) – IPAddresses - список IP-адресов.
restrictions.ipAddresses.ipAddresses (array) – IP-адреса и подсети в формате CIDR.
restrictions.ipAddresses.ipAddresses[] (string) –
restrictions.timeRange (object) –
restrictions.timeRange.timeSlots (array) – TimeSlots - список промежутков времени.
restrictions.timeRange.timeSlots[].end (integer) – End - конец диапазона в часах.
restrictions.timeRange.timeSlots[].start (integer) – Start - начало диапазона в часах.
restrictions.timeRange.timezone (integer) – Timezone - временная зона. Число от -12 до 12.
secret (string) – @gotags: secret:»true»
serviceAccountId (string) – ServiceAccountID - идентификатор сервисного аккаунта.
updatedAt (string) – UpdatedAt - дата обновления ключа.
- GET /api/v1/service-accounts/credentials/api-keys/products
ListProducts - возвращает список доступных продуктов.
- Status Codes
200 OK – Успешное выполнение запроса.
- Response JSON Object
products (array) – Products - список доступных продуктов.
products[] (string) –
- GET /api/v1/service-accounts/credentials/api-keys/{id}
Get - возвращает API-ключ.
- Parameters
id (string) – ID - идентификатор ключа.
- Status Codes
200 OK – Успешное выполнение запроса.
- Response JSON Object
createdAt (string) – CreatedAt - дата создания ключа.
description (string) – Description - описание ключа.
enabled (boolean) – Enabled - флаг активности ключа.
expiresAt (string) – ExpiresAt - дата окончания срока действия ключа.
id (string) – ID - идентификатор ключа.
name (string) – Name - имя ключа.
products (array) – Products - список названий продуктов, с которыми может работать ключ.
products[] (string) –
restrictions (object) – Restrictions - ограничения ключа.
restrictions.ipAddresses (object) – IPAddresses - список IP-адресов.
restrictions.ipAddresses.ipAddresses (array) – IP-адреса и подсети в формате CIDR.
restrictions.ipAddresses.ipAddresses[] (string) –
restrictions.timeRange (object) –
restrictions.timeRange.timeSlots (array) – TimeSlots - список промежутков времени.
restrictions.timeRange.timeSlots[].end (integer) – End - конец диапазона в часах.
restrictions.timeRange.timeSlots[].start (integer) – Start - начало диапазона в часах.
restrictions.timeRange.timezone (integer) – Timezone - временная зона. Число от -12 до 12.
secret (string) – @gotags: secret:»true»
serviceAccountId (string) – ServiceAccountID - идентификатор сервисного аккаунта.
updatedAt (string) – UpdatedAt - дата обновления ключа.
- POST /api/v1/service-accounts/credentials/api-keys/{id}/reissue
Reissue - перевыпускает API-ключ.
- Parameters
id (string) – ID - идентификатор ключа
- Query Parameters
expiresAt (string) – ExpiresAt - дата окончания срока действия нового ключа.
- Status Codes
200 OK – Успешное выполнение запроса.
- Response JSON Object
createdAt (string) – CreatedAt - дата создания ключа.
description (string) – Description - описание ключа.
enabled (boolean) – Enabled - флаг активности ключа.
expiresAt (string) – ExpiresAt - дата окончания срока действия ключа.
id (string) – ID - идентификатор ключа.
name (string) – Name - имя ключа.
products (array) – Products - список названий продуктов, с которыми может работать ключ.
products[] (string) –
restrictions (object) – Restrictions - ограничения ключа.
restrictions.ipAddresses (object) – IPAddresses - список IP-адресов.
restrictions.ipAddresses.ipAddresses (array) – IP-адреса и подсети в формате CIDR.
restrictions.ipAddresses.ipAddresses[] (string) –
restrictions.timeRange (object) –
restrictions.timeRange.timeSlots (array) – TimeSlots - список промежутков времени.
restrictions.timeRange.timeSlots[].end (integer) – End - конец диапазона в часах.
restrictions.timeRange.timeSlots[].start (integer) – Start - начало диапазона в часах.
restrictions.timeRange.timezone (integer) – Timezone - временная зона. Число от -12 до 12.
secret (string) – @gotags: secret:»true»
serviceAccountId (string) – ServiceAccountID - идентификатор сервисного аккаунта.
updatedAt (string) – UpdatedAt - дата обновления ключа.
для Dev & Test