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

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

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

Настройка публичного доступа к бакету

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

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

По умолчанию бакеты создаются с ограниченным доступом. Вы можете открыть публичный доступ:

  • На чтение объектов в бакете.
  • К списку объектов в бакете.
  • На чтение настроек:
    • CORS
    • Хостинг статического сайта
    • Жизненные циклы объектов

Публичный доступ к каждой операции выдается отдельно. То есть, если вы открыли доступ только на чтение объектов, то операции получения списка объектов и настроек бакета недоступны анонимному пользователю.

Открыть публичный доступОткрыть публичный доступ

Важно

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

Консоль управления
Yandex Cloud CLI
Terraform
API
  1. В консоли управления откройте каталог.
  2. Перейдите в сервис Object Storage.
  3. Выберите бакет, для которого вы хотите настроить публичный доступ.
  4. На панели слева выберите Настройки.
  5. Выберите вкладку Основные.
  6. Включите публичный доступ для нужных типов операций.
  7. Нажмите Сохранить.

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

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

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

    yc storage bucket update --help
    
  2. Получите список бакетов в каталоге по умолчанию:

    yc storage bucket list
    

    Результат:

    +------------------+----------------------+-------------+-----------------------+---------------------+
    |       NAME       |      FOLDER ID       |  MAX SIZE   | DEFAULT STORAGE CLASS |     CREATED AT      |
    +------------------+----------------------+-------------+-----------------------+---------------------+
    | first-bucket     | b1gmit33ngp6******** | 53687091200 | STANDARD              | 2022-12-16 13:58:18 |
    +------------------+----------------------+-------------+-----------------------+---------------------+
    
  3. Сохраните имя бакета (столбец NAME), к которому нужно открыть публичный доступ.

  4. Откройте публичный доступ к операциям с бакетом:

    yc storage bucket update \
      --name <имя_бакета> \
      --public-read \
      --public-list \
      --public-config-read
    

    Где:

    • --name — имя бакета, к которому нужно открыть публичный доступ.
    • --public-read — флаг для включения публичного доступа на чтение объектов в бакете.
    • --public-list — флаг для включения публичного доступа на просмотр списка объектов в бакете.
    • --public-config-read — флаг для включения публичного доступа на чтение настроек в бакете.

    name — обязательный параметр. Остальные параметры необязательны. По умолчанию публичный доступ к бакету выключен.

    Результат:

    name: first-bucket
    folder_id: b1gmit33ngp6********
    anonymous_access_flags:
      read: true
      list: true
      config_read: true
    default_storage_class: STANDARD
    versioning: VERSIONING_DISABLED
    max_size: "53687091200"
    acl: {}
    created_at: "2022-12-16T13:58:18.933814Z"
    

Примечание

Terraform взаимодействует с Object Storage от имени сервисного аккаунта. Назначьте сервисному аккаунту нужную роль, например storage.admin, на каталог, в котором будут создаваться ресурсы.

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

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

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

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

Чтобы открыть публичный доступ к операциям с бакетом:

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

    resource "yandex_storage_bucket" "log_bucket" {
      access_key = "<идентификатор_статического_ключа>"
      secret_key = "<секретный_ключ>"
      bucket     = "<имя_бакета>"
    
      anonymous_access_flags {
        read        = true
        list        = true
        config_read = true
      }
    }
    

    Где:

    • access_key — идентификатор статического ключа доступа.

      Примечание

      Кроме статических ключей доступа для аутентификации в Object Storage можно использовать IAM-токен. Подробнее смотрите в разделе Создание бакета и в документации провайдера.

    • secret_key — значение секретного ключа доступа.

    • bucket — имя бакета, к которому нужно открыть публичный доступ.

    • anonymous_access_flags — параметры публичного доступа:

      • read — публичный доступ на чтение объектов в бакете.
      • list — публичный доступ к списку объектов в бакете.
      • config_read — публичный доступ к чтению настроек бакета.

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

  2. Проверьте корректность конфигурационных файлов.

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

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

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

      После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.

