Настроить права доступа к сертификату
Чтобы предоставить пользователю, группе или сервисному аккаунту доступ к сертификату, назначьте на него роль.
Назначить роль
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для назначения роли на сертификат:
yc certificate-manager certificate add-access-binding --help -
Получите список сертификатов в каталоге по умолчанию:
yc certificate-manager certificate listРезультат:
+----------------------+--------+-------------+---------------------+----------+---------+ | ID | NAME | DOMAINS | NOT AFTER | TYPE | STATUS | +----------------------+--------+-------------+---------------------+----------+---------+ | fpqgbg3fajpg******** | cert-1 | example.com | 2026-01-04 13:58:14 | IMPORTED | ISSUED | | fpqlhev2j4ad******** | cert-2 | example.com | 2026-01-04 14:07:02 | IMPORTED | ISSUED | +----------------------+--------+-------------+---------------------+----------+---------+ -
Посмотрите список ролей, которые уже назначены на ресурс:
yc certificate-manager certificate list-access-bindings <идентификатор_сертификата> -
Назначьте роль с помощью команды:
-
Пользователю:
yc certificate-manager certificate add-access-binding <идентификатор_сертификата> \ --user-account-id <идентификатор_пользователя> \ --role <роль>Где:
--user-account-id— идентификатор пользователя.--role— назначаемая роль.
-
Сервисному аккаунту:
yc certificate-manager certificate add-access-binding <идентификатор_сертификата> \ --service-account-id <идентификатор_сервисного_аккаунта> \ --role <роль>Где:
--service-account-id— идентификатор сервисного аккаунта.--role— назначаемая роль.
-
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы назначить роль на сертификат с помощью Terraform:
-
Опишите в конфигурационном файле Terraform параметры ресурсов, которые необходимо создать:
resource "yandex_cm_certificate_iam_member" "mycert-roles" { certificate_id = "<идентификатор_сертификата>" role = "<роль>" member = "<тип_субъекта>:<идентификатор_субъекта>" }Где:
certificate_id— идентификатор сертификата.role— назначаемая роль.member— тип и идентификатор субъекта, которому назначается роль. Указывается в форматеuserAccount:<идентификатор_пользователя>илиserviceAccount:<идентификатор_сервисного_аккаунта>.
Подробнее о параметрах ресурса
yandex_cm_certificate_iam_memberсм. в документации провайдера. -
Создайте ресурсы:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно с помощью команды CLI:
yc certificate-manager certificate list-access-bindings <идентификатор_сертификата> -
Воспользуйтесь методом REST API updateAccessBindings для ресурса Certificate или вызовом gRPC API CertificateService/UpdateAccessBindings. В теле запроса в свойстве action укажите ADD, а в свойстве subject — тип и идентификатор пользователя.
Назначить несколько ролей
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Вы можете назначить несколько ролей с помощью команды set-access-bindings.
Внимание
Команда set-access-bindings полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.
-
Посмотрите список ролей, назначенных на сертификат:
yc certificate-manager certificate list-access-bindings <идентификатор_сертификата>Если роли надо сохранить, укажите их в команде назначения ролей.
-
Посмотрите описание команды CLI для назначения ролей на сертификат:
yc certificate-manager certificate set-access-bindings --help -
Назначьте роли:
yc certificate-manager certificate set-access-bindings <идентификатор_сертификата> \ --access-binding role=<роль>,subject=<тип_субъекта>:<идентификатор_субъекта>Где:
--access-binding— назначаемая роль:role— идентификатор назначаемой роли.subject— тип и идентификатор субъекта, которому назначается роль.
Например, назначьте роли нескольким пользователям и сервисному аккаунту:
yc certificate-manager certificate set-access-bindings my-certificate \ --access-binding role=editor,subject=userAccount:gfei8n54hmfh******** --access-binding role=viewer,subject=userAccount:helj89sfj80a******** --access-binding role=editor,subject=serviceAccount:ajel6l0jcb9s********
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы назначить несколько ролей на сертификат с помощью Terraform:
-
Опишите в конфигурационном файле Terraform параметры ресурсов, которые необходимо создать:
resource "yandex_cm_certificate_iam_member" "mycert-roles1" { certificate_id = "<идентификатор_сертификата>" role = "<роль_1>" member = "<тип_субъекта>:<идентификатор_субъекта>" } resource "yandex_cm_certificate_iam_member" "mycert-roles2" { certificate_id = "<идентификатор_сертификата>" role = "<роль_2>" member = "<тип_субъекта>:<идентификатор_субъекта>" }Где:
certificate_id— идентификатор сертификата.role— назначаемая роль.member— тип и идентификатор субъекта, которому назначается роль. Указывается в форматеuserAccount:<идентификатор_пользователя>илиserviceAccount:<идентификатор_сервисного_аккаунта>.
Подробнее о параметрах ресурса
yandex_cm_certificate_iam_memberсм. в документации провайдера. -
Создайте ресурсы:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно с помощью команды CLI:
yc certificate-manager certificate list-access-bindings <идентификатор_сертификата> -
Воспользуйтесь методом REST API setAccessBindings для ресурса Certificate или вызовом gRPC API CertificateService/SetAccessBindings.
Отозвать роль
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды CLI для отзыва роли на сертификат:
yc certificate-manager certificate remove-access-binding --help -
Посмотрите, кому и какие роли назначены на ресурс:
yc certificate-manager certificate list-access-bindings <идентификатор_сертификата> -
Чтобы отозвать права доступа, выполните команду:
yc certificate-manager certificate remove-access-binding <идентификатор_сертификата> \ --role <идентификатор_роли> \ --subject <тип_субъекта>:<идентификатор_субъекта>Где:
--role— идентификатор роли, которую надо отозвать.--subject— субъект, у которого отзывается роль.
Например, чтобы отозвать роль
viewerу пользователя с идентификаторомajel6l0jcb9s********:yc certificate-manager certificate remove-access-binding my-certificate \ --role viewer \ --subject userAccount:ajel6l0jcb9s********
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы отозвать роль, назначенную на сертификат:
-
Откройте файл конфигурации Terraform и удалите фрагмент с описанием роли:
resource "yandex_cm_certificate_iam_member" "mycert-roles" { certificate_id = "<идентификатор_сертификата>" role = "<роль>" member = "<тип_субъекта>:<идентификатор_субъекта>" } -
Примените изменения:
-
В терминале перейдите в директорию с конфигурационным файлом.
-
Проверьте корректность конфигурации с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Проверить изменения можно с помощью команды CLI:
yc certificate-manager certificate list-access-bindings <идентификатор_сертификата> `` -
Чтобы отозвать роли на сертификат, воспользуйтесь методом REST API updateAccessBindings для ресурса Certificate или вызовом gRPC API CertificateService/UpdateAccessBindings. В теле запроса в свойстве action укажите REMOVE, а в свойстве subject — тип и идентификатор пользователя.