Configuración de directivas de inmutabilidad para contenedores
Artículo
El almacenamiento inmutable de Azure Blob Storage permite a los usuarios almacenar los datos críticos para la empresa en un estado WORM (escribir una vez, leer muchas). Mientras se encuentren en un estado WORM, los datos no se podrán modificar ni eliminar durante el tiempo especificado por el usuario. Con la configuración de directivas de inmutabilidad para los datos de blobs, puede impedir que sus datos se sobrescriban y eliminen. Las directivas de inmutabilidad incluyen directivas de retención de duración definida y suspensiones legales. Para más información sobre las directivas de inmutabilidad de Blob Storage, consulte Almacenamiento de datos críticos para la empresa con almacenamiento inmutable.
Una directiva de inmutabilidad puede estar limitada a una determinada versión de blob o un contenedor. En este artículo se describe cómo configurar una directiva de inmutabilidad para contenedores. Para obtener información sobre cómo configurar directivas de inmutabilidad para versiones, consulte Configuración de directivas de inmutabilidad para versiones de blob.
Nota
Las directivas de inmutabilidad no se admiten en las cuentas que tienen habilitado el protocolo Network File System (NFS) 3.0 o el protocolo de transferencia de archivos SSH (SFTP).
Configuración de una directiva de retención en un contenedor
Para configurar una directiva de retención de duración definida en un contenedor, use Azure Portal, PowerShell o la CLI de Azure. Puede configurar una directiva de retención para contenedores de entre 1 y 146 000 días.
Para configurar una directiva de retención de duración definida en un contenedor con Azure Portal, siga los pasos que figuran a continuación:
Desplácese hasta el contenedor deseado.
Seleccione el botón Más a la derecha y, a continuación, Directiva de acceso.
En la sección Almacenamiento de blobs inmutable, seleccione Agregar directiva.
En el campo Tipo de directiva, seleccione Retención de duración definida y especifique el período de retención en días.
Para crear una directiva con ámbito de contenedor, no active la casilla Habilitar inmutabilidad de nivel de versión.
Elija si desea permitir escrituras de anexión protegidas.
La opción Anexar blobs permite que las cargas de trabajo agreguen nuevos bloques de datos al final de un blob anexo mediante la operación Anexar bloque.
La opción Blobs en bloque y anexos proporciona los mismos permisos que la opción Anexar blobs pero agrega la capacidad de escribir nuevos bloques en un blob en bloques. La API de Blob Storage no proporciona una manera de que las aplicaciones lo hagan directamente. Sin embargo, las aplicaciones pueden hacerlo mediante métodos de anexión y vaciado, que están disponibles en la API de Data Lake Storage Gen2. Además, algunas aplicaciones de Microsoft usan API internas para crear blobs en bloques y, a continuación, anexarlos. Si las cargas de trabajo dependen de cualquiera de estas herramientas, puede usar esta propiedad para evitar errores que pueden aparecer cuando esas herramientas intentan anexar bloques a un blob en bloques.
Una vez configurada la directiva de inmutabilidad, verá que está en el ámbito del contenedor:
Para configurar una directiva de retención de duración definida en un contenedor con PowerShell, llame al comando Set-AzRmStorageContainerImmutabilityPolicy y proporcione el intervalo de retención en días. No olvide reemplazar los valores del marcador de posición entre corchetes angulares por sus propios valores:
Para permitir escrituras en anexos protegidos, establezca el parámetro -AllowProtectedAppendWrite o -AllowProtectedAppendWriteAll en true.
La opción AllowProtectedAppendWrite permite que las cargas de trabajo agreguen nuevos bloques de datos al final de un blob anexo mediante la operación Anexar bloque.
La opción AllowProtectedAppendWriteAll proporciona los mismos permisos que la opción AllowProtectedAppendWrite pero agrega la capacidad de escribir nuevos bloques en un blob en bloques. La API de Blob Storage no proporciona una manera de que las aplicaciones lo hagan directamente. Sin embargo, las aplicaciones pueden hacerlo mediante métodos de anexión y vaciado, que están disponibles en la API de Data Lake Storage Gen2. Además, algunas aplicaciones de Microsoft usan API internas para crear blobs en bloques y, a continuación, anexarlos. Si las cargas de trabajo dependen de cualquiera de estas herramientas, puede usar esta propiedad para evitar errores que pueden aparecer cuando esas herramientas intentan anexar bloques a un blob en bloques.
Para configurar una directiva de retención de duración definida en un contenedor con la CLI de Azure, llame al comando az storage container immutability-policy create y proporcione el intervalo de retención en días. No olvide reemplazar los valores del marcador de posición entre corchetes angulares por sus propios valores:
Para permitir escrituras en anexos protegidos, establezca el parámetro --allow-protected-append-writes o --allow-protected-append-writes-all en true.
La opción --allow-protected-append-writes permite que las cargas de trabajo agreguen nuevos bloques de datos al final de un blob anexo mediante la operación Anexar bloque.
La opción --allow-protected-append-writes-all proporciona los mismos permisos que la opción --allow-protected-append-writes pero agrega la capacidad de escribir nuevos bloques en un blob en bloques. La API de Blob Storage no proporciona una manera de que las aplicaciones lo hagan directamente. Sin embargo, las aplicaciones pueden hacerlo mediante métodos de anexión y vaciado, que están disponibles en la API de Data Lake Storage Gen2. Además, algunas aplicaciones de Microsoft usan API internas para crear blobs en bloques y, a continuación, anexarlos. Si las cargas de trabajo dependen de cualquiera de estas herramientas, puede usar esta propiedad para evitar errores que pueden aparecer cuando esas herramientas intentan anexar bloques a un blob en bloques.
Modificación de una directiva de retención desbloqueada
Puede modificar una directiva de retención de duración definida desbloqueada para reducir o ampliar el intervalo de retención y permitir escrituras adicionales en blobs en anexos del contenedor. Las directivas desbloqueadas también se pueden eliminar.
Para modificar una directiva de retención de duración definida desbloqueada en Azure Portal, siga estos pasos:
Desplácese hasta el contenedor deseado.
Seleccione el botón Más y elija Directiva de acceso.
En la sección Versiones de blob inmutables, localice la directiva desbloqueada ya existente. Seleccione el botón Más y, a continuación Editar en el menú.
Proporcione un nuevo intervalo de retención para la directiva. También puede seleccionar Permitir anexos protegidos adicionales para permitir que se escriba en blobs en anexos que estén protegidos.
Para eliminar una directiva desbloqueada, seleccione el botón Más y, a continuación, Eliminar.
Nota:
Si desea habilitar directivas de inmutabilidad para versiones, active la casilla Habilitar inmutabilidad de nivel de versión. Para obtener información sobre cómo habilitar directivas de inmutabilidad para versiones, consulte Configuración de directivas de inmutabilidad para versiones de blob.
Para modificar una directiva desbloqueada, primero recupérela llamando al comando Get-AzRmStorageContainerImmutabilityPolicy. A continuación, llame al comando Set-AzRmStorageContainerImmutabilityPolicy para actualizar la directiva. Incluya el nuevo intervalo de retención en días y el parámetro -ExtendPolicy. No olvide reemplazar los valores del marcador de posición entre corchetes angulares por sus propios valores:
Para modificar una directiva de retención de duración definida desbloqueada con la CLI de Azure, llame al comando az storage container immutability-policy extend y proporcione el nuevo intervalo de retención en días. No olvide reemplazar los valores del marcador de posición entre corchetes angulares por sus propios valores:
Bloqueo de una directiva de retención de duración definida
Cuando haya terminado de probar una directiva de retención de duración definida, puede bloquearla. Una directiva bloqueada cumple los requisitos de SEC 17a-4(f) y de otras normas. Puede ampliar el intervalo de retención de una directiva bloqueada hasta cinco veces, pero no acortarlo.
Una vez bloqueada una directiva, no se puede eliminar. Sin embargo, puede eliminar el blob una vez expirado el intervalo de retención.
Para asignar una directiva con Azure Portal, siga los pasos que figuran a continuación:
Vaya a un contenedor con una directiva desbloqueada.
En la sección Versiones de blob inmutables, localice la directiva desbloqueada ya existente. Seleccione el botón Más y, luego, Bloquear directiva en el menú.
Confirme que desea bloquear la directiva.
Para bloquear una directiva con PowerShell, primero llame al comando Get-AzRmStorageContainerImmutabilityPolicy para recuperar la etiqueta de entidad de la directiva. A continuación, llame al comando Lock-AzRmStorageContainerImmutabilityPolicy y pase el valor de la etiqueta de entidad para bloquear la directiva. No olvide reemplazar los valores del marcador de posición entre corchetes angulares por sus propios valores:
Para bloquear una directiva con la CLI de Azure, primero llame al comando az storage container immutability-policy show para recuperar la etiqueta de entidad de la directiva. A continuación, llame al comando az storage container immutability-policy lock y pase el valor de la etiqueta de entidad para bloquear la directiva. No olvide reemplazar los valores del marcador de posición entre corchetes angulares por sus propios valores:
Una suspensión legal almacena datos inmutables hasta que se borra explícitamente. Para obtener más información sobre las directivas de suspensión legal, consulte Suspensiones legales para datos de blobs inmutables.
Siga estos pasos para configurar la suspensión legal de un contenedor con Azure Portal:
Desplácese hasta el contenedor deseado.
Seleccione el botón Más y elija Directiva de acceso.
En la sección Versiones de blob inmutables, seleccione Agregar directiva.
Elija Suspensión legal como tipo de directiva.
Agregue una o varias etiquetas de suspensión legal.
Elija si desea permitir escrituras en anexos protegidos y, a continuación, seleccione Guardar.
La opción Anexar blobs permite que las cargas de trabajo agreguen nuevos bloques de datos al final de un blob anexo mediante la operación Anexar bloque.
Este valor también agrega la capacidad de escribir nuevos bloques en un blob en bloques. La API de Blob Storage no proporciona una manera de que las aplicaciones lo hagan directamente. Sin embargo, las aplicaciones pueden hacerlo mediante métodos de anexión y vaciado, que están disponibles en la API de Data Lake Storage Gen2. Además, esta propiedad permite a las aplicaciones de Microsoft, como Azure Data Factory, anexar bloques de datos mediante api internas. Si las cargas de trabajo dependen de cualquiera de estas herramientas, puede usar esta propiedad para evitar errores que pueden aparecer cuando esas herramientas intentan anexar datos a blobs.
Una vez configurada la directiva de inmutabilidad, verá que está en el ámbito del contenedor:
En la siguiente imagen se muestra un contenedor con una directiva de retención de duración definida y una suspensión legal configurada.
Para borrar una suspensión legal, vaya al cuadro de diálogo Directiva de acceso y, en el menú contextual de la directiva, seleccione Editar. A continuación, elimine todas las etiquetas de la directiva para borrar la suspensión.
Para configurar una suspensión legal en un contenedor con PowerShell, llame al comando Add-AzRmStorageContainerLegalHold. No olvide reemplazar los valores del marcador de posición entre corchetes angulares por sus propios valores:
Para configurar una suspensión legal en un contenedor con la CLI de Azure, llame al comando az storage container legal-hold set. No olvide reemplazar los valores del marcador de posición entre corchetes angulares por sus propios valores: