Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Identity and Access Management
  • Начало работы
    • Как управлять доступом к ресурсам
    • Как работать с сервисными аккаунтами
  • Пошаговые инструкции
    • Все инструкции
    • Пользователи
      • Добавление пользователя
      • Получение идентификатора или почты пользователя
      • Удаление пользователя
    • Сервисные аккаунты
      • Создание сервисного аккаунта
      • Изменение сервисного аккаунта
      • Назначение роли сервисному аккаунту
      • Настройка прав доступа к сервисному аккаунту
      • Создание статических ключей доступа
      • Получение идентификатора сервисного аккаунта
      • Удаление сервисного аккаунта
    • Федерации удостоверений
      • Аутентификация с помощью Active Directory
      • Аутентификация с помощью G-Suite
      • Аутентификация с помощью федерации удостоверений
      • Добавление пользователей
    • Роли
      • Назначение роли
      • Просмотр назначенных ролей
      • Отзыв роли
    • IAM-токены
      • Получение IAM-токена для аккаунта на Яндексе
      • Получение IAM-токена для сервисного аккаунта
      • Получение IAM-токена для федеративного аккаунта
    • Ключи
      • Создание API-ключа
      • Удаление API-ключа
      • Создание авторизованного ключа
  • Концепции
    • Обзор
    • Как устроено управление доступом
      • Обзор
      • Роли
      • Системные группы
      • Ресурсы, на которые можно назначать роли
    • Авторизация
      • Обзор
      • IAM-токен
      • OAuth-токен
      • API-ключ
      • Авторизованные ключи
      • AWS-совместимые ключи доступа
    • Сервисные аккаунты
    • SAML-совместимые федерации удостоверений
    • Квоты и лимиты
  • Безопасное использование Yandex.Cloud
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • ApiKeyService
      • IamTokenService
      • KeyService
      • RoleService
      • ServiceAccountService
      • UserAccountService
      • YandexPassportUserAccountService
      • AccessKeyService
      • CertificateService
      • FederationService
      • OperationService
    • REST
      • Обзор
      • ApiKey
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • IamToken
        • Обзор
        • create
      • Key
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • Role
        • Обзор
        • get
        • list
      • ServiceAccount
        • Обзор
        • create
        • delete
        • get
        • list
        • listAccessBindings
        • listOperations
        • setAccessBindings
        • update
        • updateAccessBindings
      • UserAccount
        • Обзор
        • get
      • YandexPassportUserAccount
        • Обзор
        • getByLogin
      • Operation
        • Обзор
        • get
      • Federation
        • Обзор
        • update
        • list
        • listUserAccounts
        • get
        • delete
        • addUserAccounts
        • create
        • listOperations
      • Certificate
        • Обзор
        • update
        • list
        • get
        • delete
        • create
        • listOperations
      • AccessKey
        • Обзор
        • update
        • list
        • get
        • delete
        • create
        • listOperations
  • Вопросы и ответы
    • Общие вопросы
    • Вход в систему и доступ к ресурсам
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Ключи
  3. Создание API-ключа

Создание API-ключа

  • Примеры
    • Добавить описание при создании

Это инструкция по созданию API-ключа для сервисного аккаунта. API-ключ — секретный ключ, используемый для упрощенной авторизации в API Yandex.Cloud.

Если у вас еще нет сервисного аккаунта, создайте его и назначьте ему роли.

Чтобы создать API-ключ:

Консоль управления
CLI
API
  1. Перейдите в каталог, которому принадлежит сервисный аккаунт.

  2. Выберите вкладку Сервисные аккаунты.

  3. Выберите сервисный аккаунт и нажмите на строку с его именем.

  4. Нажмите кнопку Создать новый ключ на верхней панели.

  5. Выберите пункт Создать API-ключ.

  6. Задайте описание ключа, чтобы потом было проще найти его в консоли управления.

  7. Сохраните идентификатор и секретный ключ.

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

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  1. Посмотрите описание команды создания API-ключа:

    $ yc iam api-key create --help
    
  2. Выберите сервисный аккаунт, например my-robot:

    $ yc iam service-account list
    +----------------------+------------------+-------------------------------+
    |          ID          |       NAME       |          DESCRIPTION          |
    +----------------------+------------------+-------------------------------+
    | aje6o61dvog2h6g9a33s | my-robot         |                               |
    | aje9sda1ufvqcmfksd3f | blabla           | bla bla bla is my description |
    +----------------------+------------------+-------------------------------+
    
  3. Создайте API-ключ для сервисного аккаунта my-robot и запишите ответ в файл:

    $ yc iam api-key create --service-account-name my-robot > api-key.yaml
    

    В ответе в свойстве secret будет содержаться API-ключ:

    api_key:
      id: ajeke74kbp5bfq7m6ka2
      service_account_id: ajepg0mjt06siuj65usm
      created_at: "2019-04-09T08:41:27Z"
    secret: AQVN1HHJReSrfo9jU3aopsXrJyfq_UHsssT5ICtm
    

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

  1. Узнайте идентификатор сервисного аккаунта.

  2. Создайте API-ключ с помощью метода create для ресурса ApiKey:

    $ export SERVICEACCOUNT_ID=aje6o61dvog2h6g9a33s
    $ export IAM_TOKEN=CggaATEVAgA...
    $ curl -X POST \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $IAM_TOKEN" \
        -d "{ \"serviceAccountId\": \"$SERVICEACCOUNT_ID\" }" \
        https://iam.api.cloud.yandex.net/iam/v1/apiKeys
    

Примеры

Добавить описание при создании

Чтобы было проще найти API-ключ не зная его идентификатора, добавьте описание при создании:

CLI
API
$ yc iam api-key create --service-account-name my-robot \
    --description "this API-key is for my-robot"
$ export SERVICEACCOUNT_ID=aje6o61dvog2h6g9a33s
$ export IAM_TOKEN=CggaATEVAgA...
$ curl -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $IAM_TOKEN" \
    -d "{
        \"serviceAccountId\": \"$SERVICEACCOUNT_ID\",
        \"description\": \"this API-key is for my-robot\"
    }" \
    https://iam.api.cloud.yandex.net/iam/v1/apiKeys

Что дальше

  • Узнайте, какие сервисы поддерживают API-ключи
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»