---
title: 'Управлять блокировкой объекта'
sidebar_label: 'Управлять блокировкой объекта'
description: 'Как управлять бессрочной и временной блокировкой: включать, менять срок блокировки, изменять режим блокировки, отключать'
sidebar_position: 6
---

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import Formbricks from '@theme/MDXComponents/Formbricks'

# Управлять блокировкой объекта

:::info

Управлять блокировкой объекта могут:

* [Владелец аккаунта](/access-control/user-types.mdx#account-owner);
* пользователи с ролями [`member`](/s3/about/manage-access.mdx#member), [`s3.admin`](/s3/about/manage-access.mdx#s3-admin) и [`object_storage:admin`](/s3/about/manage-access.mdx#object-storage-admin);
* пользователи с ролями [`s3.bucket.user`](/s3/about/manage-access.mdx#s3-bucket-user), [`s3.user`](/s3/about/manage-access.mdx#s3-user) и [`object_storage_user`](/s3/about/manage-access.mdx#object-storage-user), если политика доступа разрешает им соответствующие [действия](/s3/buckets/bucket-policy/about-bucket-policy.mdx#actions).

:::

Если у вас в бакете [включен Object Lock](/s3/buckets/object-lock.mdx#enable-object-lock), вы можете управлять блокировкой объектов.
Доступные действия с блокировкой зависят от [типа и режима блокировки](/s3/buckets/object-lock.mdx#lock-types-and-modes).

Управлять блокировкой объектов можно в панели управления, через [S3 API](/api/object-storage-s3/) и [инструменты](/s3/tools/), которые его используют — например, [AWS CLI](/s3/tools/aws-cli.mdx).

## Временная блокировка \{#retention-period}

### Проверить наличие временной блокировки \{#check-retention-period}

Если у вас есть [объекты с сегментами](/s3/objects/upload-object.mdx#segmented-upload), проверить наличие блокировки на отдельных сегментах нельзя — можно проверить блокировку только на самом объекте.
Сегменты наследуют настройки блокировки, которая применяется к объекту.

<Tabs queryString="check-retention-period">
  <TabItem value="control-panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/storage/) в верхнем меню нажмите **Продукты** и выберите **S3**.
    2. Перейдите в раздел **Бакеты**.
    3. Откройте страницу бакета → вкладка **Объекты**.
    4. Откройте страницу объекта.
    5. В блоке **Object Lock** посмотрите статус временной блокировки.
  </TabItem>

  <TabItem value="aws-cli">
    <TabItemLabel>
      AWS CLI
    </TabItemLabel>

    1. Откройте CLI.

    2. Если вы хотите проверить блокировку определенной версии объекта:

       2.1. Получите идентификатор версии объекта:

       ```bash
       aws s3api list-object-versions --bucket <bucket_name> --prefix <path_to_object>
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете.

       2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле `VersionId`.

    3. Проверьте наличие блокировки:

       ```bash
       aws s3api get-object-retention \
       --bucket <bucket_name> \
       --key <path_to_object> \
       --version-id <version_id>
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете;
       * опционально: `--version-id <version_id>` — параметр, который указывает на определенную [версию](/s3/buckets/versioning.mdx#object-versions) объекта. Здесь `<version_id>` — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет проверена у текущей версии объекта.
  </TabItem>
</Tabs>

### Включить временную блокировку \{#enable-retention-period}

Если у объекта одновременно включены временная и бессрочная блокировки, приоритет имеет бессрочная блокировка.

Чтобы временная блокировка по умолчанию применялась ко всем новым объектам в бакете, используйте подраздел [Включить временную блокировку по умолчанию в бакете](/s3/buckets/object-lock.mdx#enable-default-retention) инструкции [Object Lock](/s3/buckets/object-lock.mdx).

Чтобы загрузить объект сразу с блокировкой, используйте AWS CLI, подробнее в подразделе [Загрузить объект](/s3/tools/aws-cli.mdx#upload-object) инструкции [AWS CLI](/s3/tools/aws-cli/).

<Tabs queryString="enable-retention-period">
  <TabItem value="control-panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/storage/) в верхнем меню нажмите **Продукты** и выберите **S3**.

    2. Перейдите в раздел **Бакеты**.

    3. Откройте страницу бакета → вкладка **Объекты**.

    4. Откройте страницу объекта.

    5. В блоке **Object Lock** в строке **Временная блокировка** нажмите **Изменить**.

    6. Отметьте чекбокс **Заблокировать объект**.

    7. Выберите [режим блокировки](/s3/buckets/object-lock.mdx#lock-types-and-modes).

    8. Укажите срок действия блокировки. Максимальный срок блокировки:

       * для режима Compliance — один год. Чтобы установить блокировку Compliance на срок больше года, используйте API или инструменты, например AWS CLI;
       * для режима Governance — 100 лет.

    9. Нажмите **Сохранить**.
  </TabItem>

  <TabItem value="aws-cli">
    <TabItemLabel>
      AWS CLI
    </TabItemLabel>

    1. Откройте CLI.

    2. Если вы хотите заблокировать не текущую версию объекта:

       2.1. Получите идентификатор версии объекта:

       ```bash
       aws s3api list-object-versions --bucket <bucket_name> --prefix <path_to_object>
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете.

       2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле `VersionId`.

    3. Заблокируйте объект:

       ```bash
       aws s3api put-object-retention \
       --bucket <bucket_name> \
       --key <path_to_object> \
       --version-id <version_id> \
       --retention '{"Mode":"<lock_mode>","RetainUntilDate":"<date>"}'
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете;
       * опционально: `--version-id <version_id>` — параметр, который указывает на определенную [версию](/s3/buckets/versioning.mdx#object-versions) объекта. Здесь `<version_id>` — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет применена к текущей версии объекта;
       * `<lock_mode>` — [режим блокировки](/s3/buckets/object-lock.mdx#lock-types-and-modes). Возможные значения — `GOVERNANCE` или `COMPLIANCE`;
       * `<date>` — дата, до которой объект будет заблокирован, в формате ISO 8601, например `2025-09-06T00:00:00Z`. Срок блокировки объекта не может быть больше 100 лет.
  </TabItem>
</Tabs>

### Изменить срок временной блокировки \{#change-retention-period-time}

Если установлен режим блокировки:

* Governance — срок блокировки можно сократить или продлить;
* Compliance — срок блокировки можно только продлить.

<Tabs queryString="change-retention-period-time">
  <TabItem value="control-panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    В панели управления можно только увеличить срок блокировки.
    Чтобы уменьшить срок, используйте [S3 API](/api/object-storage-s3/) или [инструменты](/s3/tools/), которые его используют — например, [AWS CLI](/s3/tools/aws-cli.mdx).

    1. В [панели управления](https://my.selectel.ru/storage/) в верхнем меню нажмите **Продукты** и выберите **S3**.

    2. Перейдите в раздел **Бакеты**.

    3. Откройте страницу бакета → вкладка **Объекты**.

    4. Откройте страницу объекта.

    5. В блоке **Object Lock** в строке **Временная блокировка** нажмите **Изменить**.

    6. Укажите новый срок действия блокировки. Максимальный срок блокировки:

       * для режима Compliance — один год. Чтобы установить блокировку Compliance на срок больше года, используйте API или инструменты, например AWS CLI;
       * для режима Governance — 100 лет.

    7. Нажмите **Сохранить**.
  </TabItem>

  <TabItem value="aws-cli">
    <TabItemLabel>
      AWS CLI
    </TabItemLabel>

    Чтобы изменить срок блокировки, используйте подраздел [Включить временную блокировку](#enable-retention-period) и в поле `RetainUntilDate` укажите новое значение.
  </TabItem>
</Tabs>

### Изменить режим временной блокировки \{#change-retention-period-mode}

Можно только изменить режим блокировки Governance на Compliance.

<Tabs queryString="change-retention-period-regime">
  <TabItem value="control-panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    Изменить режим временной блокировки в панели управления нельзя.
    Используйте [S3 API](/api/object-storage-s3/) или [инструменты](/s3/tools/), которые его используют — например, [AWS CLI](/s3/tools/aws-cli.mdx).
  </TabItem>

  <TabItem value="aws-cli">
    <TabItemLabel>
      AWS CLI
    </TabItemLabel>

    Чтобы изменить режим блокировки, используйте подраздел [Включить временную блокировку](#enable-retention-period) и в поле `Mode` укажите значение `COMPLIANCE`.
  </TabItem>
</Tabs>

### Отключить временную блокировку \{#disable-retention-period}

Можно отключить только временную блокировку в режиме Governance.

<Tabs queryString="disable-retention-period">
  <TabItem value="control-panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    Отключить временную блокировку в панели управления может только [Владелец аккаунта](/access-control/user-types.mdx#account-owner) или пользователь с ролью [`member`](/s3/about/manage-access.mdx#member).

    1. В [панели управления](https://my.selectel.ru/storage/) в верхнем меню нажмите **Продукты** и выберите **S3**.
    2. Перейдите в раздел **Бакеты**.
    3. Откройте страницу бакета → вкладка **Объекты**.
    4. Откройте страницу объекта.
    5. В блоке **Object Lock** в строке **Временная блокировка** нажмите **Изменить**.
    6. Снимите чекбокс **Заблокировать объект**.
    7. Нажмите **Сохранить**.
  </TabItem>

  <TabItem value="aws-cli">
    <TabItemLabel>
      AWS CLI
    </TabItemLabel>

    Отключить временную блокировку через AWS CLI может [Владелец аккаунта](/access-control/user-types.mdx#account-owner), пользователь с ролью [`member`](/s3/about/manage-access.mdx#member) или пользователь с другой [ролью с доступом в S3](/s3/about/manage-access.mdx), если политика доступа разрешает ему [действие](/s3/buckets/bucket-policy/about-bucket-policy.mdx#actions) `s3:BypassGovernanceRetention`.

    1. Откройте CLI.

    2. Если вы хотите отключить блокировку определенной версии объекта:

       2.1. Получите идентификатор версии объекта:

       ```bash
       aws s3api list-object-versions --bucket <bucket_name> --prefix <path_to_object>
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете.

       2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле `VersionId`.

    3. Отключите блокировку:

       ```bash
       aws s3api put-object-retention \
           --bucket <bucket_name> \
           --key "<path_to_object>" \
           --version-id <version_id> \
           --retention '{}' \
           --bypass-governance-retention
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете;
       * опционально: `--version-id <version_id>` — параметр, который указывает на определенную [версию](/s3/buckets/versioning.mdx#object-versions) объекта. Здесь `<version_id>` — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет отключена у текущей версии объекта.
  </TabItem>
</Tabs>

## Бессрочная блокировка \{#legal-hold}

### Проверить наличие бессрочной блокировки \{#check-legal-hold}

Если у вас есть [объекты с сегментами](/s3/objects/upload-object.mdx#segmented-upload), проверить наличие блокировки на отдельных сегментах нельзя — можно проверить блокировку только на самом объекте.
Сегменты наследуют настройки блокировки, которая применяется к объекту.

<Tabs queryString="check-legal-hold">
  <TabItem value="control-panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/storage/) в верхнем меню нажмите **Продукты** и выберите **S3**.
    2. Перейдите в раздел **Бакеты**.
    3. Откройте страницу бакета → вкладка **Объекты**.
    4. Откройте страницу объекта.
    5. В блоке **Object Lock** посмотрите статус бессрочной блокировки.
  </TabItem>

  <TabItem value="aws-cli">
    <TabItemLabel>
      AWS CLI
    </TabItemLabel>

    1. Откройте CLI.

    2. Если вы хотите проверить блокировку определенной версии объекта:

       2.1. Получите идентификатор версии объекта:

       ```bash
       aws s3api list-object-versions --bucket <bucket_name> --prefix <path_to_object>
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете.

       2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле `VersionId`.

    3. Проверьте наличие блокировки:

       ```bash
       aws s3api get-object-legal-hold \
           --bucket <bucket_name> \
           --key <path_to_object> \
           --version-id <version_id>
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете;
       * опционально: `--version-id <version_id>` — параметр, который указывает на определенную [версию](/s3/buckets/versioning.mdx#object-versions) объекта. Здесь `<version_id>` — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет проверена у текущей версии объекта.
  </TabItem>
</Tabs>

### Включить бессрочную блокировку \{#enable-legal-hold}

Если у объекта одновременно включены временная и бессрочная блокировки, приоритет имеет бессрочная блокировка.

<Tabs queryString="enable-legal-hold">
  <TabItem value="control-panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/storage/) в верхнем меню нажмите **Продукты** и выберите **S3**.
    2. Перейдите в раздел **Бакеты**.
    3. Откройте страницу бакета → вкладка **Объекты**.
    4. Откройте страницу объекта.
    5. В блоке **Object Lock** включите бессрочную блокировку.
  </TabItem>

  <TabItem value="aws-cli">
    <TabItemLabel>
      AWS CLI
    </TabItemLabel>

    1. Откройте CLI.

    2. Если вы хотите заблокировать не текущую версию объекта:

       2.1. Получите идентификатор версии объекта:

       ```bash
       aws s3api list-object-versions --bucket <bucket_name> --prefix <path_to_object>
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете.

       2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле `VersionId`.

    3. Заблокируйте объект:

       ```bash
       aws s3api put-object-legal-hold \
           --bucket <bucket_name> \
           --key <path_to_object> \
           --version-id <version_id> \
           --legal-hold '{"Status": "ON"}'
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете;
       * опционально: `--version-id <version_id>` — параметр, который указывает на определенную [версию](/s3/buckets/versioning.mdx#object-versions) объекта. Здесь `<version_id>` — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет применена к текущей версии объекта.
  </TabItem>
</Tabs>

### Отключить бессрочную блокировку \{#disable-legal-hold}

<Tabs queryString="disable-legal-hold">
  <TabItem value="control-panel" default>
    <TabItemLabel>
      Панель управления
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/storage/) в верхнем меню нажмите **Продукты** и выберите **S3**.
    2. Перейдите в раздел **Бакеты**.
    3. Откройте страницу бакета → вкладка **Объекты**.
    4. Откройте страницу объекта.
    5. В блоке **Object Lock** отключите бессрочную блокировку.
  </TabItem>

  <TabItem value="aws-cli">
    <TabItemLabel>
      AWS CLI
    </TabItemLabel>

    1. Откройте CLI.

    2. Если вы хотите отключить блокировку не текущей версии объекта:

       2.1. Получите идентификатор версии объекта:

       ```bash
       aws s3api list-object-versions --bucket <bucket_name> --prefix <path_to_object>
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете.

       2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле `VersionId`.

    3. Отключите блокировку:

       ```bash
       aws s3api put-object-legal-hold \
           --bucket <bucket_name> \
           --key <path_to_object> \
           --version-id <version_id> \
           --legal-hold '{"Status": "OFF"}'
       ```

       Укажите:

       * `<bucket_name>` — имя бакета;
       * `<path_to_object>` — путь к объекту в бакете;
       * опционально: `--version-id <version_id>` — параметр, который указывает на определенную [версию](/s3/buckets/versioning.mdx#object-versions) объекта. Здесь `<version_id>` — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет снята с текущей версии объекта.
  </TabItem>
</Tabs>

<Formbricks />
