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

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

  • Назначить роль на каталог
  • Назначить несколько ролей
  • Доступ к каталогу для сервисного аккаунта
  • Доступ к каталогу для федеративного пользователя
  • Что дальше
  1. Пошаговые инструкции
  2. Каталог
  3. Настройка прав доступа

Настройка прав доступа к каталогу

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 17 июля 2026 г.
Открыть в Markdown
  • Назначить роль на каталог
  • Назначить несколько ролей
  • Доступ к каталогу для сервисного аккаунта
  • Доступ к каталогу для федеративного пользователя
  • Что дальше

Важно

Даже если операция с ресурсами сервисов Yandex Cloud разрешена ролью, ее выполнение может быть заблокировано, если для организации, облака или каталога создана политика авторизации, запрещающая эту операцию.

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

Примечание

Для доступа пользователя к консоли управления, назначьте ему роль на облако. Для безопасности вы можете назначить одну из ролей с минимальными привилегиями, например resource-manager.clouds.member, но также можно назначить и другие роли, если вы знаете, какие права вы хотите предоставить приглашенным пользователям.

Чтобы дать эти права сразу всем пользователям в организации, назначьте роль системной группе All users in organization X. При работе с CLI, API или Terraform назначение дополнительных ролей не требуется.

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

Консоль управления
CLI
Terraform
API
  1. В консоли управления на панели сверху нажмите или и выберите нужный каталог.
  2. Перейдите на вкладку Права доступа.
  3. Нажмите кнопку Настроить доступ.
  4. В открывшемся окне выберите раздел Пользовательские аккаунты.
  5. Выберите пользователя из списка или воспользуйтесь поиском по пользователям.
  6. Нажмите кнопку Добавить роль и выберите роль из списка или воспользуйтесь поиском.
  7. Нажмите кнопку Сохранить.

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

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

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

    yc resource-manager folder add-access-binding --help
    
  2. Получите список доступных каталогов:

    yc resource-manager folder list
    

    Результат:

    +----------------------+-----------+--------+--------+
    |          ID          |   NAME    | LABELS | STATUS |
    +----------------------+-----------+--------+--------+
    | b1gd129pp9ha******** | my-folder |        | ACTIVE |
    +----------------------+-----------+--------+--------+
    
  3. Получите список доступных ролей:

    yc iam role list
    

    Результат:

    +--------------------------------+-------------+
    |               ID               | DESCRIPTION |
    +--------------------------------+-------------+
    | admin                          |             |
    | compute.images.user            |             |
    | editor                         |             |
    | ...                            |             |
    +--------------------------------+-------------+
    
  4. Узнайте идентификатор пользователя по логину или адресу электронной почты.

    yc iam user-account get test-user
    

    Результат:

    id: gfei8n54hmfh********
    yandex_passport_user_account:
      login: test-user
      default_email: test-user@yandex.ru
    
  5. Назначьте пользователю роль на каталог. В субъекте укажите тип userAccount и идентификатор пользователя:

    yc resource-manager folder add-access-binding my-folder \
      --role editor \
      --subject userAccount:gfei8n54hmfh********
    

    Где:

    • --role — идентификатор роли, которую нужно назначить.

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

      Обозначения субъектов

      Для обозначения субъекта используется параметр --subject со значением в формате <тип_субъекта>:<идентификатор>. Для некоторых типов субъектов в Yandex Cloud CLI вместо --subject доступны отдельные параметры, в которых достаточно указать имя или идентификатор субъекта без типа. Возможные обозначения субъектов и соответствующие параметры CLI:

      Тип субъекта

      Обозначение субъекта

      Параметр Yandex Cloud CLI

      userAccount

      userAccount:<идентификатор_пользователя>

      --user-account-id или --user-yandex-login

      serviceAccount

      serviceAccount:<идентификатор_сервисного_аккаунта>

      --service-account-id или --service-account-name

      federatedUser

      federatedUser:<идентификатор_пользователя>

      --user-account-id

      group

      group:<идентификатор_группы>

      --group-members

      system

      system:allAuthenticatedUsers

      (группа All authenticated users)

      --all-authenticated-users

      system:allUsers

      (группа All users)

      —

      system:group:organization:<идентификатор_организации>:users

      (группа All users in organization X)

      --organization-users

      system:group:federation:<идентификатор_федерации>:users

      (группа All users in federation N)

      --federation-users

      system:group:userpool:<идентификатор_пула>:users

      (группа All users in userpool P)

      —

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

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

Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.

  1. Опишите в конфигурационном файле параметры назначаемых ролей.

    Пример структуры конфигурационного файла:

    data "yandex_resourcemanager_folder" "project1" {
      folder_id = "<идентификатор_каталога>"
    }
    
    resource "yandex_resourcemanager_folder_iam_member" "editor" {
      folder_id = "${data.yandex_resourcemanager_folder.project1.id}"
      role      = "editor"
      member    = "userAccount:<идентификатор_пользователя>"
    }
    

    Где:

    • folder_id — идентификатор каталога, на который назначаются права. Обязательный параметр.

    • role — роль, которую нужно назначить. В одном ресурсе yandex_resourcemanager_folder_iam_member можно назначить только одну роль.

    • member — обозначение субъекта, которому назначается роль. Обязательный параметр.

      Обозначения субъектов

      Для обозначения субъекта используется комбинация типа и уникального идентификатора — <тип_субъекта>:<идентификатор>. Возможные обозначения субъектов:

      Тип субъекта

      Обозначение субъекта

      userAccount

      userAccount:<идентификатор_пользователя>

      serviceAccount

      serviceAccount:<идентификатор_сервисного_аккаунта>

      federatedUser

      federatedUser:<идентификатор_пользователя>

      group

      group:<идентификатор_группы>

      system

      system:allAuthenticatedUsers

      (группа All authenticated users)

      system:allUsers

      (группа All users)

      system:group:organization:<идентификатор_организации>:users

      (группа All users in organization X)

      system:group:federation:<идентификатор_федерации>:users

      (группа All users in federation N)

      system:group:userpool:<идентификатор_пула>:users

      (группа All users in userpool P)

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

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

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

    После этого будут назначены права доступа к каталогу.

