Настроить права доступа к секрету
- В консоли управления
выберите каталог, которому принадлежит секрет. - В списке сервисов выберите Lockbox.
- Нажмите на имя нужного секрета.
- На панели слева выберите раздел
Права доступа и нажмите кнопку Назначить роли. - В открывшемся окне нажмите
Выбрать пользователя. - Выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к секрету.
- Нажмите кнопку
Добавить роль и выберите необходимые роли. - Нажмите Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Получите идентификатор секрета (столбец
IDв выводе команды):yc lockbox secret listРезультат:
+----------------------+-------------+------------+---------------------+----------------------+--------+ | ID | NAME | KMS KEY ID | CREATED AT | CURRENT VERSION ID | STATUS | +----------------------+-------------+------------+---------------------+----------------------+--------+ | e6qetpqfe8vvag9h7jkr | test-secret | | 2023-12-06 15:12:13 | e6qdnt9t2qsdggusve4g | ACTIVE | +----------------------+-------------+------------+---------------------+----------------------+--------+ -
Чтобы назначить роль на секрет:
-
Пользователю:
yc lockbox secret add-access-binding \ --id <идентификатор_секрета> \ --user-account-id <идентификатор_пользователя> \ --role <роль>Где:
--id— идентификатор секрета.--user-account-id— идентификатор пользователя.--role— назначаемая роль.
-
yc lockbox secret add-access-binding \ --id <идентификатор_секрета> \ --service-account-id <идентификатор_сервисного_аккаунта> \ --role <роль>Где:
--id— идентификатор секрета.--service-account-id— идентификатор сервисного аккаунта.--role— назначаемая роль.
-
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите права доступа к секрету в конфигурационном файле Terraform:
resource "yandex_lockbox_secret_iam_member" "secret-viewer" { secret_id = "<идентификатор_секрета>" role = "<роль>" members = [ "serviceAccount:<идентификатор_сервисного_аккаунта_1>", "serviceAccount:<идентификатор_сервисного_аккаунта_2>" ] }Где:
secret_id— идентификатор секрета.role— назначаемая роль.members— список типов и идентификаторов субъектов, которым назначается роль. Указывается в форматеuserAccount:<идентификатор_пользователя>илиserviceAccount:<идентификатор_сервисного_аккаунта>.
Более подробную информацию о параметрах ресурса
yandex_lockbox_secret_iam_memberв Terraform, см. в документации провайдера. -
Создайте ресурсы
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
или с помощью команды CLI:yc lockbox secret list-access-binding <идентификатор_секрета> -
Чтобы настроить права доступа к секрету, воспользуйтесь методом REST API setAccessBindings для ресурса Secret или вызовом gRPC API SecretService/SetAccessBindings.
Важно
Если вы назначите группе, пользователю или сервисному аккаунту роль на каталог или облако, в которых находится секрет, все разрешения этой роли будут действовать и для секрета.
Подробнее об этом читайте в разделе Как устроено управление доступом.