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

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

  • Установить или настроить временную блокировку (governance или compliance)
  • Снять временную управляемую блокировку (governance)
  • Установить или удалить бессрочную блокировку (legal hold)
  • Примеры
  • Установка управляемой блокировки со смещением по московскому времени (UTC+3)
  1. Пошаговые инструкции
  2. Объекты
  3. Настройка блокировок версии объекта

Настройка блокировок версии объекта (object lock)

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Установить или настроить временную блокировку (governance или compliance)
  • Снять временную управляемую блокировку (governance)
  • Установить или удалить бессрочную блокировку (legal hold)
  • Примеры
    • Установка управляемой блокировки со смещением по московскому времени (UTC+3)

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

Установить или настроить временную блокировку (governance или compliance)Установить или настроить временную блокировку (governance или compliance)

Минимальные необходимые роли:

  • для установки блокировки — storage.uploader;
  • для изменения существующей блокировки — storage.admin.

Временную строгую блокировку (compliance-mode retention) можно только продлить. Сократить ее или заменить на управляемую блокировку (governance-mode retention) нельзя.

Чтобы установить или настроить блокировку:

Консоль управления
Yandex Cloud CLI
AWS CLI
API
  1. В консоли управления в списке сервисов выберите Object Storage и перейдите в бакет, для объектов которого хотите настроить блокировку.
  2. На панели слева выберите Объекты.
  3. Чтобы видеть все версии объектов в списке, справа от поля поиска объекта в бакете включите опцию Показать версии.
  4. В списке объектов выберите нужный, нажмите → Блокировка.
  5. В открывшемся окне включите опцию Временная блокировка.
  6. Выберите Тип блокировки по умолчанию:
    • Временная управляемая — пользователь с ролью storage.admin может обойти блокировку, изменить ее срок или снять ее.
    • Временная строгая — пользователь с ролью storage.admin может только продлить блокировку. Обойти, сократить или снять блокировку до ее окончания нельзя.
  7. Установите Срок блокировки по умолчанию в днях или годах. Отсчитывается от момента, когда версия объекта загружена в бакет.
  8. Нажмите Сохранить.

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

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

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

    yc storage s3api put-object-retention --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. Задайте настройки временной блокировки версии объекта:

    yc storage s3api put-object-retention \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      --version-id <идентификатор_версии> \
      --retention Mode=<тип_блокировки>,RetainUntilDate="<срок_блокировки>" \
      --bypass-governance-retention
    

    Где:

    • --bucket — имя вашего бакета.

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

    • --version-id — идентификатор версии объекта.

    • --retention — настройки временной блокировки (оба параметра обязательны):

      • Mode — тип блокировки:

        • GOVERNANCE — временная управляемая блокировка. Этот тип нельзя указать, если на версию объекта уже установлена строгая блокировка.
        • COMPLIANCE — временная строгая блокировка.
      • RetainUntilDate — дата и время окончания блокировки в формате RFC3339. Например, 2025-01-01T00:00:00Z. Конец блокировки указывается в часовом поясе UTC±00:00. Чтобы указать другой часовой пояс, добавьте к концу записи + или - и смещение от UTC±00:00. Подробнее см. пример. Если на версию объекта уже установлена строгая блокировка, ее можно только продлить, то есть новые дата и время должны быть позже текущих.

    • --bypass-governance-retention — флаг, подтверждающий обход блокировки. Его нужно установить, если на версию объекта уже установлена управляемая блокировка.

    Результат:

    request_id: c5984d03********
    
  4. Убедитесь, что настройки блокировки версии объекта изменились:

    yc storage s3api get-object-retention \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      --version-id <идентификатор_версии>
    

    Где:

    • --bucket — имя вашего бакета.
    • --key — ключ объекта.
    • --version-id — идентификатор версии объекта

    Результат:

    request_id: 077b184e********
    retention:
      mode: GOVERNANCE
      retain_until_date: "2024-12-01T10:49:08.363Z"
    

    В поле mode указан тип блокировки, в поле retain_until_date — ее срок.

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

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

    aws --endpoint-url=https://storage.yandexcloud.net/ \
      s3api put-object-retention \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      --version-id <идентификатор_версии> \
      --retention Mode=<тип_блокировки>,RetainUntilDate="<срок_блокировки>" \
      --bypass-governance-retention
    

    Где:

    • --bucket — имя вашего бакета.

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

    • --version-id — идентификатор версии объекта.

    • --retention — настройки временной блокировки (оба параметра обязательны):

      • Mode — тип блокировки:

        • GOVERNANCE — временная управляемая блокировка. Этот тип нельзя указать, если на версию объекта уже установлена строгая блокировка.
        • COMPLIANCE — временная строгая блокировка.
      • RetainUntilDate — дата и время окончания блокировки в формате RFC3339. Например, 2025-01-01T00:00:00Z. Конец блокировки указывается в часовом поясе UTC±00:00. Чтобы указать другой часовой пояс, добавьте к концу записи + или - и смещение от UTC±00:00. Подробнее см. пример. Если на версию объекта уже установлена строгая блокировка, ее можно только продлить, то есть новые дата и время должны быть позже текущих.

    • --bypass-governance-retention — флаг, подтверждающий обход блокировки. Его нужно установить, если на версию объекта уже установлена управляемая блокировка.