Воспользуйтесь методом REST API updateAccessBindings для ресурса Folder или вызовом gRPC API FolderService/UpdateAccessBindings. Вам понадобится идентификатор каталога и идентификатор пользователя, которому назначается роль на каталог.

  1. Узнайте идентификатор каталога с помощью метода REST API list:

    curl \
      --header "Authorization: Bearer <IAM-токен>" \
      https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders?cloudId=<идентификатор_облака>
    

    Результат:

    {
     "folders": [
      {
       "id": "b1g66mft1vop********",
       "cloudId": "b1gd129pp9ha********",
       "createdAt": "2018-10-17T12:44:31Z",
       "name": "my-folder",
       "status": "ACTIVE"
      }
     ]
    }
    
  2. Узнайте идентификатор пользователя по логину с помощью метода REST API getByLogin:

    curl \
      --header "Authorization: Bearer <IAM-токен>" \
      https://iam.api.cloud.yandex.net/iam/v1/yandexPassportUserAccounts:byLogin?login=test-user
    

    Результат:

    {
     "id": "gfei8n54hmfh********",
     "yandexPassportUserAccount": {
      "login": "test-user",
      "defaultEmail": "test-user@yandex.ru"
     }
    }
    
  3. Назначьте пользователю роль на каталог. В свойстве action укажите ADD, а в свойстве subject — тип userAccount и идентификатор пользователя:

    curl \
      --request POST \
      --header 'Content-Type: application/json' \
      --header "Authorization: Bearer <IAM-токен>" \
      --data '{
        "accessBindingDeltas": [
          {
            "action": "ADD",
            "accessBinding": {
              "roleId": "<роль>",
              "subject": {
                "id": "<идентификатор_пользователя>",
                "type": "userAccount"
              }
            }
          }
        ]
      }' \
      https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders/<идентификатор_каталога>:updateAccessBindings
    

    Где:

    • roleId — назначаемая роль.

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

      Обозначения субъектов

      Для обозначения субъекта используется комбинация типа и уникального идентификатора в полях запроса subject.type и subject.id. Возможные комбинации:

      subject.type

      subject.id

      userAccount

      <идентификатор_пользователя>

      serviceAccount

      <идентификатор_сервисного_аккаунта>

      federatedUser

      <идентификатор_пользователя>

      group

      <идентификатор_группы>

      system

      allAuthenticatedUsers

      (группа All authenticated users)

      allUsers

      (группа All users)

      group:organization:<идентификатор_организации>:users

      (группа All users in organization X)

      group:federation:<идентификатор_федерации>:users

      (группа All users in federation N)

      group:userpool:<идентификатор_пула>:users

      (группа All users in userpool P)

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

