Настройка политик неизменяемости для версий BLOB-объектов

Неизменяемое Хранилище BLOB-объектов Azure дает пользователям возможность хранить критически важные для бизнеса данные в состоянии WORM (однократная запись, многократное чтение). В состоянии WORM данные не могут быть изменены или удалены в течение заданного пользователем интервала. Настроив политики неизменяемости для BLOB-объектов, вы можете защитить данные от перезаписи и удаления. Перечень политик неизменяемости включает политики хранения на основе времени и политики удержания по юридическим причинам. Дополнительные сведения о политиках неизменяемости для Хранилища BLOB-объектов см. в статье Хранение критически важных для бизнеса данных больших двоичных объектов с помощью неизменяемого хранилища.

Область действия политики неизменяемости может быть ограничена отдельной версией BLOB-объекта или контейнером. В данной статье рассказывается, как настроить политику неизменяемости на уровне версии. Сведения о том, как настраивать политики неизменяемости на уровне контейнеров, см. в статье Настройка политик неизменяемости для контейнеров.

Примечание.

Политики неизменяемости не поддерживаются в учетных записях с включенным протоколом Network File System (NFS) 3.0 или протоколом SSH File Transfer Protocol (SFTP).

Настройка политики неизменяемости на уровне версии представляет собой двухэтапный процесс.

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

Необходимые компоненты

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

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

Включение поддержки неизменяемости на уровне версии

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

Включение поддержки неизменяемости на уровне версии в учетной записи хранения

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

Чтобы включить поддержку неизменяемости на уровне версии при создании учетной записи хранения на портале Azure, выполните указанные ниже действия:

  1. Перейдите на страницу Учетные записи хранения на портале Azure.

  2. Нажмите кнопку Создать, чтобы создать учетную запись.

  3. Заполните поля на вкладке Основные сведения.

  4. На вкладке Защита данных в разделе "Управление доступом" установите флажок Включить поддержку неизменяемости на уровне версии. При установке этого флажка также будет автоматически установлен флажок Включить управление версиями для BLOB-объектов.

  5. Выберите Просмотр и создание, чтобы проверить параметры учетной записи и создать учетную запись хранения.

    Screenshot showing how to create a storage account with version-level immutability support

После создания учетной записи хранения вы сможете настроить для нее политику на уровне версии по умолчанию. Дополнительные сведения см. в разделе Настройка политики хранения на основе времени.

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

Примечание.

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

Включение поддержки неизменяемости на уровне версии в контейнере

Как новые, так и существующие контейнеры можно настроить для поддержки неизменяемости на уровне версии. Однако для включения поддержки необходимо выполнить миграцию существующего контейнера.

Помните, что включение поддержки неизменяемости на уровне версии для контейнера не делает данные в этом контейнере неизменяемыми. Необходимо также настроить политику неизменяемости по умолчанию для контейнера или политику неизменяемости для конкретной версии BLOB-объекта. Если вы включили неизменяемость на уровне версии для учетной записи хранения при ее создании, то также можете настроить политику неизменяемости по умолчанию для учетной записи.

Включение неизменяемости на уровне версии для нового контейнера

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

Чтобы создать контейнер, поддерживающий политику неизменяемости на портале Azure, сделайте следующее.

  1. На портале Microsoft Azure перейдите на страницу Контейнеры в своей учетной записи хранения и выберите Добавить.

  2. В диалоговом окне Новый контейнер укажите имя контейнера, а затем разверните раздел Дополнительно.

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

    Screenshot showing how to create a container with version-level immutability enabled

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

Миграция существующего контейнера для поддержки неизменяемости на уровне версии

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

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

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

Чтобы перенести контейнер для включения поддержки политик неизменяемости на уровне версии на портале Azure:

  1. Перейдите к нужному контейнеру.

  2. В контекстном меню контейнера выберите политику Access.

  3. В разделе Неизменяемое хранилище BLOB-объектов нажмите Добавить политику.

  4. В поле Тип политики щелкните Хранение на основе времени и укажите период хранения.

  5. Выберите Включить неизменяемость на уровне версии.

  6. Нажмите кнопку ОК, чтобы создать политику на уровне контейнера с указанным интервалом хранения, а затем начните миграцию для поддержки неизменяемости на уровне версии.

    Screenshot showing how to migrate an existing container to support version-level immutability

