Настройка прав доступа к асимметричной ключевой паре шифрования
Вы можете предоставить пользователю, сервисному аккаунту или группе пользователей доступ к асимметричной ключевой паре шифрования. Для этого назначьте роли на ключевую пару. Чтобы выбрать нужные, узнайте, какие роли действуют в сервисе.
Назначить роль
- В консоли управления
выберите каталог, в котором находится асимметричная ключевая пара шифрования. - В списке сервисов выберите Key Management Service.
- На панели слева выберите Асимметричные ключи.
- На вкладке Шифрование нажмите на имя нужной ключевой пары.
- Перейдите в раздел
Права доступа и нажмите кнопку Назначить роли. - Выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к ключевой паре.
- Нажмите кнопку
Добавить роль и выберите необходимые роли. - Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы назначить роль на асимметричную ключевую пару шифрования:
-
Посмотрите описание команды CLI для назначения роли:
yc kms asymmetric-encryption-key add-access-binding --help
-
Получите список асимметричных ключевых пар вместе с их идентификаторами:
yc kms asymmetric-encryption-key list
-
Получите идентификатор пользователя, сервисного аккаунта или группы пользователей, которым назначаете роль.
-
С помощью одной из команд ниже назначьте роль:
-
Пользователю:
yc kms asymmetric-encryption-key add-access-binding \ --id <идентификатор_ключевой_пары> \ --role <роль> \ --user-account-id <идентификатор_пользователя>
-
Федеративному пользователю:
yc kms asymmetric-encryption-key add-access-binding \ --id <идентификатор_ключевой_пары> \ --role <роль> \ --subject federatedUser:<идентификатор_пользователя>
-
Сервисному аккаунту:
yc kms asymmetric-encryption-key add-access-binding \ --id <идентификатор_ключевой_пары> \ --role <роль> \ --service-account-id <идентификатор_сервисного_аккаунта>
-
Группе пользователей:
yc kms asymmetric-encryption-key add-access-binding \ --id <идентификатор_ключевой_пары> \ --role <роль> \ --subject group:<идентификатор_группы>
-
Воспользуйтесь вызовом gRPC API AsymmetricEncryptionKeyService/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
.
Назначить несколько ролей
- В консоли управления
выберите каталог, в котором находится асимметричная ключевая пара шифрования. - В списке сервисов выберите Key Management Service.
- На панели слева выберите Асимметричные ключи.
- На вкладке Шифрование нажмите на имя нужной ключевой пары.
- Перейдите в раздел
Права доступа и нажмите кнопку Назначить роли. - Выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к ключевой паре.
- Нажмите кнопку
Добавить роль и выберите необходимые роли. - Нажмите кнопку Сохранить.
Внимание
Команда set-access-bindings
для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы назначить несколько ролей на асимметричную ключевую пару шифрования:
-
Убедитесь, что на ключевую пару не назначены роли, которые вы не хотите потерять:
yc kms asymmetric-encryption-key list-access-bindings \ --id <идентификатор_ключевой_пары>
-
Посмотрите описание команды CLI для назначения ролей:
yc kms asymmetric-encryption-key set-access-bindings --help
-
Получите список асимметричных ключевых пар вместе с их идентификаторами:
yc kms asymmetric-encryption-key list
-
Получите идентификатор пользователя, сервисного аккаунта или группы пользователей, которым назначаете роли.
-
С помощью одной из команд ниже назначьте роли:
-
Пользователю с аккаунтом на Яндексе:
yc kms asymmetric-encryption-key set-access-bindings \ --id <идентификатор_ключевой_пары> \ --access-binding role=<роль>,user-account-id=<идентификатор_пользователя>
-
Федеративному пользователю:
yc kms asymmetric-encryption-key set-access-bindings \ --id <идентификатор_ключевой_пары> \ --access-binding role=<роль>,subject=federatedUser:<идентификатор_пользователя>
-
Сервисному аккаунту:
yc kms asymmetric-encryption-key set-access-bindings \ --id <идентификатор_ключевой_пары> \ --access-binding role=<роль>,service-account-id=<идентификатор_сервисного_аккаунта>
-
Группе пользователей:
yc kms asymmetric-encryption-key set-access-bindings \ --id <идентификатор_ключевой_пары> \ --access-binding role=<роль>,subject=group:<идентификатор_группы>
Для каждой роли передайте отдельный флаг
--access-binding
. Пример:yc kms asymmetric-encryption-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=<идентификатор_сервисного_аккаунта>
-
Внимание
Метод setAccessBindings
для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.
Воспользуйтесь вызовом gRPC API AsymmetricEncryptionKeyService/SetAccessBindings. Передайте в запросе массив из объектов, каждый из которых соответствует отдельной роли и содержит следующие данные:
- Роль в параметре
access_bindings[].role_id
. - Идентификатор субъекта, на кого назначаются роли, в параметре
access_bindings[].subject.id
. - Тип субъекта, на кого назначаются роли, в параметре
access_bindings[].subject.type
.