Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Object Storage
    • Все инструкции
      • Создание бакета
      • Удаление бакета
      • Ограничение максимального размера бакета
      • Шифрование бакета
      • Управление жизненными циклами объектов
      • Управление конфигурацией CORS
      • Настройка прав доступа с помощью IAM
      • Редактирование ACL бакета
      • Управление политикой доступа
      • Настройка публичного доступа к бакету
      • Доступ в бакет с помощью Security Token Service
      • Доступ в бакет с помощью сервисного подключения из VPC
      • Управление версионированием бакета
      • Включение механизма логирования
      • Управление блокировками версий объектов
      • Управление метками бакета
      • Получение информации и статистики о бакете
      • Просмотр метрик бакета
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи бакета
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы
  1. Пошаговые инструкции
  2. Бакеты
  3. Настройка прав доступа с помощью IAM

Настройка прав доступа к бакету с помощью Identity and Access Management

Статья создана
Yandex Cloud
Улучшена
kvendingoldo
Обновлена 28 июля 2025 г.

В Object Storage реализовано несколько механизмов для управления доступом к ресурсам. Алгоритм взаимодействия этих механизмов см. в Обзор способов управления доступом в Object Storage.

Чтобы настроить доступ к бакету с помощью Identity and Access Management, назначьте пользователю, группе пользователей или сервисному аккаунту роль на бакет:

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

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

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

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

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

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

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

    resource "yandex_storage_bucket_iam_binding" "mybucket-viewers" {
      bucket  = "<имя_бакета>"
      role    = "<роль>"
      members = [
                  "<тип_субъекта>:<идентификатор_субъекта>",
                  "serviceAccount:<идентификатор_сервисного_аккаунта>",
                  "userAccount:<идентификатор_пользователя>"
                ]
    }
    
    # Пример назначения роли storage.editor для сервисных аккаунтов
    resource "yandex_storage_bucket_iam_binding" "sa-editors" {
      bucket  = "<имя_бакета>"
      role    = "storage.editor"
      members = [
                  "serviceAccount:<идентификатор_сервисного_аккаунта_1>",
                  "serviceAccount:<идентификатор_сервисного_аккаунта_2>"
                ]
    }
    
    # Пример назначения роли storage.admin для пользователей 
    resource "yandex_storage_bucket_iam_binding" "users-admins" {
      bucket  = "<имя_бакета>"
      role    = "storage.admin"
      members = [
                  "userAccount:<идентификатор_пользователя_1>",
                  "userAccount:<идентификатор_пользователя_2>"
                ]
    }
    

    Где:

    • bucket — имя бакета.

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

      Важно

      Ресурс yandex_storage_bucket_iam_binding нельзя использовать для назначения примитивных ролей (viewer, editor и admin) на бакет, если одновременно используется ресурс yandex_storage_bucket_grant или параметры acl и grant ресурса yandex_storage_bucket.

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

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

  2. Если вы совместно с ресурсом yandex_storage_bucket_iam_binding планируете использовать ресурс yandex_storage_bucket_grant для одного и того же бакета, рекомендуем выполнять создание ресурсов последовательно. Для этого добавьте в блок yandex_storage_bucket_iam_binding зависимость от наличия ресурса yandex_storage_bucket_grant:

    resource "yandex_storage_bucket_iam_binding" "mybucket-viewers" {
      ...
    
      depends_on = [
        yandex_storage_bucket_grant.my_bucket_grant
      ]
    }
    
  3. Примените конфигурацию:

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

    Проверить изменения ресурсов можно в консоли управления.

Также вы можете назначить роль на бакет в сервисе Identity and Access Management.

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

Предыдущая
Управление конфигурацией CORS
Следующая
Редактирование ACL бакета
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»