Во время миграции область политики в контейнере отображается как Контейнер. Любые операции, связанные с управлением политиками неизменяемости на уровне версии, не разрешены, пока выполняется перенос контейнера. Другие операции с данными BLOB-объектов во время переноса будут выполняться в обычном режиме.

Screenshot showing container migration in process

После завершения миграции область политики в контейнере отображается как Версия. Указанная политика — это политика по умолчанию для контейнера, которая автоматически применяется ко всем версиям BLOB-объектов, созданным впоследствии в контейнере. Политику по умолчанию можно переопределить для любой версии, указав пользовательскую политику.

Screenshot showing completed container migration

Настройка политики хранения на основе времени по умолчанию

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

Политика по умолчанию не применяется автоматически к версиям BLOB-объектов, существовавших до настройки политики по умолчанию.

Если вы перенесли существующий контейнер для поддержки неизменяемости на уровне версии, то политика на уровне контейнера, которая действовала перед миграцией, переносится в политику на уровне версии по умолчанию для контейнера.

Чтобы настроить политику неизменяемости на уровне версии по умолчанию для учетной записи или контейнера, используйте портал Azure, PowerShell, Azure CLI или один из пакетов SDK службы хранилища Azure. Убедитесь, что включена поддержка неизменяемости на уровне версии для учетной записи хранения или контейнера, как описано в разделе Включение поддержки неизменяемости на уровне версии.

Чтобы настроить политику неизменяемости на уровне версии по умолчанию для учетной записи хранения на портале Azure, выполните следующие действия:

  1. Войдите в свою учетную запись хранения на портале Azure.

  2. В разделе Управление данными выберите Защита данных.

  3. На странице Защита данных найдите раздел Управление доступом. Если учетная запись хранения была создана с поддержкой неизменяемости на уровне версий, в разделе Управление доступом появится кнопка Управление политикой.

    Screenshot showing how to manage the default version-level immutability policy for a storage account

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

  5. Добавьте политику хранения на основе времени по умолчанию для учетной записи хранения.

    Screenshot showing how to configure a default version-level retention policy for a storage account

Чтобы настроить политику неизменяемости на уровне версии по умолчанию для контейнера на портале Azure, выполните следующие действия:

  1. На портале Azure перейдите на страницу Контейнеры и найдите контейнер, к которому необходимо применить политику.

  2. В контекстном меню контейнера и выберите политику Доступа.

  3. В диалоговом окне Политика доступа выберите Добавить политику в разделе Неизменяемое хранилище BLOB-объектов.

  4. Выберите Политика хранения на основе времени и укажите период хранения.

  5. Укажите, следует ли разрешать записи с защищенными добавлениями.

    Параметр Добавочные BLOB-объекты позволяет рабочим нагрузкам добавлять новые блоки данных в конец добавочного BLOB-объекта с помощью операции Добавить блок.

    Параметр Блочные и добавочные BLOB-объекты расширяет эту поддержку, добавляя возможность записи новых блоков в блочный BLOB-объект. API Хранилища BLOB-объектов не предоставляет приложениям возможность делать это напрямую. Однако приложения могут сделать это с помощью методов добавления и очистки, доступных в API Data Lake Storage 2-го поколения. Кроме того, это свойство позволяет приложениям Майкрософт, таким как Фабрика данных Azure, добавлять блоки данных с помощью внутренних API. Если рабочие нагрузки зависят от любого из этих средств, используйте это свойство, чтобы избежать ошибок, которые могут появляться при попытке добавить данные в BLOB-объекты.

    Дополнительные сведения об этих параметрах см. в статье Разрешить запись в защищенные добавочные BLOB-объекты.

    Screenshot showing how to configure immutability policy scoped to container.