Чтобы открыть публичный доступ к операциям с бакетом, воспользуйтесь методом REST API update для ресурса Bucket или вызовом gRPC API BucketService/Update.

Примечание

Если для бакета настроена запрещающая политика доступа, открыть публичный доступ не получится.

Закрыть публичный доступЗакрыть публичный доступ

Консоль управления
Yandex Cloud CLI
Terraform
API
  1. В консоли управления выберите каталог.
  2. Перейдите в сервис Object Storage.
  3. Выберите бакет, для которого вы хотите закрыть публичный доступ.
  4. На панели слева выберите Настройки.
  5. Выберите вкладку Основные.
  6. Включите ограниченный доступ для нужных типов операций.
  7. Нажмите Сохранить.

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

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

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

    yc storage bucket update --help
    
  2. Получите список бакетов в каталоге по умолчанию:

    yc storage bucket list
    

    Результат:

    +------------------+----------------------+-------------+-----------------------+---------------------+
    |       NAME       |      FOLDER ID       |  MAX SIZE   | DEFAULT STORAGE CLASS |     CREATED AT      |
    +------------------+----------------------+-------------+-----------------------+---------------------+
    | first-bucket     | b1gmit33ngp6******** | 53687091200 | STANDARD              | 2022-12-16 13:58:18 |
    +------------------+----------------------+-------------+-----------------------+---------------------+
    
  3. Сохраните имя бакета (столбец NAME), к которому нужно закрыть публичный доступ.

  4. Закройте публичный доступ к операциям с бакетом:

    yc storage bucket update \
      --name <имя_бакета> \
      --public-read=false \
      --public-list=false \
      --public-config-read=false
    

    Где:

    • --name — имя бакета, к которому нужно закрыть публичный доступ.
    • --public-read — флаг для управления публичным доступом на чтение объектов в бакете. Для выключения публичного доступа задайте значение false.
    • --public-list — флаг для управления публичным доступом на просмотр списка объектов в бакете. Для выключения публичного доступа задайте значение false.
    • --public-config-read — флаг для управления публичным доступом на чтение настроек в бакете. Для выключения публичного доступа задайте значение false.

    name — обязательный параметр. Остальные параметры необязательны. По умолчанию публичный доступ к бакету выключен.

    Результат:

    name: first-bucket
    folder_id: b1gmit33ngp6********
    anonymous_access_flags:
      read: false
      list: false
      config_read: false
    default_storage_class: STANDARD
    versioning: VERSIONING_DISABLED
    max_size: "53687091200"
    acl: {}
    created_at: "2022-12-16T13:58:18.933814Z"
    

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

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

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

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

Чтобы закрыть публичный доступ к операциям с бакетом:

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

    resource "yandex_storage_bucket" "log_bucket" {
      access_key = "<идентификатор_статического_ключа>"
      secret_key = "<секретный_ключ>"
      bucket     = "<имя_бакета>"
    
      anonymous_access_flags {
        read        = false
        list        = false
        config_read = false
      }
    }
    

    Где:

    • access_key — идентификатор статического ключа доступа.
    • secret_key — значение секретного ключа доступа.
    • bucket — имя бакета, к которому нужно закрыть публичный доступ.
    • anonymous_access_flags — параметры публичного доступа:
      • read — публичный доступ на чтение объектов в бакете.
      • list — публичный доступ к списку объектов в бакете.
      • config_read — публичный доступ к чтению настроек бакета.

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

  2. Проверьте корректность конфигурационных файлов.

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

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

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

      После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.

Чтобы закрыть публичный доступ к операциям с бакетом, воспользуйтесь методом REST API update для ресурса Bucket или вызовом gRPC API BucketService/Update.

При закрытии публичного доступа к бакету убедитесь, что публичной группе All users не назначены роли viewer или storage.viewer и выше на каталог или бакет. В противном случае публичный доступ к бакету сохранится.

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

Предыдущая
Управление политикой доступа
Следующая
Доступ в бакет с помощью Security Token Service
Проект Яндекса
© 2025 ООО «Яндекс.Облако»