Управление статическими API-ключами
В разделе описаны методы для работы со статическими API-ключами.
Перед началом работы
Для работы с API потребуется:
эндпоинт для запросов —
https://api.iam.sbercloud.ru
;
Набор методов для управления 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-ключа, которые будут использованы для фильтрации Возможные значения: service_account_id - обязательное значение enabled
- Status Codes
200 OK – A successful response.
- 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 – A successful response.
- 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 – A successful response.
- 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 – A successful response.
- 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 – A successful response.
- 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 – A successful response.
- 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 – A successful response.
- 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