Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Key Management Service
  • Начало работы
    • Все инструкции
      • Ключ
      • Версия ключа
      • Шифрование данных
      • Права доступа к ключу шифрования
    • Посмотреть операции с ресурсами сервиса
  • Управление доступом
  • Правила тарификации
  • Справочник 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 symmetric-key add-access-binding --help
    
  2. Получите список симметричных ключей вместе с их идентификаторами:

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

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

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

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

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

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

      yc kms symmetric-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_symmetric_encryption_key_iam_member" "key-viewers" {
      symmetric_encryption_key_id = "<идентификатор_ключа>"
    
      role    = "<роль>"
      members = ["<тип_субъекта>:<идентификатор_субъекта>","<тип_субъекта>:<идентификатор_субъекта>"]
    }
    

    Где:

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

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

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

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

    yc kms symmetric-key list-access-bindings <идентификатор_ключа>
    

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

  • Значение ADD в параметре accessBindingDeltas[].action, чтобы добавить роль.
  • Роль в параметре accessBindingDeltas[].accessBinding.roleId.
  • Идентификатор субъекта, на кого назначается роль, в параметре accessBindingDeltas[].accessBinding.subject.id.
  • Тип субъекта, на кого назначается роль, в параметре accessBindingDeltas[].accessBinding.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 symmetric-key list-access-bindings \
      --id <идентификатор_ключа>
    
  2. Посмотрите описание команды CLI для назначения ролей:

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

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

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

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

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

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

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

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

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

    yc kms symmetric-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_symmetric_encryption_key_iam_member" "key-viewers" {
      symmetric_encryption_key_id = "<идентификатор_ключа>"
    
      role    = "<роль_1>"
      members = ["<тип_субъекта>:<идентификатор_субъекта>"]
    }
    
    # Роль 2
    resource "yandex_kms_symmetric_encryption_key_iam_member" "key-editors" {
      symmetric_encryption_key_id = "<идентификатор_ключа>"
    
      role    = "<роль_2>"
      members = ["<тип_субъекта>:<идентификатор_субъекта>"]
    }
    

    Где:

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

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

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

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

    yc kms symmetric-key list-access-bindings <идентификатор_ключа>
    

Внимание

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

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

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

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

Предыдущая
Шифрование данных
Следующая
Ключевая пара шифрования
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»