Establecer directiva de inmutabilidad de blobs
La Set Blob Immutability Policy
operación establece la directiva de inmutabilidad en un blob. Esta operación no actualiza la ETag del blob. Esta API está disponible a partir de la versión 2020-06-12.
Solicitud
La solicitud Set Blob Immutability Policy
se puede construir como sigue. Se recomienda usar HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento y myblob por el nombre del blob para el que se va a cambiar la directiva de inmutabilidad.
Método | URI de solicitud | Versión de HTTP |
---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=immutabilityPolicies |
HTTP/1.1 |
Parámetros del identificador URI
Puedes especificar los siguientes parámetros adicionales en el URI de la solicitud:
Parámetro | Descripción |
---|---|
snapshot |
Opcional. El parámetro snapshot es un valor opaco DateTime en el que, cuando está presente, especifica la instantánea de blob en la que establecer un nivel. Para más información sobre cómo trabajar con instantáneas de blob, consulte Create una instantánea de un blob. |
versionid |
Opcional para la versión 2019-12-12 y posteriores. El versionid parámetro es un valor opaco DateTime en el que, cuando está presente, especifica la versión del blob en la que establecer un nivel. |
timeout |
Opcional. El parámetro timeout se expresa en segundos. Para más información, consulte Establecimiento de tiempos de espera para las operaciones de Blob Storage. |
Encabezados de solicitud
Los encabezados de solicitud obligatorios y opcionales se describen en la tabla siguiente:
Encabezado de solicitud | Descripción |
---|---|
Authorization |
Necesario. Especifica el esquema de autorización, el nombre de la cuenta de almacenamiento y la firma. Para obtener más información, vea Autorización de solicitudes a Azure Storage. |
Date o x-ms-date |
Necesario. Especifica la hora universal coordinada (UTC) de la solicitud. Para obtener más información, vea Autorización de solicitudes a Azure Storage. |
x-ms-immutability-policy-until-date |
Necesario. Indica la retención hasta la fecha que se va a establecer en el blob. Esta es la fecha hasta la que se puede proteger el blob de que se va a modificar o eliminar. En el caso de la cuenta de blob Storage o de uso general v2, los valores válidos tienen RFC1123 formato. Los tiempos pasados no son válidos. |
x-ms-immutability-policy-mode |
Opcional. Si no se especifica, el valor predeterminado es Unlocked . Indica el modo de directiva de inmutabilidad que se va a establecer en el blob. En el caso de la cuenta de almacenamiento de blobs o de uso general v2, los valores válidos son Unlocked /Locked .
unlocked indica que el usuario puede cambiar la directiva aumentando o disminuyendo la retención hasta la fecha.
locked indica que estas acciones están prohibidas. |
x-ms-version |
Obligatorio para todas las solicitudes autorizadas. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Versiones de los servicios de Azure Storage. |
x-ms-client-request-id |
Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 kibibyte (KiB) que se registra en los registros cuando se configura el registro. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes que recibe el servidor. Para obtener más información, vea Supervisar Azure Blob Storage. |
Esta operación también admite el uso de encabezados condicionales para establecer el blob solo si se cumple una condición especificada. Para más información, consulte Especificación de encabezados condicionales para las operaciones de Blob Storage.
Cuerpo de la solicitud
Ninguno.
Response
La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.
status code
Una operación correcta devuelve el código de estado 200 Correcto.
Para obtener información sobre los códigos de estado, vea Códigos de estado y de error.
Encabezados de respuesta
La respuesta de esta operación incluye los encabezados siguientes. La respuesta también puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1.
Encabezado de respuesta | Descripción |
---|---|
x-ms-request-id |
Identifica de forma única la solicitud que se realizó y se puede usar para solucionar problemas de la solicitud. Para más información, consulte Solución de problemas de operaciones de API. |
x-ms-version |
Indica la versión de Blob Storage que se usó para ejecutar la solicitud. Se devuelve para las solicitudes realizadas en la versión 2009-09-19 y posteriores. |
x-ms-client-request-id |
Se puede usar para solucionar problemas de solicitudes y respuestas correspondientes. El valor de este encabezado es igual al valor del x-ms-client-request-id encabezado si está presente en la solicitud y el valor no contiene más de 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, no estará presente en la respuesta. |
x-ms-immutability-policy-until-date |
Indica la fecha de retención hasta que se va a establecer en el blob. Esta es la fecha hasta la que se puede proteger el blob de que se va a modificar o eliminar. |
x-ms-immutability-policy-mode |
Indica el modo de directiva de inmutabilidad establecido en el blob. Los valores son unlocked y locked . Elunlocked valor indica que el usuario puede cambiar la directiva aumentando o disminuyendo la fecha de retención hasta la fecha, e locked indica que estas acciones están prohibidas. |
Authorization
Se requiere autorización al llamar a cualquier operación de acceso a datos en Azure Storage. Puede autorizar la Set Blob Immutability Policy
operación como se describe a continuación.
Importante
Microsoft recomienda usar Microsoft Entra ID con identidades administradas para autorizar solicitudes a Azure Storage. Microsoft Entra ID proporciona una mayor seguridad y facilidad de uso en comparación con la autorización de clave compartida.
Azure Storage admite el uso de Microsoft Entra ID para autorizar solicitudes a datos de blobs. Con Microsoft Entra ID, puede usar el control de acceso basado en rol de Azure (RBAC de Azure) para conceder permisos a una entidad de seguridad. La entidad de seguridad puede ser un usuario, un grupo, una entidad de servicio de aplicación o una identidad administrada de Azure. La entidad de seguridad se autentica mediante Microsoft Entra ID para devolver un token de OAuth 2.0. Después, el token se puede usar para autorizar una solicitud en Blob service.
Para más información sobre la autorización mediante Microsoft Entra ID, consulte Autorización del acceso a blobs mediante Microsoft Entra ID.
Permisos
A continuación se enumeran las acciones de RBAC necesarias para un usuario, grupo, identidad administrada o entidad de servicio de Microsoft Entra para llamar a la Set Blob Immutability Policy
operación y el rol RBAC integrado con privilegios mínimos que incluye esta acción:
- Acción RBAC de Azure:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/immutableStorage/runAsSuperUser/action
- Rol integrado con privilegios mínimos:Propietario de datos de Blob de Storage
Para más información sobre cómo asignar roles mediante RBAC de Azure, consulte Asignación de un rol de Azure para el acceso a datos de blobs.
Comentarios
La configuración de la directiva de inmutabilidad del blob en una cuenta de almacenamiento de blobs o de uso general v2 tiene las siguientes restricciones:
- Se permite establecer una directiva de inmutabilidad en una instantánea o una versión a partir de la versión REST 2020-06-12.
- Cuando la directiva de inmutabilidad está en
unlocked
modo, los usuarios pueden actualizar la retención hasta la fecha. Cuando la directiva de inmutabilidad está enlocked
modo, los usuarios solo pueden extender la retención hasta la fecha. El modo de directiva de inmutabilidad se puede cambiar deunlocked
alocked
, pero no delocked
aunlocked
. - Cuando hay una directiva de inmutabilidad en un blob y también hay una directiva de inmutabilidad predeterminada en el contenedor o la cuenta, la directiva de inmutabilidad de blobs tiene precedentes.
- En el caso de una directiva de inmutabilidad de nivel de blob,
PutBlockList/PutBlob/CopyBlob
se permiten las operaciones, ya que estas operaciones generan una nueva versión. - Cuando la directiva de inmutabilidad está en
unlocked
modo, los usuarios pueden eliminar la directiva de inmutabilidad mediante la SIGUIENTE API:
Método | URI de solicitud | Versión de HTTP |
---|---|---|
Delete |
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=immutabilityPolicies |
HTTP/1.1 |
Nota
Para más información, consulte Almacenamiento inmutable.
Facturación
Las solicitudes de precios pueden originarse en clientes que usan API de Blob Storage, ya sea directamente a través de la API REST de Blob Storage o desde una biblioteca cliente de Azure Storage. Estas solicitudes acumulan cargos por transacción. El tipo de transacción afecta a cómo se cobra la cuenta. Por ejemplo, las transacciones de lectura se acumulan en una categoría de facturación diferente a las transacciones de escritura. En la tabla siguiente se muestra la categoría de facturación de Set Blob Immutability Policy
las solicitudes basadas en el tipo de cuenta de almacenamiento:
Operación | Tipo de cuenta de almacenamiento | Categoría de facturación |
---|---|---|
Establecimiento de la directiva de inmutabilidad de blobs | Blobs en bloques Premium De uso general, estándar, v2 De uso general, estándar, v1 |
Otras operaciones |
Para obtener información sobre los precios de la categoría de facturación especificada, consulte precios Azure Blob Storage.
Consulte también
Autorización de solicitudes a Azure Storage
Estado y códigos de error
Códigos de error de Blob Storage
Establecimiento de tiempos de espera para las operaciones de Blob Storage