Воспользуйтесь методом S3 API putObjectRetention.

Снять временную управляемую блокировку (governance)Снять временную управляемую блокировку (governance)

Минимально необходимая роль — storage.admin.

Чтобы снять блокировку:

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

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

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

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

    yc storage s3api put-object-retention --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. Задайте настройки временной блокировки версии объекта:

    yc storage s3api put-object-retention \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      --version-id <идентификатор_версии> \
      --retention "{}" \
      --bypass-governance-retention
    

    Где:

    • --bucket — имя вашего бакета.
    • --key — ключ объекта.
    • --version-id — идентификатор версии объекта.
    • --retention — настройки временной блокировки. В обоих параметрах указаны пустые строки, чтобы снять блокировку.
    • --bypass-governance-retention — флаг, подтверждающий обход блокировки.

    Результат:

    request_id: m6384f81********
    
  4. Убедитесь, что настройки блокировки версии объекта изменились:

    yc storage s3api get-object-retention \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      --version-id <идентификатор_версии>
    

    Где:

    • --bucket — имя вашего бакета.
    • --key — ключ объекта.
    • --version-id — идентификатор версии объекта

    Выполнение команды завершится ошибкой с информацией о том, что для указанного объекта не задана блокировка:

    The specified object does not have a ObjectLock configuration.
    
  1. Если у вас еще нет AWS CLI, установите и сконфигурируйте его.

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

    aws --endpoint-url=https://storage.yandexcloud.net/ \
      s3api put-object-retention \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      --version-id <идентификатор_версии> \
      --retention "{}" \
      --bypass-governance-retention
    

    Где:

    • --bucket — имя вашего бакета.
    • --key — ключ объекта.
    • --version-id — идентификатор версии объекта.
    • --retention — настройки временной блокировки. В обоих параметрах указаны пустые строки, чтобы снять блокировку.
    • --bypass-governance-retention — флаг, подтверждающий обход блокировки.

Воспользуйтесь методом S3 API putObjectRetention с заголовком X-Amz-Bypass-Governance-Retention: true и пустым элементом Retention.

Установить или удалить бессрочную блокировку (legal hold)Установить или удалить бессрочную блокировку (legal hold)

Минимально необходимая роль — storage.uploader.

Чтобы установить или удалить блокировку:

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

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

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

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

    yc storage s3api put-object-legal-hold --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. Задайте настройки бессрочной блокировки версии объекта:

    yc storage s3api put-object-legal-hold \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      --version-id <идентификатор_версии> \
      --legal-hold Status=<статус_блокировки>
    

    Где:

    • --bucket — имя вашего бакета.

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

    • --version-id — идентификатор версии объекта.

    • --legal-hold — настройки бессрочной блокировки:

      • Status — статус блокировки:

        • ON — блокировка установлена.
        • OFF — блокировка не установлена.

    Результат:

    request_id: cb262625********
    
  4. Убедитесь, что настройки блокировки версии объекта изменились:

    yc storage s3api get-object-legal-hold \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      --version-id <идентификатор_версии>
    

    Где:

    • --bucket — имя вашего бакета.
    • --key — ключ объекта.
    • --version-id — идентификатор версии объекта

    Результат:

    request_id: 0bef4a0b********
    legal_hold:
      status: ON
    
  1. Если у вас еще нет AWS CLI, установите и сконфигурируйте его.

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

    aws --endpoint-url=https://storage.yandexcloud.net/ \
      s3api put-object-legal-hold \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      --version-id <идентификатор_версии> \
      --legal-hold Status=<статус_блокировки>
    

    Где:

    • --bucket — имя вашего бакета.

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

    • --version-id — идентификатор версии объекта.

    • --legal-hold — настройки бессрочной блокировки:

      • Status — статус блокировки:

        • ON — блокировка установлена.
        • OFF — блокировка не установлена.

Воспользуйтесь методом S3 API putObjectLegalHold.

ПримерыПримеры

Установка управляемой блокировки со смещением по московскому времени (UTC+3)Установка управляемой блокировки со смещением по московскому времени (UTC+3)

Yandex Cloud CLI
AWS CLI
yc storage s3api put-object-retention \
  --bucket test-bucket \
  --key object-key/ \
  --version-id 0005FA15******** \
  --retention Mode=GOVERNANCE,RetainUntilDate=2025-01-01T00:00:00+03:00 \
aws --endpoint-url=https://storage.yandexcloud.net/ \
  s3api put-object-retention \
  --bucket test-bucket \
  --key object-key/ \
  --version-id 0005FA15******** \
  --retention Mode=GOVERNANCE,RetainUntilDate="2025-01-01T00:00:00+03:00" \

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

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