Определение области применения политики хранения для контейнера

Чтобы определить область применения политики хранения на основе времени на портале Azure, выполните следующие действия.

  1. Перейдите к нужному контейнеру.

  2. В контекстном меню контейнера выберите политику Access.

  3. В разделе Хранилище неизменяемых BLOB-объектов найдите поле Область. Если для контейнера настроена политика хранения на уровне версии по умолчанию, то для области задано значение Версия, как показано на следующем рисунке.

    Screenshot showing default version-level retention policy configured for container

  4. Если для контейнера настроена политика хранения на уровне контейнера, то для области задано значение Контейнер, как показано на следующем рисунке.

    Screenshot showing container-level retention policy configured for container

Настройка политики хранения на основе времени для существующей версии

Политики хранения на основе времени служат для сохранения данных больших двоичных объектов с состоянием WORM в течение указанного интервала времени. Дополнительные сведения о политиках хранения на основе времени см. в статье Политики хранения на основе времени для неизменяемых данных больших двоичных объектов.

Существует три варианта настройки политики хранения на основе времени для версии больших двоичных объектов.

  • Вариант 1. Можно настроить политику по умолчанию в учетной записи хранения и контейнере, которая применяется ко всем объектам в учетной записи или контейнере. Объекты в учетной записи или контейнере наследуют политику по умолчанию, если только она не была явно переопределена путем настройки политики для отдельной версии BLOB-объекта. Дополнительные сведения см. в разделе Настройка политики хранения на основе времени.
  • Вариант 2. Можно настроить политику для текущей версии большого двоичного объекта. Эта политика может переопределить политику по умолчанию, настроенную для учетной записи хранения или контейнера, если политика по умолчанию существует и разблокирована. По умолчанию все предыдущие версии, созданные после настройки политики, будут наследовать политику в текущей версии большого двоичного объекта. Дополнительные сведения см. в разделе Настройка политики хранения для текущей версии BLOB-объекта.
  • Вариант 3. Можно настроить политику для предыдущей версии большого двоичного объекта. Эта политика может переопределить политику по умолчанию, настроенную для текущей версии, если политика по умолчанию существует и не заблокирована. Дополнительные сведения см. в разделе Настройка политики хранения для предыдущей версии BLOB-объекта.

Дополнительные сведения об управлении версиями BLOB-объектов см. в статье Управление версиями BLOB-объектов.

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

Настройка политики хранения для текущей версии большого двоичного объекта

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

  1. Перейдите к контейнеру, содержащему целевой большой двоичный объект.

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

  3. В диалоговом окне Политика доступа выберите Добавить политику в разделе Неизменяемые версии BLOB-объектов.

  4. Выберите Политика хранения на основе времени и укажите период хранения.

  5. Нажмите кнопку OK, чтобы применить политику к текущей версии BLOB-объекта.

    Screenshot showing how to configure a retention policy for the current version of a blob

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

Screenshot showing immutability policy properties on blob version in Azure portal

Настройка политики хранения для предыдущей версии большого двоичного объекта

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

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

  1. Перейдите к контейнеру, содержащему целевой большой двоичный объект.

  2. Выберите большой двоичный объект, а затем перейдите на вкладку Версии.

  3. Найдите целевую версию, а затем в контекстном меню версии выберите политику Доступа. Если политика хранения на основе времени уже настроена для предыдущей версии, она появится в диалоговом окне Политика доступа.

  4. В диалоговом окне Политика доступа выберите Добавить политику в разделе Неизменяемые версии BLOB-объектов.

  5. Выберите Политика хранения на основе времени и укажите период хранения.

  6. Нажмите кнопку OK, чтобы применить политику к текущей версии BLOB-объекта.

    Screenshot showing how to configure retention policy for a previous blob version in Azure portal

