Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Identity and Access Management
    • Все инструкции
    • Обработка секретов, попавших в открытый доступ
      • Управление статическими ключами доступа
      • Управление API-ключами
      • Управление авторизованными ключами
      • Создание временного ключа доступа с помощью Security Token Service
  • Безопасное использование Yandex Cloud
  • Управление доступом
  • Правила тарификации
  • Справочник ролей
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Создать авторизованный ключ
  • Удалить авторизованный ключ
  1. Пошаговые инструкции
  2. Аутентификация
  3. Управление авторизованными ключами

Управление авторизованными ключами

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 28 апреля 2025 г.
  • Создать авторизованный ключ
  • Удалить авторизованный ключ

Авторизованный ключ — это ключ с неограниченным сроком жизни, использующийся для получения IAM-токена сервисного аккаунта: закрытая часть авторизованного ключа используется для формирования JSON Web Token (JWT), который затем обменивается на IAM-токен.

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

Создать авторизованный ключСоздать авторизованный ключ

Чтобы создать авторизованный ключ сервисного аккаунта:

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, которому принадлежит сервисный аккаунт.
  2. В списке сервисов выберите Identity and Access Management.
  3. На панели слева выберите Сервисные аккаунты.
  4. В открывшемся списке выберите сервисный аккаунт, для которого вы хотите создать авторизованный ключ.
  5. На панели сверху нажмите кнопку Создать новый ключ и выберите пункт Создать авторизованный ключ.
  6. Выберите алгоритм шифрования, при необходимости задайте описание ключа и нажмите кнопку Создать. В открывшемся окне:
    1. Скопируйте открытую и закрытую части ключа и надежно сохраните. Закрытая часть ключа не сохраняется в Yandex Cloud и получить ее повторно будет невозможно. Открытую часть ключа нельзя будет посмотреть в консоли управления.

      Также вы можете скачать ключи одним файлом в формате JSON. Для этого нажмите кнопку Скачать файл с ключами.

    2. Нажмите кнопку Закрыть.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

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

    yc iam service-account list
    

    Результат:

    +----------------------+------------------+-------------------------------+
    |          ID          |       NAME       |          DESCRIPTION          |
    +----------------------+------------------+-------------------------------+
    | aje6o61dvog2******** | my-robot         |                               |
    | aje9sda1ufvq******** | account_name     | account_description           |
    +----------------------+------------------+-------------------------------+
    
  3. Создайте авторизованный ключ для сервисного аккаунта my-robot:

    yc iam key create \
      --service-account-name my-robot \
      -o my-robot-key.json
    

    В случае успеха в файл my-robot-key.json будет сохранен созданный авторизованный ключ.

    Пример файла с ключом:

    {
       "id": "lfkoe35hsk58********",
       "service_account_id": "ajepg0mjt06s********",
       "created_at": "2019-03-20T10:04:56Z",
       "key_algorithm": "RSA_2048",
       "public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\n",
       "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
    }
    

    Скопируйте открытую и закрытую части ключа (значения полей public_key и private_key) и надежно сохраните. Закрытая часть ключа не сохраняется в Yandex Cloud и получить ее повторно будет невозможно.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:

    resource "yandex_iam_service_account_key" "sa-auth-key" {
      service_account_id = "<идентификатор_сервисного_аккаунта>"
      description        = "<описание_ключа>"
      key_algorithm      = "<алгоритм_генерации_ключа>"
      pgp_key            = "<pgp-ключ>"
      output_to_lockbox  {
        secret_id             = "<идентификатор_секрета_Lockbox>"
        entry_for_private_key = "<ключ_секрета>"
      }
    }
    

    Где:

    • service_account_id — идентификатор сервисного аккаунта. Обязательный параметр.
    • description — описание ключа. Необязательный параметр.
    • key_algorithm — алгоритм генерации ключа. Необязательный параметр. По умолчанию используется алгоритм RSA_2048. Допустимые значения параметра см. в документации API.
    • pgp_key — дополнительный PGP-ключ для шифрования закрытого ключа. Необязательный параметр. Указывается публичная часть ключа в кодировке base64, либо в виде keybase:keybaseusername.
    • output_to_lockbox — описание секрета Yandex Lockbox, в который будет сохранено секретное значение ключа, во избежание его возможной утечки через файл состояния terraform.tfstate. Необязательный параметр. Вложенные параметры:
      • secret_id — идентификатор секрета Yandex Lockbox, в который будет сохранена закрытая часть авторизованного ключа. Секрет должен быть пользовательского типа.
      • entry_for_private_key — ключ секрета, который будет присвоен сохраняемому значению закрытой части авторизованного ключа.

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

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

      terraform plan
      

    Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите создание ресурсов: введите в терминал слово yes и нажмите Enter.

    После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления, а также с помощью команды CLI:

    yc iam key list --service-account-id <идентификатор_сервисного_аккаунта>
    

