Настроить права доступа к секрету
- В консоли управления
выберите каталог, которому принадлежит секрет. - В списке сервисов выберите Lockbox.
- Нажмите на имя нужного секрета.
- На панели слева выберите раздел
Права доступа и нажмите кнопку Назначить роли. - В открывшемся окне нажмите
Выбрать пользователя. - Выберите группу, пользователя или сервисный аккаунт, которым нужно предоставить доступ к секрету.
- Нажмите кнопку
Добавить роль и выберите необходимые роли. - Нажмите Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --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.
-
Опишите в конфигурационном файле параметры прав доступа к секрету:
resource "yandex_lockbox_secret_iam_binding" "secret-viewer" { secret_id = "<идентификатор_секрета>" role = "<роль>" members = [ "serviceAccount:<идентификатор_сервисного_аккаунта_1>", "serviceAccount:<идентификатор_сервисного_аккаунта_2>" ] }
Где:
secret_id
— идентификатор секрета.role
— назначаемая роль.members
— идентификаторы пользователей, групп или сервисных аккаунтов, которым будет присвоена роль.
Более подробную информацию о параметрах ресурса
yandex_lockbox_secret_iam_binding
в 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.
Важно
Если вы назначите группе, пользователю или сервисному аккаунту роль на каталог или облако, в которых находится секрет, все разрешения этой роли будут действовать и для секрета.
Подробнее об этом читайте в разделе Как устроено управление доступом.