Консоль управления
CLI
Terraform
API
  1. В консоли управления на панели сверху нажмите или и выберите нужный каталог.
  2. Перейдите на вкладку Права доступа.
  3. Нажмите кнопку Настроить доступ.
  4. В открывшемся окне выберите раздел Пользовательские аккаунты.
  5. Выберите пользователя из списка или воспользуйтесь поиском по пользователям.
  6. Нажмите кнопку Добавить роль и выберите роль из списка или воспользуйтесь поиском.
  7. Выполните предыдущее действие необходимое количество раз, чтобы добавить все нужные роли.
  8. Нажмите кнопку Сохранить.

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

Внимание

Команда set-access-bindings для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.

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

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

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

    yc resource-manager folder list-access-bindings <имя_или_идентификатор_каталога>
    
  2. Чтобы назначить роль, выполните команду:

    yc resource-manager folder set-access-bindings <имя_или_идентификатор_каталога> \
      --access-binding role=<роль>,subject=<тип_субъекта>:<идентификатор_субъекта>
    

    Где:

    • role — идентификатор роли, которую нужно назначить.

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

      Обозначения субъектов

      Для обозначения субъекта используется комбинация типа и уникального идентификатора — <тип_субъекта>:<идентификатор>. Возможные обозначения субъектов:

      Тип субъекта

      Обозначение субъекта

      userAccount

      userAccount:<идентификатор_пользователя>

      serviceAccount

      serviceAccount:<идентификатор_сервисного_аккаунта>

      federatedUser

      federatedUser:<идентификатор_пользователя>

      group

      group:<идентификатор_группы>

      system

      system:allAuthenticatedUsers

      (группа All authenticated users)

      system:allUsers

      (группа All users)

      system:group:organization:<идентификатор_организации>:users

      (группа All users in organization X)

      system:group:federation:<идентификатор_федерации>:users

      (группа All users in federation N)

      system:group:userpool:<идентификатор_пула>:users

      (группа All users in userpool P)

    Для каждой роли передайте отдельный параметр --access-binding. Например:

    yc resource-manager folder set-access-bindings my-folder \
      --access-binding role=editor,subject=userAccount:gfei8n54hmfh******** \
      --access-binding role=viewer,subject=userAccount:helj89sfj80a********
    

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

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

Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.

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

    Пример структуры конфигурационного файла:

    data "yandex_resourcemanager_folder" "project1" {
      folder_id = "<идентификатор_каталога>"
    }
    
    resource "yandex_resourcemanager_folder_iam_member" "member1" {
      folder_id = "${data.yandex_resourcemanager_folder.project1.id}"
      role      = "<роль_1>"
      member    = "userAccount:<идентификатор_пользователя>"
    }
    
    resource "yandex_resourcemanager_folder_iam_member" "member2" {
      folder_id = "${data.yandex_resourcemanager_folder.project1.id}"
      role      = "<роль_2>"
      member    = "userAccount:<идентификатор_пользователя>"
    }
    

    Где:

    • folder_id — идентификатор каталога, на который назначаются права. Обязательный параметр.

    • role — роль, которую нужно назначить. В одном ресурсе yandex_resourcemanager_folder_iam_member можно назначить только одну роль.

    • member — обозначение субъекта, которому назначается роль. Обязательный параметр.

      Обозначения субъектов

      Для обозначения субъекта используется комбинация типа и уникального идентификатора — <тип_субъекта>:<идентификатор>. Возможные обозначения субъектов:

      Тип субъекта

      Обозначение субъекта

      userAccount

      userAccount:<идентификатор_пользователя>

      serviceAccount

      serviceAccount:<идентификатор_сервисного_аккаунта>

      federatedUser

      federatedUser:<идентификатор_пользователя>

      group

      group:<идентификатор_группы>

      system

      system:allAuthenticatedUsers

      (группа All authenticated users)

      system:allUsers

      (группа All users)

      system:group:organization:<идентификатор_организации>:users

      (группа All users in organization X)

      system:group:federation:<идентификатор_федерации>:users

      (группа All users in federation N)

      system:group:userpool:<идентификатор_пула>:users

      (группа All users in userpool P)

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

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

    После этого будут назначены права доступа к каталогу.

