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

Редактирование ACL объекта

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

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

Для управления доступом к объекту в бакете Object Storage можно воспользоваться ACL.

Примечание

Если ранее для объекта уже был задан ACL, то после применения изменений ACL будет полностью перезаписан.

Консоль управления
AWS CLI
Terraform
API
  1. В консоли управления в списке сервисов выберите Object Storage и перейдите в нужный бакет.

  2. На панели слева выберите Объекты и найдите в списке нужный объект.

  3. Чтобы отредактировать ACL, нажмите значок в строке с нужным объектом и выберите ACL объекта.

    Также можно нажать на имя объекта, на открывшейся странице справа сверху нажать и выбрать ACL объекта.

    В открывшемся окне Редактирование ACL выдайте или отзовите необходимые разрешения:

    1. Выберите нужных субъектов из списка. Для этого поместите курсор в поле для ввода данных субъекта и в появившейся форме выберите нужного пользователя, сервисный аккаунт, группу пользователей, системную группу или публичную группу. При необходимости воспользуйтесь соответствующими вкладками формы или строкой поиска по имени или электронному адресу субъекта.

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

    2. Задайте для выбранных субъектов необходимый вид разрешений и нажмите Добавить.

    3. Если требуется задать субъектам другие виды разрешений, повторите два предыдущих шага.

    4. Чтобы отозвать выданное субъекту разрешение, нажмите Отменить в строке с этим разрешением.

    5. Нажмите кнопку Сохранить.

    Примечание

    В консоли управления разрешения можно выдать только тем сервисным аккаунтам, которые созданы в том же каталоге, что и сам бакет. Выдать разрешения для сервисных аккаунтов, относящихся к другим каталогам, можно с помощью Yandex Cloud CLI (только для ACL бакета), AWS CLI, Terraform или API.

Если у вас еще нет AWS CLI, установите и сконфигурируйте его.

Примечание

Чтобы управлять ACL объекта, назначьте сервисному аккаунту, через который работает AWS CLI, роль storage.admin.

Посмотрите текущий ACL объекта:

aws s3api get-object-acl \
  --endpoint https://storage.yandexcloud.net \
  --bucket <имя_бакета> \
  --key <ключ_объекта>

Где:

  • --endpoint — эндпоинт Object Storage.
  • --bucket — имя бакета.
  • --key — ключ объекта.

Вы можете применить к объекта предопределенный ACL или настроить разрешения для отдельных пользователей, сервисных аккаунтов, групп пользователей и публичных групп (группа всех пользователей интернета, группа всех аутентифицированных пользователей Yandex Cloud). Эти настройки несовместимы: у объекта должен быть либо предопределенный ACL, либо набор отдельных разрешений.

Предопределенный ACL

Выполните команду:

aws s3api put-object-acl \
  --endpoint https://storage.yandexcloud.net \
  --bucket <имя_бакета> \
  --key <ключ_объекта> \
  --acl <предопределенный_ACL>

Где:

  • --endpoint — эндпоинт Object Storage.
  • --bucket — имя бакета.
  • --key — ключ объекта.
  • --acl — предопределенный ACL. Список значений см. в разделе Предопределенные ACL.

Настройка отдельных разрешений

  1. Чтобы выдать разрешения ACL для пользователя Yandex Cloud, сервисного аккаунта или группы пользователей, получите их идентификатор:

    • Пользователь.
    • Сервисный аккаунт.
    • Группа пользователей — перейдите на вкладку Группы в интерфейсе Cloud Center.
  2. Выполните команду:

    aws s3api put-object-acl \
      --endpoint https://storage.yandexcloud.net \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      <тип_разрешения> <получатель_разрешения>
    

    Где:

    • --endpoint — эндпоинт Object Storage.

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

    • --key — ключ объекта.

    • Возможные типы разрешений ACL:

      • --grant-read — доступ к чтению объекта.
      • --grant-full-control — полный доступ к объекту.
      • --grant-read-acp — доступ к чтению ACL объекта.
      • --grant-write-acp — доступ к редактированию ACL объекта.

      Вы можете задать несколько разрешений в одной команде.

    • Возможные получатели разрешений:

      • id=<идентификатор_получателя> — идентификатор пользователя, сервисного аккаунта или группы пользователей, которым нужно дать разрешение.
      • uri=http://acs.amazonaws.com/groups/global/AuthenticatedUsers — публичная группа всех аутентифицированных пользователей Yandex Cloud.
      • uri=http://acs.amazonaws.com/groups/global/AllUsers — публичная группа всех пользователей интернета.

Примечание

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.

Чтобы отредактировать ACL объекта:

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

    ...
    resource "yandex_storage_object" "cute-cat-picture" {
      access_key = "<идентификатор_статического_ключа>"
      secret_key = "<секретный_ключ>"
      bucket     = "cat-pictures"
      key        = "cute-cat"
      source     = "/images/cats/cute-cat.jpg"
      acl        = "public-read"
    }
    ...
    

    Где:

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

      Примечание

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

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

    • acl — предопределенный ACL объекта. Значение по умолчанию — private: пользователи Yandex Cloud получают разрешения в соответствии со своими ролями в IAM.

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

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

    terraform validate
    

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

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

    terraform plan
    

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

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

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

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

Чтобы отредактировать ACL объекта, воспользуйтесь методом S3 API objectPutAcl.

Чтобы загрузить объект с установкой ACL, воспользуйтесь методом S3 API upload с заголовками X-Amz-Acl, X-Amz-Grant-Read, X-Amz-Grant-Read-Acp, X-Amz-Grant-Write-Acp и X-Amz-Grant-Full-Control.

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

Предыдущая
Удаление частично загруженного объекта
Следующая
Управление метками объекта
Проект Яндекса
© 2025 ООО «Яндекс.Облако»