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

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

  • Назначить роль
  • Назначить несколько ролей
  1. Пошаговые инструкции
  2. Электронная подпись
  3. Права доступа к ключевой паре электронной подписи

Настройка прав доступа к ключевой паре электронной подписи

Статья создана
Yandex Cloud
Улучшена
Обновлена 20 мая 2025 г.
  • Назначить роль
  • Назначить несколько ролей

Вы можете предоставить пользователю, сервисному аккаунту или группе пользователей доступ к асимметричной ключевой паре электронной подписи. Для этого назначьте роли на ключевую пару электронной подписи. Чтобы выбрать нужные роли, узнайте, какие роли действуют в сервисе.

Назначить рольНазначить роль

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором находится асимметричная ключевая пара шифрования.
  2. В списке сервисов выберите Key Management Service.
  3. На панели слева выберите Асимметричные ключи.
  4. На вкладке Подпись нажмите на имя нужной ключевой пары.
  5. Перейдите в раздел Права доступа и нажмите кнопку Назначить роли.
  6. Выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к ключевой паре.
  7. Нажмите кнопку Добавить роль и выберите необходимые роли.
  8. Нажмите кнопку Сохранить.

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

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

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

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

    yc kms asymmetric-signature-key add-access-binding --help
    
  2. Получите список ключевых пар электронной подписи вместе с их идентификаторами:

    yc kms asymmetric-signature-key list
    
  3. Получите идентификатор пользователя, сервисного аккаунта или группы пользователей, которым назначаете роль.

  4. С помощью одной из команд ниже назначьте роль:

    • Пользователю:

      yc kms asymmetric-signature-key add-access-binding \
        --id <идентификатор_ключевой_пары> \
        --role <роль> \
        --user-account-id <идентификатор_пользователя>
      
    • Федеративному пользователю:

      yc kms asymmetric-signature-key add-access-binding \
        --id <идентификатор_ключевой_пары> \
        --role <роль> \
        --subject federatedUser:<идентификатор_пользователя>
      
    • Сервисному аккаунту:

      yc kms asymmetric-signature-key add-access-binding \
        --id <идентификатор_ключевой_пары> \
        --role <роль> \
        --service-account-id <идентификатор_сервисного_аккаунта>
      
    • Группе пользователей:

      yc kms asymmetric-signature-key add-access-binding \
        --id <идентификатор_ключевой_пары> \
        --role <роль> \
        --subject group:<идентификатор_группы>
      

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

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

Чтобы назначить роль на асимметричную ключевую пару электронной подписи с помощью Terraform:

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

    resource "yandex_kms_asymmetric_signature_key" "key-viewers" {
      asymmetric_signaturen_key_id  = "<идентификатор_ключевой_пары>"
      role                          = "<роль_1>"
      members                       = ["<тип_субъекта>:<идентификатор_субъекта>"]
    }
    

    Где:

    • asymmetric_signaturen_key_id — идентификатор ключевой пары электронной подписи.
    • role — назначаемая роль.
    • members — список типов и идентификаторов субъектов, которым назначается роль. Указывается в формате userAccount:<идентификатор_пользователя> или serviceAccount:<идентификатор_сервисного_аккаунта>.

    Подробнее о параметрах ресурса yandex_kms_asymmetric_signature_key см. в документации провайдера.

  2. Создайте ресурсы:

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

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

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

    4. Примените изменения конфигурации:

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

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

    yc kms asymmetric-signature-key list-access-bindings <идентификатор_ключевой_пары>
    

Воспользуйтесь методом updateAccessBindings для ресурса AsymmetricSignatureKey или вызовом gRPC API AsymmetricSignatureKeyService/UpdateAccessBindings и передайте в запросе:

  • Значение ADD в параметре access_binding_deltas[].action, чтобы добавить роль.
  • Роль в параметре access_binding_deltas[].access_binding.role_id.
  • Идентификатор субъекта, на кого назначается роль, в параметре access_binding_deltas[].access_binding.subject.id.
  • Тип субъекта, на кого назначается роль, в параметре access_binding_deltas[].access_binding.subject.type.

Назначить несколько ролейНазначить несколько ролей

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором находится асимметричная ключевая пара шифрования.
  2. В списке сервисов выберите Key Management Service.
  3. На панели слева выберите Асимметричные ключи.
  4. На вкладке Подпись нажмите на имя нужной ключевой пары.
  5. Перейдите в раздел Права доступа и нажмите кнопку Назначить роли.
  6. Выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к ключевой паре.
  7. Нажмите кнопку Добавить роль и выберите необходимые роли.
  8. Нажмите кнопку Сохранить.