Назначьте роли пользователям:

curl \
  --request POST \
  --header 'Content-Type: application/json' \
  --header "Authorization: Bearer <IAM-токен>" \
  --data '{
    "accessBindingDeltas": [
      {
        "action": "ADD",
        "accessBinding": {
          "roleId": "<роль_1>",
          "subject": {
            "id": "<идентификатор_пользователя>",
            "type": "userAccount"
          }
        }
      },
      {
        "action": "ADD",
        "accessBinding": {
          "roleId": "<роль_2>",
          "subject": {
            "id": "<идентификатор_пользователя>",
            "type": "userAccount"
          }
        }
      }
    ]
  }' \
  https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders/<идентификатор_каталога>:updateAccessBindings

Где:

  • roleId — назначаемая роль.

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

    Обозначения субъектов

    Для обозначения субъекта используется комбинация типа и уникального идентификатора в полях запроса subject.type и subject.id. Возможные комбинации:

    subject.type

    subject.id

    userAccount

    <идентификатор_пользователя>

    serviceAccount

    <идентификатор_сервисного_аккаунта>

    federatedUser

    <идентификатор_пользователя>

    group

    <идентификатор_группы>

    system

    allAuthenticatedUsers

    (группа All authenticated users)

    allUsers

    (группа All users)

    group:organization:<идентификатор_организации>:users

    (группа All users in organization X)

    group:federation:<идентификатор_федерации>:users

    (группа All users in federation N)

    group:userpool:<идентификатор_пула>:users

    (группа All users in userpool P)

Вы также можете назначать роли с помощью метода REST API setAccessBindings для ресурса Folder или вызова gRPC API FolderService/SetAccessBindings.

Внимание

Метод setAccessBindings для назначения нескольких ролей полностью перезаписывает права доступа к ресурсу. Все текущие роли на ресурс будут удалены.

Доступ к каталогу для сервисного аккаунтаДоступ к каталогу для сервисного аккаунта

Сервисному аккаунту можно назначать роли на любые облака и каталоги в рамках организации, к которой он принадлежит.

