Настройка политики неизменяемости BLOB-объектов
Операция Set Blob Immutability Policy
задает политику неизменяемости для большого двоичного объекта. Эта операция не обновляет ETag BLOB-объекта. Этот API доступен с версии 2020-06-12.
Запрос
Запрос Set Blob Immutability Policy
можно составить следующим образом. Рекомендуется использовать ПРОТОКОЛ HTTPS. Замените myaccount именем учетной записи хранения, а myblob — именем большого двоичного объекта, для которого необходимо изменить политику неизменности.
Метод | Универсальный код ресурса (URI) запроса | параметр "Версия HTTP" |
---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=immutabilityPolicies |
HTTP/1.1 |
Параметры универсального кода ресурса (URI)
В запросе URI можно указать следующие дополнительные параметры.
Параметр | Описание |
---|---|
snapshot |
Необязательный элемент. Параметр snapshot является непрозрачным DateTime значением, которое при его наличии указывает snapshot большого двоичного объекта для установки уровня. Дополнительные сведения о работе с моментальными снимками BLOB-объектов см. в разделе Create snapshot BLOB-объекта. |
versionid |
Необязательно для версии 2019-12-12 и более поздних версий. Параметр versionid является непрозрачным DateTime значением, которое при его наличии указывает версию большого двоичного объекта для установки уровня. |
timeout |
Необязательный элемент. Параметр timeout указывается в секундах. Дополнительные сведения см. в разделе Настройка времени ожидания для операций с хранилищем BLOB-объектов. |
Заголовки запросов
Обязательные и необязательные заголовки запросов описаны в следующей таблице:
Заголовок запроса | Описание |
---|---|
Authorization |
Обязательный. Указывает схему авторизации, имя учетной записи хранения и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure. |
Date или x-ms-date |
Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure. |
x-ms-immutability-policy-until-date |
Обязательный. Указывает срок хранения до даты, установленной для большого двоичного объекта. Это дата, до которой blob-объект можно защитить от изменения или удаления. Для хранилища BLOB-объектов или учетной записи общего назначения версии 2 допустимые значения имеют формат RFC1123. Прошлые времена недопустимы. |
x-ms-immutability-policy-mode |
Необязательный элемент. Если значение не указано, значение по умолчанию — Unlocked . Указывает режим политики неизменности для большого двоичного объекта. Для хранилища BLOB-объектов или учетной записи общего назначения версии 2 допустимые значения: Unlocked /Locked .
unlocked указывает, что пользователь может изменить политику, увеличив или уменьшив срок хранения до даты.
locked указывает, что эти действия запрещены. |
x-ms-version |
Требуется для всех авторизованных запросов. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure. |
x-ms-client-request-id |
Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Хранилище BLOB-объектов Azure. |
Эта операция также поддерживает использование условных заголовков для задания большого двоичного объекта только в том случае, если выполняется указанное условие. Дополнительные сведения см. в разделе Указание условных заголовков для операций с хранилищем BLOB-объектов.
Текст запроса
Нет.
Ответ
Ответ включает код состояния HTTP и набор заголовков ответа.
Код состояния
Успешная операция возвращает код состояния 200 (ОК).
Сведения о кодах состояния см. в разделе Коды состояния и ошибок.
Заголовки ответов
Ответ для этой операции содержит заголовки ниже. Ответ может также включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.
Заголовок ответа | Описание |
---|---|
x-ms-request-id |
Уникально идентифицирует выполненный запрос и может использоваться для устранения неполадок с запросом. Дополнительные сведения см. в разделе Устранение неполадок с операциями API. |
x-ms-version |
Указывает версию хранилища BLOB-объектов, которая использовалась для выполнения запроса. Возвращается для запросов, выполненных в версии 2009-09-19 и более поздних версий. |
x-ms-client-request-id |
Может использоваться для устранения неполадок с запросами и соответствующими ответами. Значение этого заголовка равно значению заголовка x-ms-client-request-id , если он присутствует в запросе и содержит не более 1024 видимых символов ASCII. Если заголовок x-ms-client-request-id отсутствует в запросе, он не будет присутствовать в ответе. |
x-ms-immutability-policy-until-date |
Указывает дату хранения, заданную для большого двоичного объекта. Это дата, до которой blob-объект можно защитить от изменения или удаления. |
x-ms-immutability-policy-mode |
Указывает режим политики неизменности, заданный для большого двоичного объекта. Значения: unlocked и locked . Значениеunlocked указывает, что пользователь может изменить политику путем увеличения или уменьшения срока хранения до даты, и locked указывает, что эти действия запрещены. |
Авторизация
При вызове любой операции доступа к данным в службе хранилища Azure требуется авторизация. Вы можете авторизовать Set Blob Immutability Policy
операцию, как описано ниже.
Важно!
Корпорация Майкрософт рекомендует использовать Microsoft Entra ID с управляемыми удостоверениями для авторизации запросов к службе хранилища Azure. Microsoft Entra ID обеспечивает более высокий уровень безопасности и простоту использования по сравнению с авторизацией с общим ключом.
Служба хранилища Azure поддерживает использование Microsoft Entra ID для авторизации запросов к данным BLOB-объектов. С помощью Microsoft Entra ID можно использовать управление доступом на основе ролей Azure (Azure RBAC) для предоставления разрешений субъекту безопасности. Субъект безопасности может быть пользователем, группой, субъектом-службой приложения или управляемым удостоверением Azure. Субъект безопасности проходит проверку подлинности с помощью Microsoft Entra ID для возврата маркера OAuth 2.0. Затем маркер можно использовать для авторизации запроса к службе BLOB-объектов.
Дополнительные сведения об авторизации с помощью Microsoft Entra ID см. в статье Авторизация доступа к BLOB-объектам с помощью Microsoft Entra ID.
Разрешения
Ниже перечислены действия RBAC, необходимые Microsoft Entra пользователю, группе, управляемому удостоверению или субъекту-службе для вызова Set Blob Immutability Policy
операции, а также встроенная роль Azure RBAC с наименьшими привилегиями, которая включает это действие:
- Действие Azure RBAC:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/immutableStorage/runAsSuperUser/action
- Встроенная роль с минимальными привилегиями:Владелец данных BLOB-объектов хранилища
Дополнительные сведения о назначении ролей с помощью Azure RBAC см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.
Комментарии
Настройка политики неизменяемости BLOB-объектов в хранилище BLOB-объектов или учетной записи общего назначения версии 2 имеет следующие ограничения.
- Настройка политики неизменяемости для snapshot или версии разрешена с версии REST 2020-06-12.
- Когда политика неизменяемости находится в
unlocked
режиме, пользователи могут обновлять срок хранения до даты. Если политика неизменяемости находится вlocked
режиме, пользователи могут продлить срок хранения только до даты. Режим политики неизменяемости можно изменить сunlocked
наlocked
, но не сlocked
наunlocked
. - Если в большом двоичном объекте существует политика неизменяемости, а для контейнера или учетной записи также существует политика неизменяемости по умолчанию, политика неизменяемости BLOB-объектов имеет прецедент.
- Для политики
PutBlockList/PutBlob/CopyBlob
неизменяемости на уровне BLOB-объектов операции разрешены, так как эти операции создают новую версию. - Если политика неизменяемости находится в
unlocked
режиме, пользователи могут удалить политику неизменяемости с помощью следующего API:
Метод | Универсальный код ресурса (URI) запроса | параметр "Версия HTTP" |
---|---|---|
Delete |
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=immutabilityPolicies |
HTTP/1.1 |
Примечание
Дополнительные сведения см. в разделе Неизменяемое хранилище.
Выставление счетов
Запросы на ценообразование могут поступать от клиентов, использующих API хранилища BLOB-объектов, напрямую через REST API хранилища BLOB-объектов или из клиентской библиотеки службы хранилища Azure. Эти запросы начисляют плату за транзакцию. Тип транзакции влияет на способ оплаты учетной записи. Например, транзакции чтения начисляются к категории выставления счетов, отличной от категории операций записи. В следующей таблице показана категория выставления счетов для Set Blob Immutability Policy
запросов на основе типа учетной записи хранения.
Операция | Тип учетной записи хранения | Категория выставления счетов |
---|---|---|
Настройка политики неизменяемости BLOB-объектов | Блочный BLOB-объект (ценовая категории "Премиум") Общего назначения версии 2 (цен. категория "Стандартный") Стандартная общего назначения версии 1 |
Другие операции |
Дополнительные сведения о ценах на указанную категорию выставления счетов см. в разделе Цены на Хранилище BLOB-объектов Azure.
См. также раздел
Авторизация запросов к службе хранилища Azure
Коды состояний и ошибок
Коды ошибок хранилища BLOB-объектов
Настройка времени ожидания для операций с хранилищем BLOB-объектов