Настройка политики хранения на основе времени при отправке большого двоичного объекта

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

  • Вариант 1. Если для контейнера настроена политика хранения по умолчанию, можно отправить большой двоичный объект с политикой контейнера. Этот вариант выбран по умолчанию, если для контейнера настроена политика хранения.
  • Вариант 2. Если для контейнера настроена политика хранения по умолчанию, можно переопределить политику по умолчанию, либо определив пользовательскую политику хранения для нового большого двоичного объекта, либо отправив большой двоичный объект без политики.
  • Вариант 3. Если для контейнера не настроена политика по умолчанию, большой двоичный объект можно отправить как с пользовательской политикой, так и без политики.

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

  1. Перейдите к нужному контейнеру и нажмите Отправить.

  2. В диалоговом окне BLOB-объекта Отправка разверните раздел Дополнительно.

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

    Screenshot showing options for configuring retention policy on blob upload in Azure portal

Изменение или удаление незаблокированной политики хранения

Можно изменить незаблокированную политику хранения на основе времени, чтобы уменьшить или увеличить интервал хранения. Незаблокированную политику можно также удалить. Изменение или удаление незаблокированной политики хранения на основе времени для версии BLOB-объекта не влияет на политики, применимые к другим версиям. Если к контейнеру применима политика хранения на основе времени по умолчанию, версия BLOB-объекта с измененной или удаленной политикой больше не будет наследоваться от контейнера.

Чтобы изменить незаблокированную политику хранения на основе времени на портале Azure, выполните указанные ниже действия.

  1. Найдите целевой контейнер или версию. В контекстном меню контейнера или версии выберите политику доступа.

  2. Найдите существующую незаблокированную политику неизменяемости. В контекстном меню выберите "Изменить " в меню.

    Screenshot showing how to edit an existing version-level time-based retention policy in Azure portal

  3. Укажите новые дату и время истечения срока действия политики.

Чтобы удалить разблокированную политику, выберите "Удалить " в контекстном меню.

Блокирование политики хранения на основе времени

По завершении тестирования политики хранения на основе времени можно заблокировать ее. Заблокированная политика соответствует требованиям документа SEC 17a-4(f) и другим нормативным требованиям. Интервал хранения для заблокированной политики можно увеличить в пять раз, но нельзя сократить.

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

Чтобы заблокировать политику на портале Azure, выполните указанные ниже действия.

  1. Найдите целевой контейнер или версию. В контекстном меню контейнера или версии выберите политику доступа.

  2. В разделе Версии неизменяемых больших двоичных объектов найдите существующую незаблокированную политику. Выберите политику блокировки в контекстном меню.

  3. Подтвердите, что вы хотите заблокировать политику.

    Screenshot showing how to lock a time-based retention policy in Azure portal

Функция удержания по юридическим причинам позволяет хранить неизменяемые данные до тех пор, пока такое удержание не будет отменено явным образом. Дополнительные сведения о политиках удержания по юридическим причинам см. в статье Удержания по юридическим причинам для данных неизменяемых больших двоичных объектов.

Чтобы настроить удержание по юридическим причинам для определенной версии BLOB-объекта, необходимо сначала включить поддержку неизменяемости на уровне версии в учетной записи хранения или контейнере. Дополнительные сведения см. в статье Включение поддержки неизменяемости на уровне версии.

Чтобы настроить удержание по юридическим причинам для версии BLOB-объекта на портале Azure, выполните указанные ниже действия.

  1. Выберите целевую версию. Это может быть текущая или предыдущая версия большого двоичного объекта. В контекстном меню целевой версии выберите политику Access.

  2. В разделе Неизменяемые версии BLOB-объектов щелкните Добавить политику.

  3. Выберите тип политики Удержание по юридическим причинам и нажмите кнопку OK, чтобы применить его.

На приведенном ниже изображении показана текущая версия BLOB-объекта, для которой настроена и политика хранения на основе времени, и удержание по юридическим причинам.

Screenshot showing legal hold configured for blob version

Чтобы очистить юридическое удержание, перейдите в диалоговое окно политики доступа в контекстном меню нажмите кнопку "Удалить".

Следующие шаги