Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Полиcика «запись один раз, чтение многократно» (WORM) на уровне версии, является типом политики неизменяемости, которую можно задать на уровне учетной записи, контейнера или версии. Чтобы узнать больше о неизменяемом хранилище для BLOB-объектов Azure, см. раздел Хранение критически важных для бизнеса BLOB-данных с неизменяемым хранилищем в состоянии "записать один раз, читать много" (WORM).
Доступность
Политики неизменяемости уровня версии (VLW) поддерживаются на уровне учетной записи для новых аккаунтов, а также на уровне контейнера и BLOB для новых и существующих учетных записей и контейнеров. Эти политики поддерживаются как для учетных записей BLOB-объектов общего назначения версии 2, так и для блочных BLOB-объектов уровня "Премиум". Эта функция не поддерживается в учетных записях иерархического пространства имен.
Зависимость версий
Политики уровня версии требуют, чтобы для учетной записи хранения было включено управление версиями Blob. О включении управления версиями BLOB-объектов см. в разделе Включение и контроль управления версиями BLOB-объектов. Помните, что включение управления версиями может повлиять на выставление счетов. Для получения дополнительной информации см. раздел "Цены и выставление счетов" для версионирования BLOB.
После включения управления версиями, когда blob загружается впервые, эта версия является текущей версией. Каждый раз при перезаписи большого двоичного объекта создается новая версия, которая сохраняет предыдущее состояние большого двоичного объекта. При удалении текущей версии BLOB текущая версия становится предыдущей и сохраняется до явного удаления. Предыдущая версия большого двоичного объекта обладает политикой хранения на основе времени, которая действует, когда текущая версия стала предыдущей.
Если политика по умолчанию действует для учетной записи хранения или контейнера, то при перезаписи операции создания предыдущей версии новая текущая версия наследует политику по умолчанию для учетной записи или контейнера.
Каждая версия может иметь только одну политику хранения на основе времени. Версия может также иметь одну юридическую блокировку.
Как настроить политики хранения на основе времени на уровне версии, см. в статье "Настройка политик неизменяемости для версий объектов BLOB".
Включение и параметр политики
Использование неизменяемых политик с версионным WORM — это двухэтапный процесс. Сначала включите неизменяемость уровня версии. Затем можно задать политики неизменяемости на уровне версии.
Чтобы задать политику на уровне учетной записи хранения, необходимо сначала включить WORM уровня версии в учетной записи хранения. Это можно сделать только во время создания учетной записи. Нет возможности включить WORM уровня версии для существующих учетных записей.
Чтобы задать политику на уровне контейнера, необходимо сначала включить WORM уровня версии в учетной записи ИЛИ в контейнере.
Если вы планируете включить WORM уровня версии в контейнере, корпорация Майкрософт рекомендует включить его во время создания контейнера. Однако вы можете перенести контейнер с поддержкой WORM на уровне без версии в контейнер с поддержкой WORM на уровне версии. Если вы решите не переносить контейнер, вы все равно можете установить политику WORM на уровне контейнера, но возможность настройки политик на уровне BLOB не будет доступна в этом контейнере.
Чтобы задать политику на уровне БОЛЬШОго двоичного объекта, необходимо включить WORM уровня версии в учетной записи или контейнере. Нет возможности включить WORM уровня версии на уровне blob; эта настройка должна быть унаследована.
Миграция
Существующие контейнеры могут поддерживать неизменяемость на уровне версии, но сначала должны пройти процесс миграции. Этот процесс может занять некоторое время. После включения поддержка WORM уровня версии для этого контейнера не может быть удалена. В один момент времени можно перенести десять контейнеров для каждой учетной записи хранения. Время миграции зависит в основном от количества больших двоичных объектов в контейнере. Контейнеры с большим количеством блобов будут мигрировать значительно дольше. Дополнительные сведения о переносе контейнера для поддержки неизменяемости на уровне версии см. в статье "Перенос существующего контейнера для поддержки неизменяемости на уровне версии".
Настройка политики в текущей версии
После включения поддержки неизменяемости на уровне версии для учетной записи хранения или контейнера можно настроить политику хранения на основе времени по умолчанию для учетной записи или контейнера. При настройке политики хранения на основе времени по умолчанию для учетной записи или контейнера и отправки большого двоичного объекта большой двоичный объект наследует эту политику по умолчанию. Вы также можете переопределить политику по умолчанию для любого большого двоичного объекта при отправке, настроив настраиваемую политику для этого большого двоичного объекта.
Если политика хранения на основе времени по умолчанию для учетной записи или контейнера не имеет блокировки, то текущая версия блоба, наследующая политику по умолчанию, также будет без блокировки. После загрузки отдельного блоба можно сократить или продлить период хранения для политики на текущую версию блоба или удалить текущую версию. Вы также можете заблокировать политику для текущей версии, даже если политика по умолчанию в учетной записи или контейнере остается разблокированной.
Если политика хранения на основе времени по умолчанию для аккаунта или контейнера заблокирована, то текущая версия блоба, наследующая политику по умолчанию, также будет иметь заблокированную политику. Однако если вы переопределите политику по умолчанию при отправке большого двоичного объекта, задав политику только для этого большого двоичного объекта, политика этого большого двоичного объекта остается разблокирована, пока она не будет явно заблокирована. Если политика текущей версии заблокирована, можно увеличить интервал хранения, но нельзя удалить политику или сократить интервал хранения.
Если для учетной записи хранения или контейнера не настроена политика по умолчанию, можно загрузить объект Blob, используя пользовательскую политику или без какой-либо политики.
Если политика по умолчанию в учетной записи хранения или контейнере изменена, политики объектов в этом контейнере остаются неизменными, даже если эти политики унаследованы от политики по умолчанию.
В следующей таблице показаны различные параметры, доступные для настройки политики хранения, основанной на времени, для BLOB на момент загрузки:
Состояние политики по умолчанию для учетной записи или контейнера | Загрузить блок данных с политикой по умолчанию | Загрузка блоба с настраиваемой политикой | Загрузка объекта без политики |
---|---|---|---|
Политика по умолчанию для учетной записи или контейнера (разблокирована) | Двоичный объект загружается с политикой по умолчанию без блокировки | Загружается блоб с настраиваемой политикой без ограничений | Blob загружается без установленной политики |
Политика по умолчанию для учетной записи или контейнера (заблокирована) | Большой двоичный объект отправляется с политикой блокировки по умолчанию | Загружается блоб с настраиваемой политикой без ограничений | Blob загружается без установленной политики |
Политика по умолчанию в учетной записи или контейнере не используется | Не применимо | Загружается блоб с настраиваемой политикой без ограничений | Blob загружается без установленной политики |
Настройка политики в предыдущей версии
При включении управления версиями операция записи или удаления в BLOB создает новую предыдущую версию, которая сохраняет состояние BLOB перед операцией. По умолчанию предыдущая версия обладает политикой хранения на основе времени, которая вступила в силу для текущей версии, если она есть, когда текущая версия стала предыдущей. Новая текущая версия наследует политику контейнера, если она есть.
Если политика, наследуемая предыдущей версией, разблокирована, интервал хранения можно сократить или продлить или удалить. Политика предыдущей версии также может быть заблокирована для этой версии, даже если политика в текущей версии разблокирована.
Если политика, наследуемая предыдущей версией, заблокирована, интервал хранения можно продлить. Политика не может быть удалена, а также не может быть сокращен интервал хранения. Если в текущей версии не настроена политика, предыдущая версия не наследует какую-либо политику.
Вы можете настроить пользовательскую политику для версии. Если политика текущей версии изменена, политики существующих предыдущих версий остаются неизменными, даже если политика наследуется от текущей версии.
Удаление
После включения учетной записи или контейнера для неизменяемой политики ее нельзя удалить, пока она не будет пуста. Важное замечание: не имеет значения, установлена ли неизменяемая политика на уровне учетной записи или контейнера WORM версии, имеет значение, включена ли она для осуществления политики. После этого учетная запись или контейнер должны быть пустыми для удаления.
Контейнер, включенный для неизменяемой политики, можно удалить только с помощью операций плоскости управления. Все такие запросы отправляются по URL-адресу Azure Resource Manager. Например, команда PowerShell Remove-AzRmStorageContainer использует операцию плоскости управления для удаления контейнера. В отличие от этого, команда Remove-AzStorageContainer пытается использовать операцию с плоскостью данных, которая не увенчается успехом. Аналогичным образом команда Azure CLI az storage container-rm delete использует операцию плоскости управления, в то время как az storage container delete зависит от операции плоскости данных. Контейнер можно также удалить на портале Azure, так как он выполняет задачу с помощью операции плоскости управления.
Сценарии
Сценарий | Запрещенные операции | Защита BLOB-объектов | Защита контейнеров | Защита учетных записей |
---|---|---|---|---|
Версия блоба защищена действующей политикой хранения и/или действует юридическое удержание. | Удалить BLOB, Установить метаданные BLOB и Внести страницу | Версия двоичного объекта не может быть удалена. Не удается записать метаданные пользователя. Перезапись Blob с помощью Put Blob, Put Block List или Copy Blob создает новую версию1. |
Удаление контейнера завершается сбоем, если в контейнере существует хотя бы один BLOB-объект, независимо от того, заблокирована или разблокирована политика. | Удаление учетной записи хранения завершается ошибкой, если есть хотя бы один контейнер с включенным неизменяемым хранилищем уровня версии или оно включено для учетной записи. |
Версия бинарного объекта защищена политикой хранения, срок действия которой истек, и юридическое удержание не применяется. | Настройка метаданных BLOB-объектов и загрузка страниц | Версия бинарного объекта защищена политикой хранения, срок действия которой истек, и юридическое удержание не применяется. | Версию BLOB можно удалить. Перезапись Blob с помощью Put Blob, Put Block List или Copy Blob создает новую версию1. |
Удаление учетной записи хранения завершается ошибкой, если существует хотя бы один контейнер, содержащий версию блоба с заблокированной политикой хранения на основе времени. Разблокированные политики не обеспечивают защиту от удаления. |
1 Версии BLOB-объектов всегда неизменяемы для содержимого. Если версионирование включено для аккаунта хранения, то операция записи в блочный объект blob создает новую версию, кроме операции Put Block.
Ограничения
В одной учетной записи может быть только 10 000 контейнеров с уникальными временными политиками хранения; однако можно задать политику для уровня учетной записи, которая будет наследоваться более чем 10 000 контейнерами.