VK Private Cloud logo
Помощь
Обновлена 17 июля 2026 г. в 15:55

Управление сервисным ключом image-based приложения

Создание сервисного ключа

Чтобы создать сервисный ключ, выполните запрос с параметрами из таблицы 1.

Таблица 1 — Параметры запроса на создание сервисного ключа

Параметр

Значение

Метод запроса

POST

Путь запроса

https://<CLOUD_HOST>/marketplace/api/infra-api/api/v1-public/tokens/

где <CLOUD_HOST> — доменное имя Платформы

Content-Type

application/json

Тело запроса (--data)

Задайте параметры:

  • service — имя сервиса.
  • ns — имя тенанта image-based брокера. Укажите имя компании-поставщика.
  • test_ns — список тестовых пространств имён Marketplace, в которых будет доступен сервис. Имена задаются администратором, должны совпадать со значениями, задаваемыми при регистрации тенанта image-based брокера (подробнее — Регистрация брокера в Marketplace).
  • prod_ns — список открытых пространств имён Marketplace, в которых будет доступен сервис. Имена задаются администратором, должны совпадать со значениями, задаваемыми при регистрации тенанта image-based брокера (подробнее — Регистрация брокера в Marketplace).
  • token — сервисный ключ. Значение задаётся администратором.
  • org_id — идентификатор компании-поставщика. Укажите имя компании-поставщика.
  • email — email пользователя, который назначается владельцем сервисного ключа. Укажите значение, полученное от поставщика

x-service-token

<INFRA_API_ADMIN_TOKEN> — токен доступа к сервису Infra API.

Соответствует значению переменной окружения INFRA_API_COMMON__ADMINTOKEN подов развёртывания xaas-infra-api, а также значению секрета для ключа infra-api-common&#8212;&#8203;admintoken из плейбука helm-xaas

Пример запроса на создание сервисного ключа
$ curl -v -X POST https://<CLOUD_HOST>/marketplace/api/infra-api/api/v1-public/tokens/ \-H "Content-Type: application/json" \-H 'x-service-token: <INFRA_API_ADMIN_TOKEN>' \--data '{  "service": "vk_testers",  "ns": "vk",  "test_ns": ["vk_test_ns"],  "prod_ns": ["vkcs_ru", "vk_prod_ns"],  "token": "3a472276-2f52-44ea-bdcd-b34d5e3856fb",  "org_id": "vk",  "email": "owner@example.ru"  }'

HTTP-коды ответа приведены в таблице 2.

Таблица 2 — HTTP-коды ответа

Код

Описание

201

Сервисный ключ создан

400, 500

Ошибка выполнения запроса

401

Ошибка авторизации

Обновление сервисного ключа

В сервисном ключе можно обновить следующие параметры:

  • Список тестовых пространств имён Marketplace.
  • Список открытых пространств имён Marketplace.
  • Значение сервисного ключа, если его срок действия закончился. По умолчанию срок действия — 1 год.

Чтобы обновить сервисный ключ, выполните запрос с параметрами из таблицы 3.

Таблица 3 — Параметры запроса на обновление сервисного ключа

Параметр

Значение

Метод запроса

PATCH

Путь запроса

https://<CLOUD_HOST>/marketplace/api/infra-api/api/v1-public/tokens/

где <CLOUD_HOST> — доменное имя Платформы

Content-Type

application/json

Тело запроса (--data)

  1. Укажите обязательные параметры:

    • service — имя сервиса.

    • org_id — идентификатор компании-поставщика.

    • email — email пользователя-владельца сервисного ключа.

      Обязательные параметры были заданы при регистрации сервисного ключа. Значения получите с помощью запроса списка сервисных ключей (подробнее — в разделе Просмотр списка сервисных ключей).

  2. Укажите один или несколько параметров, которые нужно изменить:

    • test_ns — список тестовых пространств имён Marketplace, в которых будет доступен сервис.
    • prod_ns — список открытых пространств имён Marketplace, в которых будет доступен сервис.
    • token — новое значение сервисного ключа. Срок действия сервисного ключа будет отсчитываться заново с момента выполнения запроса

x-service-token

<INFRA_API_ADMIN_TOKEN> — токен доступа к сервису Infra API.

Соответствует значению переменной окружения INFRA_API_COMMON__ADMINTOKEN подов развёртывания xaas-infra-api, а также значению секрета для ключа infra-api-common&#8212;&#8203;admintoken из плейбука helm-xaas

