Облачная платформаEvolution

Аутентификация в API

Эта статья полезна?

Пройти аутентификацию в API ML Inference можно с помощью токена доступа или API-ключа.

Для аутентификации в API:

1. Создайте сервисный аккаунт

  1. На верхней панели слева нажмите Кнопка с изображением девяти точек и перейдите в раздел Пользователи, на вкладку Сервисные аккаунты.

    ../_images/s__service_account.webp
  2. В правом верхнем углу нажмите Создать аккаунт.

    ../_images/s__service_account_create.webp
  3. Задайте для сервисного аккаунта название и описание.

  4. Нажмите Продолжить.

  5. Назначьте роль на проект «Администратор проекта».

    Роль определяет права доступа сервисного аккаунта.

    ../_images/s__service_account_roles.webp
  6. Нажмите Создать.

2. Сгенерируйте токен доступа или API-ключ


Токен доступа считается более безопасным способом аутентификации, так как срок действия токена — один час.

Для получения токена доступа:

  1. На верхней панели слева нажмите Кнопка с изображением девяти точек и перейдите на вкладку Пользователи → Сервисные аккаунты.

  2. Нажмите на название сервисного аккаунта, который будете использовать для отправки запроса.

  3. В разделе Учетные данные доступа на вкладке Ключи доступа нажмите Создать ключ.

    ../_images/s__api-ref__authentication1.webp
  4. Введите описание ключа, которое поможет в будущем идентифицировать его среди других ключей.

  5. Укажите время жизни ключа — срок действия ключа и часовой пояс. Вы можете установить значение от одного дня до одного года с текущей даты. Если параметр не задан, срок действия ключа устанавливается на максимальное значение — один год. В целях безопасности рекомендуется выставлять средние значения, например 90 дней.

  6. Нажмите Создать.

  7. Сохраните данные ключа доступа — Key ID (логин) и Key Secret (пароль).

    Созданный ключ доступа появится в списке ключей. Подробнее о работе с ключом доступа.

  8. Получите токен с помощью curl-запроса:

    curl --location 'https://iam.api.cloud.ru/api/v1/auth/token' \
    --header 'Content-Type: application/json' \
    --data '{
    "keyId": "<keyId>",
    "secret": "<secret>"
    }'

    Где:

    • <keyId> — Key ID (логин) ключа доступа.

    • <secret> — Key Secret (пароль) ключа доступа.

Используйте токен при каждом API-запросе к сервису — передайте его в заголовке Authorization в формате:

Authorization: Bearer $TOKEN