Внимание

Команда set-access-bindings для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.

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

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

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

  1. Убедитесь, что на ключевую пару не назначены роли, которые вы не хотите потерять:

    yc kms asymmetric-signature-key list-access-bindings \
      --id <идентификатор_ключевой_пары>
    
  2. Посмотрите описание команды CLI для назначения ролей:

    yc kms asymmetric-signature-key set-access-bindings --help
    
  3. Получите список ключевых пар электронной подписи вместе с их идентификаторами:

    yc kms asymmetric-signature-key list
    
  4. Получите идентификатор пользователя, сервисного аккаунта или группы пользователей, которым назначаете роли.

  5. С помощью одной из команд ниже назначьте роли:

    • Пользователю с аккаунтом на Яндексе:

      yc kms asymmetric-signature-key set-access-bindings \
        --id <идентификатор_ключевой_пары> \
        --access-binding role=<роль>,user-account-id=<идентификатор_пользователя>
      
    • Федеративному пользователю:

      yc kms asymmetric-signature-key set-access-bindings \
        --id <идентификатор_ключевой_пары> \
        --access-binding role=<роль>,subject=federatedUser:<идентификатор_пользователя>
      
    • Сервисному аккаунту:

      yc kms asymmetric-signature-key set-access-bindings \
        --id <идентификатор_ключевой_пары> \
        --access-binding role=<роль>,service-account-id=<идентификатор_сервисного_аккаунта>
      
    • Группе пользователей:

      yc kms asymmetric-signature-key set-access-bindings \
        --id <идентификатор_ключевой_пары> \
        --access-binding role=<роль>,subject=group:<идентификатор_группы>
      

    Для каждой роли передайте отдельный параметр --access-binding. Пример:

    yc kms asymmetric-signature-key set-access-bindings \
      --id <идентификатор_ключевой_пары> \
      --access-binding role=<роль1>,service-account-id=<идентификатор_сервисного_аккаунта> \
      --access-binding role=<роль2>,service-account-id=<идентификатор_сервисного_аккаунта> \
      --access-binding role=<роль3>,service-account-id=<идентификатор_сервисного_аккаунта>
    

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

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

Чтобы назначить несколько ролей на асимметричную ключевую пару электронной подписи с помощью Terraform:

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

    # Роль 1
    resource "yandex_kms_asymmetric_signature_key" "key-viewers" {
      asymmetric_signaturen_key_id = "<идентификатор_ключевой_пары>"
      role                         = "<роль_1>"
      members                      = ["<тип_субъекта>:<идентификатор_субъекта>"]
    }
    
    # Роль 2
    resource "yandex_kms_asymmetric_signature_key" "key-editors" {
      asymmetric_signaturen_key_id = "<идентификатор_ключевой_пары>"
      role                         = "<роль_2>"
      members                      = ["<тип_субъекта>:<идентификатор_субъекта>"]
    }
    

    Где:

    • asymmetric_signaturen_key_id — идентификатор ключевой пары электронной подписи.
    • role — назначаемая роль.
    • members — список типов и идентификаторов субъектов, которым назначается роль. Указывается в формате userAccount:<идентификатор_пользователя> или serviceAccount:<идентификатор_сервисного_аккаунта>.

    Подробнее о параметрах ресурса yandex_kms_asymmetric_signature_key см. в документации провайдера.

  2. Создайте ресурсы:

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

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

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

    4. Примените изменения конфигурации:

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

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

    yc kms asymmetric-signature-key list-access-bindings <идентификатор_ключевой_пары>
    

Внимание

Метод setAccessBindings для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.

Воспользуйтесь методом SetAccessBindings для ресурса AsymmetricSignatureKey или вызовом gRPC API AsymmetricSignatureKeyService/SetAccessBindings. Передайте в запросе массив из объектов, каждый из которых соответствует отдельной роли и содержит следующие данные:

  • Роль в параметре access_bindings[].role_id.
  • Идентификатор субъекта, на кого назначаются роли, в параметре access_bindings[].subject.id.
  • Тип субъекта, на кого назначаются роли, в параметре access_bindings[].subject.type.

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

Предыдущая
Ключевая пара электронной подписи
Следующая
Электронная подпись и проверка подписи
Проект Яндекса
© 2025 ООО «Яндекс.Облако»