Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Object Storage
    • Обзор
    • Бакет
    • Объект
    • Версионирование бакета
    • Блокировка версии объекта (object lock)
    • Частичное изменение объекта
    • Шифрование
    • Жизненные циклы объектов
    • CORS
    • Хостинг статических сайтов
    • Подписанные (pre-signed) URL
    • Составная (multipart) загрузка
    • Список управления доступом (ACL)
    • Политика доступа (Bucket Policy)
    • Загрузка файла через HTML-форму
    • Класс хранилища
    • Механизм логирования действий с бакетом
    • Резервное копирование
    • Протокол TLS
    • Метки
    • Язык запросов S3 Select
    • Квоты и лимиты
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи бакета
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

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

  • Идентификатор получателя разрешений
  • Операции с ACL
  • Виды разрешений
  • Предопределенные ACL
  • Публичные группы
  • AllUsers
  • AuthenticatedUsers
  • Наследование прав доступа к бакету публичными группами Yandex Cloud
  • Как посмотреть права на бакет, наследуемые от каталога
  • См. также
  1. Концепции
  2. Список управления доступом (ACL)

Список управления доступом (ACL)

Статья создана
Yandex Cloud
Улучшена
amatol
Обновлена 21 апреля 2025 г.
  • Идентификатор получателя разрешений
  • Операции с ACL
  • Виды разрешений
  • Предопределенные ACL
  • Публичные группы
    • AllUsers
    • AuthenticatedUsers
  • Наследование прав доступа к бакету публичными группами Yandex Cloud
    • Как посмотреть права на бакет, наследуемые от каталога
    • См. также

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

ACL Object Storage — список разрешений для каждого объекта и бакета, хранящийся непосредственно в Object Storage.

Разрешения, выданные на бакет, распространяются на все находящиеся в нем объекты. Также ACL позволяет расширить доступы к отдельному объекту.

Важно

Бакет наследует такие же права доступа в сервисе IAM, как у каталога и облака, в котором он находится.

Например, если у пользователя в сервисе IAM есть роль viewer на каталог с бакетом, то он может просматривать его содержимое, даже если это не отражено в ACL бакета.

По умолчанию для каждого нового объекта или бакета Object Storage создает пустой ACL. Пользователь, обладающий соответствующими правами, может отредактировать или загрузить ACL для бакетов и объектов Object Storage.

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

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

Описание структуры ACL смотрите в разделе XML-схема ACL. В одном ACL вы можете задать не более 100 правил.

Примечание

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

Идентификатор получателя разрешений

  • Пользователь Yandex Cloud

    Идентификатор можно получить:

    • В разделе IAM консоли управления.
    • С помощью CLI или API IAM.
  • Сервисный аккаунт

    Для получения идентификатора в консоли управления в списке сервисов выберите Identity and Access Management, на панели слева выберите Сервисные аккаунты и выберите нужный сервисный аккаунт.

  • Публичная группа

    Для выдачи разрешений используйте URI публичной группы.

  • Группа пользователей

    Для получения идентификатора перейдите на вкладку Группы в интерфейсе Cloud Center.

Операции с ACL

  • В консоли управления вы можете редактировать ACL для бакетов и объектов.

  • С помощью API, совместимого с Amazon S3, вы можете загрузить или скачать ACL для бакета или объекта.

    Удалить ACL невозможно. Чтобы удалить все разрешения, загрузите пустой ACL.

Виды разрешений

Разрешения соответствуют ролям пользователей в IAM.

Название разрешения Роль в IAM Описание
READ viewer Для бакета: разрешение на получение списка объектов в бакете, чтение различных настроек бакета (жизненный цикл, CORS, статический хостинг), чтение всех объектов в бакете.
Для объекта: разрешение на чтение.
WRITE editor Для бакета: запись, перезапись и удаление объектов в бакете.
Используется обязательно вместе с READ, отдельно указать разрешение WRITE нельзя.
Для объекта: разрешение не имеет смысла, при записи объекта проверяются разрешения для бакета.
FULL_CONTROL admin Полный доступ к объектам и бакетам.
READ_ACP viewer Разрешение на чтение ACL. Только для объектов.
WRITE_ACP editor Разрешение на запись ACL. Только для объектов.

Примечание

Если при оформлении ACL указать доступ WRITE, но при этом не указать READ, то Object Storage ответит с кодом 501 Not Implemented.

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

ACL Описание
private
bucket-owner-full-control
Пользователи Yandex Cloud получают разрешения в соответствии со своими ролями в IAM.
public-read Публичная группа AllUsers получает разрешение READ.
public-read-write Публичная группа AllUsers получает разрешения READ и WRITE.
authenticated-read Публичная группа AuthenticatedUsers получает разрешение READ.

Предопределенные ACL могут применяться как к объектам, так и к бакетам. ACL public-read-write, примененный к объекту, эквивалентен public-read.

Загрузить предопределенный ACL можно только с помощью HTTP API, совместимого с Amazon S3. При загрузке ACL используйте HTTP-заголовок X-Amz-Acl.

Публичные группы

AllUsers

Включает в себя всех пользователей интернета.

Разрешение для AllUsers выглядит следующим образом:

<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group">
    <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI>
</Grantee>

AuthenticatedUsers

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

Разрешение для AuthenticatedUsers выглядит следующим образом:

<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group">
    <URI>http://acs.amazonaws.com/groups/global/AuthenticatedUsers</URI>
</Grantee>

Наследование прав доступа к бакету публичными группами Yandex Cloud

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

Важно

Назначение ролей публичным группам All users и All authenticated users на каталог или облако, которым принадлежит бакет, эквивалентно выдаче публичного доступа к бакету:

  • All authenticated users — доступ к бакету получат все аутентифицированные пользователи Yandex Cloud: как из вашего облака, так и из облаков других пользователей.
  • All users — доступ получат все пользователи.

Аналогичный доступ к бакету можно выдать, добавив в ACL бакета права для групп AuthenticatedUsers и AllUsers.

Как посмотреть права на бакет, наследуемые от каталога

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

  • Чтобы получить список ролей на каталог, выполните команду:

    yc resource-manager folder list-access-bindings \
      --id b1g7gvsi89m3********
    

    Результат:

    +---------+--------------+-----------------------+
    | ROLE ID | SUBJECT TYPE |      SUBJECT ID       |
    +---------+--------------+-----------------------+
    | viewer  | system       | allAuthenticatedUsers |
    | viewer  | system       | allUsers              |
    +---------+--------------+-----------------------+
    

    В выводе присутствует allAuthenticatedUsers и allUsers. Это значит, что пользователи этих групп имеют права на данный каталог и все содержащиеся в нем ресурсы, в том числе бакеты.

  • Чтобы отозвать роль у публичной группы All authenticated users выполните команду:

    yc resource-manager folder remove-access-binding \
      --id b1g7gvsi89m3******** \
      --role viewer \
      --allAuthenticatedUsers
    
  • Чтобы отозвать роль у публичной группы All users выполните команду:

    yc resource-manager folder remove-access-binding \
      --id b1g7gvsi89m3******** \
      --role viewer \
      --allUsers
    

См. также

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

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

Предыдущая
Составная (multipart) загрузка
Следующая
Политика доступа (Bucket Policy)
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»