Comparteix a través de


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:

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á en locked modo, los usuarios solo pueden extender la retención hasta la fecha. El modo de directiva de inmutabilidad se puede cambiar de unlocked a locked, pero no de locked a unlocked.
  • 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