Консоль управления
CLI
Terraform
API
  1. В консоли управления на панели сверху нажмите или и выберите нужный каталог.
  2. Перейдите на вкладку Права доступа.
  3. Нажмите кнопку Настроить доступ.
  4. В открывшемся окне выберите раздел Сервисные аккаунты.
  5. Выберите сервисный аккаунт из списка или воспользуйтесь поиском.
  6. Нажмите кнопку Добавить роль и выберите роль в каталоге.
  7. Нажмите кнопку Сохранить.

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

  1. Выберите роль, которую хотите назначить сервисному аккаунту. Описание ролей можно найти в документации Yandex Identity and Access Management в справочнике ролей Yandex Cloud.

  2. Узнайте идентификатор сервисного аккаунта по его имени:

    yc iam service-account get <имя_сервисного_аккаунта>
    

    Результат:

    id: aje6o61dvog2********
    folder_id: b1gvmob95yys********
    created_at: "2018-10-15T18:01:25Z"
    name: my-robot
    

    Если вы не знаете имя сервисного аккаунта, получите список сервисных аккаунтов с их идентификаторами:

    yc iam service-account list
    

    Результат:

    +----------------------+------------------+-----------------+
    |          ID          |       NAME       |   DESCRIPTION   |
    +----------------------+------------------+-----------------+
    | aje6o61dvog2******** | my-robot         | my description  |
    +----------------------+------------------+-----------------+
    
  3. Назначьте роль сервисному аккаунту, используя его идентификатор:

    yc resource-manager folder add-access-binding <имя_или_идентификатор_каталога> \
      --role <роль> \
      --service-account-id <идентификатор_сервисного_аккаунта>
    

    Где:

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

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

Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, аутентифицируйтесь соответствующим способом.

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

    data "yandex_resourcemanager_folder" "project1" {
      folder_id = "<идентификатор_каталога>"
    }
    
    resource "yandex_resourcemanager_folder_iam_member" "editor" {
      folder_id = "${data.yandex_resourcemanager_folder.project1.id}"
      role      = "editor"
      member    = "serviceAccount:<идентификатор_сервисного_аккаунта>"
    }
    

    Где:

    • folder_id — идентификатор каталога.

    • role — роль, которую нужно назначить.

    • member — обозначение субъекта, которому назначается роль. Для сервисного аккаунта укажите serviceAccount:<идентификатор_сервисного_аккаунта>.

      Обозначения субъектов

      Для обозначения субъекта используется комбинация типа и уникального идентификатора — <тип_субъекта>:<идентификатор>. Возможные обозначения субъектов:

      Тип субъекта

      Обозначение субъекта

      userAccount

      userAccount:<идентификатор_пользователя>

      serviceAccount

      serviceAccount:<идентификатор_сервисного_аккаунта>

      federatedUser

      federatedUser:<идентификатор_пользователя>

      group

      group:<идентификатор_группы>

      system

      system:allAuthenticatedUsers

      (группа All authenticated users)

      system:allUsers

      (группа All users)

      system:group:organization:<идентификатор_организации>:users

      (группа All users in organization X)

      system:group:federation:<идентификатор_федерации>:users

      (группа All users in federation N)

      system:group:userpool:<идентификатор_пула>:users

      (группа All users in userpool P)

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

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

    После этого будут назначены права доступа к каталогу.

Чтобы назначить сервисному аккаунту роль на облако или каталог, воспользуйтесь методом REST API updateAccessBindings для ресурса Cloud или Folder:

  1. Выберите роль, которую хотите назначить сервисному аккаунту. Описание ролей можно найти в документации Yandex Identity and Access Management в справочнике ролей Yandex Cloud.

  2. Узнайте ID каталога с сервисными аккаунтами.

  3. Получите IAM-токен для аутентификации в API Yandex Cloud.

  4. Получите список сервисных аккаунтов в каталоге, чтобы узнать их идентификаторы:

    export FOLDER_ID=<идентификатор_каталога>
    export IAM_TOKEN=<IAM-токен>
    curl \
      --header "Authorization: Bearer ${IAM_TOKEN}" \
      "https://iam.api.cloud.yandex.net/iam/v1/serviceAccounts?folderId=${FOLDER_ID}"
    

    Результат:

    {
     "serviceAccounts": [
      {
       "id": "ajebqtreob2d********",
       "folderId": "b1gvmob95yys********",
       "createdAt": "2018-10-18T13:42:40Z",
       "name": "my-robot",
       "description": "my description"
      }
     ]
    }
    
  5. Сформируйте тело запроса, например в файле body.json. В свойстве action укажите ADD:

    {
      "accessBindingDeltas": [{
        "action": "ADD",
        "accessBinding": {
          "roleId": "<роль>",
          "subject": {
            "id": "<идентификатор_сервисного_аккаунта>",
            "type": "serviceAccount"
          }
        }
      }]
    }
    

    Где:

    • roleId — назначаемая роль.

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

      Обозначения субъектов

      Для обозначения субъекта используется комбинация типа и уникального идентификатора в полях запроса subject.type и subject.id. Возможные комбинации:

      subject.type

      subject.id

      userAccount

      <идентификатор_пользователя>

      serviceAccount

      <идентификатор_сервисного_аккаунта>

      federatedUser

      <идентификатор_пользователя>

      group

      <идентификатор_группы>

      system

      allAuthenticatedUsers

      (группа All authenticated users)

      allUsers

      (группа All users)

      group:organization:<идентификатор_организации>:users

      (группа All users in organization X)

      group:federation:<идентификатор_федерации>:users

      (группа All users in federation N)

      group:userpool:<идентификатор_пула>:users

      (группа All users in userpool P)

  6. Назначьте роль сервисному аккаунту. Например, на каталог с идентификатором b1gvmob95yys********:

    export FOLDER_ID=b1gvmob95yys********
    export IAM_TOKEN=CggaAT********
    curl \
      --request POST \
      --header "Content-Type: application/json" \
      --header "Authorization: Bearer ${IAM_TOKEN}" \
      --data '@body.json' \
      "https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders/${FOLDER_ID}:updateAccessBindings"
    

