Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud DNS
  • Начало работы
    • Все инструкции
      • Создать внутреннюю зону DNS
      • Создать публичную зону DNS
      • Изменить зону DNS
      • Настроить права доступа к зоне DNS
      • Посмотреть операции с зонами DNS
      • Удалить зону DNS
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Назначить роль
  • Назначить несколько ролей
  • Отозвать роль
  1. Пошаговые инструкции
  2. Зоны
  3. Настроить права доступа к зоне DNS

Настроить права доступа к зоне DNS

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
  • Назначить роль
  • Назначить несколько ролей
  • Отозвать роль

Чтобы предоставить пользователю, группе или сервисному аккаунту доступ к зоне DNS, назначьте на нее роль.

Назначить рольНазначить роль

CLI
Terraform
API

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для назначения роли на зону DNS:

    yc dns zone add-access-binding --help
    
  2. Получите список зон DNS в каталоге по умолчанию:

    yc dns zone list
    
  3. Посмотрите список ролей, которые уже назначены на ресурс:

    yc dns zone list-access-bindings <идентификатор_зоны>
    
  4. Назначьте роль с помощью команды:

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

      yc dns zone add-access-binding <идентификатор_зоны> \
        --user-account-id <идентификатор_пользователя> \
        --role <роль>
      

      Где:

      • --user-account-id — идентификатор пользователя. Чтобы назначить роль для всех аутентифицированных пользователей, воспользуйтесь флагом --all-authenticated-users.
      • --role — назначаемая роль.
    • Сервисному аккаунту:

      yc dns zone add-access-binding <идентификатор_зоны> \
        --service-account-id <идентификатор_сервисного_аккаунта> \
        --role <роль>
      

      Где:

      • --service-account-id — идентификатор сервисного аккаунта.
      • --role — назначаемая роль.

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

Чтобы назначить роль на зону DNS с помощью Terraform:

  1. Опишите в конфигурационном файле Terraform параметры ресурсов, которые необходимо создать:

    resource "yandex_dns_zone_iam_binding" "zone-viewers" {
      dns_zone_id = "<идентификатор_зоны>"
      role        = "<роль>"
      members     = ["<тип_субъекта>:<идентификатор_субъекта>","<тип_субъекта>:<идентификатор_субъекта>"]
    }
    

    Где:

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

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

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

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

    yc dns zone list-access-bindings <идентификатор_зоны>
    

Чтобы назначить роль, воспользуйтесь методом REST API updateAccessBindings для ресурса DnsZone или вызовом gRPC API DnsZoneService/UpdateAccessBindings. В теле запроса в свойстве action укажите ADD, а в свойстве subject — тип и идентификатор пользователя.

Назначить несколько ролейНазначить несколько ролей

CLI
Terraform
API

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Вы можете назначить несколько ролей с помощью команды set-access-bindings.

Внимание

Команда set-access-binding полностью перезаписывает права доступа к ресурсу! Все текущие роли на ресурс будут удалены.

  1. Убедитесь, что на ресурс не назначены роли, которые вы не хотите потерять:

    yc dns zone list-access-bindings <идентификатор_зоны>
    
  2. Посмотрите описание команды CLI для назначения ролей на зону DNS:

    yc dns zone set-access-bindings --help
    
  3. Назначьте роли:

    yc dns zone set-access-bindings <идентификатор_зоны> \
      --access-binding role=<роль>,subject=<тип_субъекта>:<идентификатор_субъекта> \
      --access-binding role=<роль>,subject=<тип_субъекта>:<идентификатор_субъекта>
    

    Где:

    • --access-binding — параметры для установки прав доступа:

      • role — назначаемая роль.
      • subject — тип и идентификатор субъекта, которому назначается роль.

    Например, назначьте роли dns.editor нескольким пользователям и сервисному аккаунту:

    yc dns zone set-access-bindings my-disk-group \
      --access-binding role=dns.editor,subject=userAccount:gfei8n54hmfh********
      --access-binding role=dns.editor,subject=serviceAccount:ajel6l0jcb9s********
    

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

Чтобы назначить несколько ролей на зону DNS с помощью Terraform:

  1. Опишите в конфигурационном файле Terraform параметры ресурсов, которые необходимо создать:

    resource "yandex_dns_zone_iam_binding" "role1" {
      dns_zone_id = "<идентификатор_зоны>"
      role        = "<роль_1>"
      members     = ["<тип_субъекта>:<идентификатор_субъекта>"]
    }
    
    resource "yandex_dns_zone_iam_binding" "role2" {
      dns_zone_id = "<идентификатор_зоны>"
      role        = "<роль_2>"
      members     = ["<тип_субъекта>:<идентификатор_субъекта>"]
    }
    

    Где:

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

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

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

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

    yc dns zone list-access-bindings <идентификатор_зоны>
    

Чтобы назначить роли на ресурс, воспользуйтесь методом REST API setAccessBindings для ресурса DnsZone или вызовом gRPC API DnsZoneService/SetAccessBindings.

Внимание

Метод setAccessBindings и вызов DnsZoneService/SetAccessBindings полностью перезаписывают права доступа к ресурсу. Все текущие роли на ресурс будут удалены.

Отозвать рольОтозвать роль

CLI
Terraform
API

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для отзыва роли на зону DNS:

    yc dns zone add-access-binding --help
    
  2. Посмотрите список ролей, которые уже назначены на ресурс:

    yc dns zone list-access-bindings <идентификатор_зоны>
    
  3. Чтобы отозвать права доступа, выполните команду:

    yc dns zone remove-access-binding <идентификатор_зоны> \
      --role=<роль> \
      --subject=<тип_субъекта>:<идентификатор_субъекта> \
    

    Где:

    • --role — идентификатор роли, которую надо отозвать.
    • --subject — тип и идентификатор субъекта, у которого отзывается роль.

    Например, чтобы отозвать роль dns.editor у пользователя с идентификатором ajel6l0jcb9s******** на DNS зону:

    yc dns zone remove-access-binding my-dns-zone \
      --role dns.editor \
      --subject userAccount:ajel6l0jcb9s********
    

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

Чтобы отозвать роль, назначенную на зону DNS:

  1. Откройте файл конфигурации Terraform и удалите фрагмент с описанием роли:

    ...
    resource "yandex_dns_zone_iam_binding" "sa-role" {
      dns_zone_id = "<идентификатор_зоны>"
      role        = "<роль>"
      members     = ["<тип_субъекта>:<идентификатор_субъекта>"]
    }
    
  2. Примените изменения:

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

    yc dns zone list-access-bindings <идентификатор_зоны>
    

Чтобы отозвать роль, воспользуйтесь методом REST API updateAccessBindings для ресурса DnsZone или вызовом gRPC API DnsZoneService/UpdateAccessBindings. В теле запроса в свойстве action укажите REMOVE, а в свойстве subject — тип и идентификатор пользователя.

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

Предыдущая
Изменить зону DNS
Следующая
Посмотреть операции с зонами DNS
Проект Яндекса
© 2025 ООО «Яндекс.Облако»