Пример запроса на обновление сервисного ключа
$ curl -v -X PATCH https://<CLOUD_HOST>/marketplace/api/infra-api/api/v1-public/tokens/ \-H "Content-Type: application/json" \-H 'x-service-token: <INFRA_API_ADMIN_TOKEN>' \--data '{  "service": "vk_testers",  "org_id": "vk",  "email": "owner@example.ru",  "token": "9130d903-16fa-46e7-80a0-48661e1add6a"  }'

HTTP-коды ответа приведены в таблице 4.

Таблица 4 — HTTP-коды ответа

Код

Описание

201

Сервисный ключ обновлён

400, 500

Ошибка выполнения запроса

401

Ошибка авторизации

Удаление сервисного ключа

Чтобы удалить сервисный ключ, выполните запрос с параметрами из таблицы 5.

Таблица 5 — Параметры запроса на удаление сервисного ключа

Параметр

Значение

Метод запроса

DELETE

Путь запроса

https://<CLOUD_HOST>/marketplace/api/infra-api/api/v1-public/tokens/<SERVICE_NAME>

где:

  • <CLOUD_HOST> — доменное имя Платформы.
  • <SERVICE_NAME> — имя сервиса, заданное в параметре service при создании сервисного ключа. Значение получите с помощью запроса списка сервисных ключей (подробнее — в разделе Просмотр списка сервисных ключей)

x-service-token

<INFRA_API_ADMIN_TOKEN> — токен доступа к сервису Infra API.

Соответствует значению переменной окружения INFRA_API_COMMON__ADMINTOKEN подов развёртывания xaas-infra-api, а также значению секрета для ключа infra-api-common&#8212;&#8203;admintoken из плейбука helm-xaas

Пример запроса на удаление сервисного ключа
$ curl -v -X DELETE https://<CLOUD_HOST>/marketplace/api/infra-api/api/v1-public/tokens/vk_testers \-H 'x-service-token: <INFRA_API_ADMIN_TOKEN>'

HTTP-коды ответа приведены в таблице 6.

Таблица 6 — HTTP-коды ответа

Код

Описание

200

Сервисный ключ удалён

400, 500

Ошибка выполнения запроса

401

Ошибка авторизации

404

Сервисный ключ не найден

Просмотр списка сервисных ключей

Чтобы просмотреть список сервисных ключей, выполните запрос с параметрами из таблицы 7.

Таблица 7 — Параметры запроса на просмотр списка сервисных ключей

Параметр

Значение

Метод запроса

GET

Путь запроса

https://<CLOUD_HOST>/marketplace/api/infra-api/api/v1-public/tokens/

где <CLOUD_HOST> — доменное имя Платформы

x-service-token

<INFRA_API_ADMIN_TOKEN> — токен доступа к сервису Infra API.

Соответствует значению переменной окружения INFRA_API_COMMON__ADMINTOKEN подов развёртывания xaas-infra-api, а также значению секрета для ключа infra-api-common&#8212;&#8203;admintoken из плейбука helm-xaas

Пример запроса на просмотр списка сервисных ключей
$ curl https://<CLOUD_HOST>/marketplace/api/infra-api/api/v1-public/tokens/ \-H 'x-service-token: <INFRA_API_ADMIN_TOKEN>'

HTTP-коды ответа приведены в таблице 8.

Таблица 8 — HTTP-коды ответа

Код

Описание

200

Запрос выполнен.

Ответ содержит список сервисных ключей. Для каждого отображаются следующие параметры:

  • Параметры, заданные в теле запроса на создание (подробнее — в разделе Создание сервисного ключа).
  • create_at — дата и время создания.
  • update_at — дата и время обновления.
  • role — роль пользователя-владельца сервисного ключа.
  • expired — срок действия

401

Ошибка авторизации

500

Ошибка выполнения запроса

Пример ответа
[    {        "service": "vk_testers",        "token": "9130d903-16fa-46e7-80a0-48661e1add6a",        "update_at": "2023-10-05T09:25:21.506505Z",        "create_at": "2023-10-05T09:25:21.506505Z",        "ns": "vk",        "org_id": "vk",        "test_ns": ["vk_test_ns"],        "prod_ns": ["vkcs_ru"],        "role": "provider",        "expired": "2024-11-01T03:37:53.211104Z",        "email": "owner@example.ru"    }]