Доступ к каталогу для федеративного пользователяДоступ к каталогу для федеративного пользователя

Консоль управления
CLI

Назначение роли происходит так же, как назначение роли пользователю с аккаунтом на Яндексе. Рядом с именем пользователя будет указано имя федерации, к которой он относится.

  1. В консоли управления на панели сверху нажмите или и выберите нужный каталог.
  2. Перейдите на вкладку Права доступа.
  3. Нажмите кнопку Настроить доступ.
  4. В открывшемся окне выберите раздел Пользовательские аккаунты.
  5. Выберите пользователя из списка или воспользуйтесь поиском по пользователям.
  6. Нажмите кнопку Добавить роль и выберите роль из списка или воспользуйтесь поиском.
  7. Нажмите кнопку Сохранить.
  1. Выберите роль из справочника ролей Yandex Cloud.

  2. Получите идентификатор пользователя.

  3. Назначьте роль с помощью команды:

    yc resource-manager folder add-access-binding <имя_или_идентификатор_каталога> \
        --role <идентификатор_роли> \
        --subject federatedUser:<идентификатор_пользователя>
    

    Где:

    • <имя_или_идентификатор_каталога> — имя или идентификатор каталога.

    • --role — идентификатор роли, например editor.

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

      Обозначения субъектов

      Для обозначения субъекта используется параметр --subject со значением в формате <тип_субъекта>:<идентификатор>. Для некоторых типов субъектов в Yandex Cloud CLI вместо --subject доступны отдельные параметры, в которых достаточно указать имя или идентификатор субъекта без типа. Возможные обозначения субъектов и соответствующие параметры CLI:

      Тип субъекта

      Обозначение субъекта

      Параметр Yandex Cloud CLI

      userAccount

      userAccount:<идентификатор_пользователя>

      --user-account-id или --user-yandex-login

      serviceAccount

      serviceAccount:<идентификатор_сервисного_аккаунта>

      --service-account-id или --service-account-name

      federatedUser

      federatedUser:<идентификатор_пользователя>

      --user-account-id

      group

      group:<идентификатор_группы>

      --group-members

      system

      system:allAuthenticatedUsers

      (группа All authenticated users)

      --all-authenticated-users

      system:allUsers

      (группа All users)

      —

      system:group:organization:<идентификатор_организации>:users

      (группа All users in organization X)

      --organization-users

      system:group:federation:<идентификатор_федерации>:users

      (группа All users in federation N)

      --federation-users

      system:group:userpool:<идентификатор_пула>:users

      (группа All users in userpool P)

      —

    Например, назначьте федеративному пользователю с идентификатором aje6o61dvog2******** роль editor на каталог my-folder:

    yc resource-manager folder add-access-binding my-folder \
        --role editor \
        --subject federatedUser:aje6o61dvog2********
    

Что дальшеЧто дальше

  • Изменение каталога
  • Иерархия ресурсов Yandex Cloud

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

Предыдущая
Управление политиками авторизации
Следующая
Навигация по каталогам
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»