Воспользуйтесь методом REST API create для ресурса Key или вызовом gRPC API KeyService/Create.

Пример запроса с помощью cURL для метода REST API create:

curl \
  --request POST \
  --header 'Content-Type: application/json' \
  --header "Authorization: Bearer <IAM-токен>" \
  --data '{"serviceAccountId": "<идентификатор_сервисного_аккаунта>"}' \
  https://iam.api.cloud.yandex.net/iam/v1/keys

Где:

  • <IAM-токен> — IAM-токен пользователя, у которого есть права на создание ключей для указанного сервисного аккаунта.
  • <идентификатор_сервисного_аккаунта> — идентификатор сервисного аккаунта, для которого создаются ключи.

В случае успеха в ответе сервера будут указаны открытая (publicKey) и закрытая (privateKey) части авторизованного ключа. Сохраните эти данные. Повторно получить значение закрытого ключа будет невозможно.

Пример ответа сервера:

{
    "key": {
        "createdAt": "2018-10-30T15:55:00+00:00",
        "description": "",
        "id": "lfkoe35hsk58********",
        "keyAlgorithm": "RSA_2048",
        "publicKey": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\n",
        "serviceAccountId": "ajepg0mjt06s********"
    },
    "privateKey": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
}

Удалить авторизованный ключУдалить авторизованный ключ

Чтобы удалить авторизованный ключ сервисного аккаунта:

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, которому принадлежит сервисный аккаунт.
  2. В списке сервисов выберите Identity and Access Management.
  3. На панели слева выберите Сервисные аккаунты и выберите нужный сервисный аккаунт.
  4. В блоке Авторизованные ключи в строке с ключом, который нужно удалить, нажмите значок и выберите Удалить.
  5. В открывшемся окне подтвердите удаление.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Получите список авторизованных ключей для определенного сервисного аккаунта, указав его имя:

    yc iam key list \
      --service-account-name <имя_сервисного_аккаунта>
    

    Результат:

    +----------------------+-------------------------------------+-----------+---------------------+
    |          ID          |               SUBJECT               | ALGORITHM |     CREATED AT      |
    +----------------------+-------------------------------------+-----------+---------------------+
    | ajeave7oktut******** | serviceAccount:ajeedllrkjma******** | RSA_2048  | 2022-03-13 20:14:22 |
    | ajeb794igb80******** | serviceAccount:ajeedllrkjma******** | RSA_2048  | 2022-03-13 20:06:13 |
    +----------------------+-------------------------------------+-----------+---------------------+
    
  2. Удалите авторизованный ключ, указав его идентификатор:

    yc iam key delete <идентификатор_ключа>
    

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Откройте файл конфигурации Terraform и удалите секцию с описанием авторизованного ключа.

    Пример описания авторизованного ключа в конфигурации Terraform:

    resource "yandex_iam_service_account_key" "sa-auth-key" {
      service_account_id = "<идентификатор_сервисного_аккаунта>"
      description        = "<описание_ключа>"
      key_algorithm      = "<алгоритм_генерации_ключа>"
      pgp_key            = "<pgp-ключ>"
      output_to_lockbox  {
        secret_id             = "<идентификатор_секрета_Lockbox>"
        entry_for_private_key = "<ключ_секрета>"
      }
    }
    

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

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

      terraform plan
      

    Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите создание или удаление ресурсов: введите в терминал слово yes и нажмите Enter.

    После этого в указанном каталоге будут созданы или удалены все требуемые ресурсы. Проверить появление ресурсов и их настройки или удаление ресурсов можно в консоли управления, а также с помощью команды CLI:

    yc iam key list --service-account-id <идентификатор_сервисного_аккаунта>
    

Воспользуйтесь методом REST API delete для ресурса Key или вызовом gRPC API KeyService/Delete.

См. такжеСм. также

  • Авторизованные ключи
  • Получение IAM-токена для сервисного аккаунта

Была ли статья полезна?

Предыдущая
Управление API-ключами
Следующая
Создание временного ключа доступа с помощью Security Token Service
Проект Яндекса
© 2025 ООО «Яндекс.Облако»