Eliminación temporal para blobs

La eliminación temporal de blobs protege a cada uno de los blobs, instantáneas o versiones de errores accidentales al borrar o sobrescribir los datos, ya que conserva en el sistema los datos eliminados durante el período de tiempo que se especifique. Durante el período de retención, puede restaurar un objeto eliminado temporalmente a su estado en el momento en que se eliminó. Una vez vencido el período de retención especificado, el objeto se elimina permanentemente.

La eliminación temporal de blobs forma parte de una exhaustiva estrategia para proteger los datos de los blobs. Para una protección óptima de los datos de blobs, Microsoft recomienda habilitar las siguientes características de protección de datos:

Si necesita más información sobre las recomendaciones de Microsoft para proteger los datos, consulte Información general sobre la protección de datos.

Precaución

Tras habilitar el control de versiones de blobs en una cuenta de almacenamiento, cada operación de escritura dirigida hacia un blob de esa cuenta dará como resultado la creación de una nueva versión. Por este motivo, habilitar el control de versiones de blobs puede dar lugar a costos adicionales. Para minimizar los costos, use una directiva de administración del ciclo de vida para eliminar automáticamente las versiones anteriores. Para obtener más información sobre la administración del ciclo de vida, consulte Optimización de los costos mediante la automatización de los niveles de acceso de Azure Blob Storage.

Funcionamiento de la eliminación temporal de blobs

Al habilitar la eliminación temporal de blobs para una cuenta de almacenamiento, se especifica un período de retención para los objetos eliminados de entre 1 y 365 días. El período de retención indica cuánto tiempo permanecen disponibles los datos después de que se eliminen o se sobrescriban. El reloj del período de retención comienza en cuanto se elimina o se sobrescribe un objeto.

Mientras el período de retención está activo, puede restaurar un blob eliminado, junto con sus instantáneas, o una versión eliminada, mediante una llamada a la operación Undelete Blob. En el diagrama siguiente se muestra cómo se puede restaurar un objeto eliminado cuando está habilitada la eliminación temporal de blobs:

Diagram showing how a soft-deleted blob may be restored

El período de retención de la eliminación temporal se puede cambiar en cualquier momento. Un período de retención actualizado solo se aplica a los datos que se eliminaron después de cambiar el período de retención. Los datos que se eliminaron antes de que se cambiara el período de retención están sujetos al período de retención que estaba en vigor cuando se eliminaron.

Si intenta eliminar un objeto eliminado temporalmente, su hora de expiración no se verá afectada.

Si deshabilita la eliminación temporal de blobs, puede seguir teniendo acceso a los objetos eliminados temporalmente y recuperarlos en la cuenta de almacenamiento hasta que haya transcurrido el período de retención de eliminación temporal.

El control de versiones de blobs está disponible para las cuentas de uso general V2, blob en bloques y almacenamiento de blobs. Las cuentas de almacenamiento con un espacio de nombres jerárquico no se admiten actualmente.

La versión 2017-07-29 y las versiones posteriores de la API REST de Azure Storage admiten la eliminación temporal de blobs.

Importante

Solo puede usar la eliminación temporal de blobs para restaurar un blob, una instantánea, un directorio (en un espacio de nombres jerárquico) o una versión individuales. Para restaurar un contenedor y su contenido, la eliminación temporal de contenedores también debe estar habilitada para la cuenta de almacenamiento. Microsoft recomienda habilitar la eliminación temporal de contenedores y el control de versiones de blobs junto con la eliminación temporal de blobs para asegurar la protección completa de los datos de blob. Para obtener más información,consulte Información general sobre la protección de datos.

La eliminación temporal de blobs no protege contra la eliminación de una cuenta de almacenamiento. Para proteger una cuenta de almacenamiento de la eliminación, configure un bloqueo en el recurso de la cuenta de almacenamiento. Para más información sobre el bloqueo de una cuenta de almacenamiento, consulte Aplicación de un bloqueo de Azure Resource Manager a una cuenta de almacenamiento.

Administración de las eliminaciones cuando la eliminación temporal está habilitada

Cuando la eliminación temporal de blobs está habilitada, al eliminar un blob, se marca como eliminado temporalmente. No se crea ninguna instantánea. Cuando expire el período de retención, el blob eliminado temporalmente se eliminará de forma permanente. En las cuentas que tienen un espacio de nombres jerárquico, la lista de control de acceso de un blob no se ve afectada y permanecerá intacta si se restaura el blob.

No se puede eliminar un blob con instantáneas a menos que las instantáneas también se eliminen. Cuando se elimina un blob y sus instantáneas, se marcan como eliminados temporalmente. No se crean instantáneas nuevas.

También puede eliminar una o varias instantáneas activas sin eliminar el blob base. En este caso, la instantánea se elimina temporalmente.

Si se elimina un directorio en una cuenta que tiene habilitada la característica de espacio de nombres jerárquico, el directorio y todo su contenido se marcan como eliminados temporalmente. Solo se puede acceder al directorio eliminado temporalmente. Para acceder al contenido del directorio eliminado temporalmente, primero se debe recuperar el directorio eliminado temporalmente.

Los objetos eliminados temporalmente son invisibles a menos que se muestren o enumeren explícitamente. Para obtener más información sobre cómo enumerar objetos eliminados temporalmente, consulte Administración y restauración de blobs eliminados temporalmente.

Administración de las sobrescrituras cuando la eliminación temporal está habilitada

Importante

Esta sección no se aplica a las cuentas que tienen un espacio de nombres jerárquico.

La llamada a una operación como Put Blob, Put Block Listo Copy Blob sobrescribe los datos en un blob. Cuando la eliminación temporal de blobs está habilitada, al sobrescribir un blob se crea automáticamente una instantánea de eliminación temporal del estado del blob antes de la operación de escritura. Cuando expire el período de retención, la instantánea eliminada temporalmente se eliminará de forma permanente. La operación realizada por el sistema para crear la instantánea no aparece en los registros de recursos de Azure Monitor ni en los registros de Storage Analytics.

Las instantáneas eliminadas temporalmente son invisibles a menos que los objetos eliminados temporalmente se muestren o enumeren explícitamente. Para obtener más información sobre cómo enumerar objetos eliminados temporalmente, consulte Administración y restauración de blobs eliminados temporalmente.

Para proteger una operación de copia, se debe habilitar la eliminación temporal de blobs para la cuenta de almacenamiento de destino.

La eliminación temporal de blobs no protege contra las operaciones para escribir metadatos o propiedades de blob. Cuando se actualizan los metadatos o las propiedades de un blob, no se crea ninguna instantánea eliminada temporalmente.

La eliminación temporal de blobs no permite la protección contra sobrescritura de blobs en el nivel de acceso de archivo. Si un blob en el nivel de archivo se sobrescribe con un blob nuevo en cualquier nivel, el primero se elimina de forma permanente.

En el caso de las cuentas de almacenamiento Premium, las instantáneas eliminadas temporalmente no cuentan para el límite de 100 instantáneas por blob.

Restauración de objetos eliminados temporalmente

Los blobs o los directorios (en un espacio de nombres jerárquico) eliminados temporalmente se pueden restaurar dentro del período de retención mediante una llamada a la operación Recuperar Blob. La operación Undelete Blob restaura un blob y las instantáneas eliminadas temporalmente que tiene asociadas. Se restauran todas las instantáneas que se eliminaron durante el período de retención. En esas cuentas donde hay un espacio de nombres jerárquico, la lista de control de acceso de un blob se restaura junto con el blob.

En las cuentas que tienen un espacio de nombres jerárquico, la operación Recuperar blob también se puede usar para restaurar un directorio eliminado temporalmente y todo su contenido. Si cambia el nombre de un directorio que contiene blobs eliminados temporalmente, esos blobs se desconectarán del directorio. Si desea restaurar esos blobs, tendrá que revertir el nombre del directorio al nombre original o crear un directorio independiente que use el nombre del directorio original. De lo contrario, recibirá un error al intentar restaurar esos blobs eliminados temporalmente. Tampoco puede restaurar un directorio o un blob a una ruta de acceso de archivo que ya tenga un directorio o blob con ese nombre. Por ejemplo, si elimina el archivo a.txt (1) y carga un archivo nuevo llamado también a.txt (2), no podrá restaurar el archivo a.txt (1) eliminado temporalmente hasta que se elimine o cambie el nombre del archivo a.txt (2) activo. No puede acceder al contenido de un directorio eliminado temporalmente hasta que se haya recuperado el directorio.

La llamada a Undelete Blob en un blob que no está eliminado de forma temporal restaurará las instantáneas eliminadas temporalmente que estén asociadas al blob. Si el blob no tiene instantáneas y no se ha eliminado temporalmente, la llamada a Undelete Blob no tiene ningún efecto.

Para promover una instantánea eliminada temporalmente en el blob de base, primero llame a Undelete Blob en el blob base para restaurar el blob y sus instantáneas. A continuación, copie la instantánea deseada en el blob base. También puede copiar la instantánea en un blob nuevo.

No se pueden leer los datos de un blob o una instantánea eliminados temporalmente hasta que se haya restaurado el objeto.

Para obtener más información sobre cómo restaurar objetos eliminados temporalmente, consulte Administración y restauración de blobs eliminados temporalmente.

Eliminación temporal y control de versiones de blobs

Importante

No se admite el control de versiones para cuentas que tienen un espacio de nombres jerárquico.

Si están habilitados el control de versiones y la eliminación temporal de blobs para una cuenta de almacenamiento, al sobrescribir un blob se crea una versión anterior automáticamente que refleja el estado del blob antes de la operación de escritura. La nueva versión no se elimina de forma temporal ni se quita cuando expira el período de retención de eliminación temporal. No se crea ninguna instantánea eliminada temporalmente.

Si están habilitados el control de versiones y la eliminación automática de blobs para una cuenta de almacenamiento, al eliminar un blob, la versión actual de este se convierte en otra anterior y ya no hay versión actual. No se crea ninguna versión nueva ni ninguna instantánea eliminada temporalmente. Todas las versiones anteriores se conservan hasta que se eliminan explícitamente, ya sea con una operación de eliminación directa o a través de una directiva de administración del ciclo de vida.

Al habilitar la eliminación temporal y el control de versiones conjuntamente, se protegen las versiones anteriores del blob, así como las versiones actuales de la eliminación. Cuando se habilita la eliminación temporal, al eliminar explícitamente una versión anterior se crea una versión eliminada temporalmente que se conserva hasta que transcurre el período de retención de la eliminación temporal. Una vez transcurrido el período de retención de eliminación temporal, cualquier versión del blob eliminada temporalmente se eliminará de forma permanente.

Puede usar la operación Undelete Blob para restaurar versiones eliminadas temporalmente durante el período de retención de la eliminación. La operación Undelete Blob siempre restaura todas las versiones eliminadas temporalmente del blob. No es posible restaurar una sola versión eliminada temporalmente.

Nota:

La llamada a la operación Undelete Blob en un blob eliminado cuando el control de versiones está habilitado restaura las versiones o instantáneas eliminadas temporalmente, pero no restaura la versión actual. Para restaurar la versión actual, promueva una versión anterior al copiarla en la versión actual.

Microsoft recomienda habilitar el control de versiones y la eliminación temporal de blobs para las cuentas de almacenamiento con el fin de lograr una protección de datos óptima. Para obtener más información sobre el uso conjunto del control de versiones de blobs y la eliminación temporal, vea Control de versiones de blobs y eliminación temporal.

Protección de eliminación temporal de blobs por operación

En la tabla siguiente, se describe el comportamiento esperado de las operaciones de eliminación y escritura cuando la eliminación temporal de blobs está habilitada, ya sea con o sin control de versiones de blobs.

Cuenta de almacenamiento (sin espacio de nombres jerárquico)

Operaciones de API REST Eliminación temporal habilitada Eliminación temporal y control de versiones habilitadas
Eliminación de la cuenta de almacenamiento Sin cambios. Los contenedores y blobs de la cuenta eliminada no se pueden recuperar. Sin cambios Los contenedores y blobs de la cuenta eliminada no se pueden recuperar.
Delete Container Sin cambios. Los blobs del contenedor eliminado no se pueden recuperar. Sin cambios Los blobs del contenedor eliminado no se pueden recuperar.
Delete Blob Si se usa para eliminar un blob, este se marca como eliminado temporalmente.

Si se usa para eliminar una instantánea de blob, esta se marca como eliminada temporalmente.
Si se usa para eliminar un blob, la versión actual se convierte en una versión anterior y se elimina la versión actual. No se crea ninguna versión nueva ni ninguna instantánea eliminada temporalmente.

Si se usa para eliminar la versión de un blob, esta se marca como eliminada temporalmente.
Undelete Blob Restaura un blob y todas las instantáneas que se eliminaron durante el período de retención. Restaura un blob y todas las versiones que se eliminaron durante el período de retención.
Put Blob
Put Block List
Copy Blob
Copy Blob from URL
Si se llama en un blob activo, se genera automáticamente una instantánea del estado del blob antes de la operación.

Si se llama en un blob eliminado temporalmente, se genera una instantánea del estado anterior del blob solo si se está reemplazando por un blob del mismo tipo. Si el blob es de otro tipo, se eliminarán permanentemente todos los datos eliminados temporalmente.
Se genera automáticamente una nueva versión que captura el estado del blob antes de la operación.
Put Block Si se utiliza para confirmar un bloque en un blob activo, no habrá cambio alguno.

Si utiliza para confirmar un bloque en un blob que se ha eliminado temporalmente, se crea un nuevo blob y se genera automáticamente una instantánea para capturar el estado del blob eliminado temporalmente.
Sin cambios
Put Page
Put Page from URL (Poner página de dirección URL)
Sin cambios. Los datos del blob en páginas que se sobrescriben o se borran con esta operación no se guardan ni se pueden recuperar. Sin cambios Los datos del blob en páginas que se sobrescriben o se borran con esta operación no se guardan ni se pueden recuperar.
Append Block
Append Block from URL (Anexar bloque desde dirección URL)
Sin cambios Sin cambios.
Set Blob Properties Sin cambios. Las propiedades de blob sobrescritas no se pueden recuperar. Sin cambios Las propiedades de blob sobrescritas no se pueden recuperar.
Set Blob Metadata Sin cambios. Los metadatos del blob sobrescrito no se pueden recuperar. Se genera automáticamente una nueva versión que captura el estado del blob antes de la operación.
Set Blob Tier El blob base se mueve al nuevo nivel. Las instantáneas activas o eliminadas temporalmente permanecen en el nivel original. No se crea ninguna instantánea eliminada temporalmente. El blob base se mueve al nuevo nivel. Las versiones activas o eliminadas temporalmente permanecen en el nivel original. No se crea ninguna versión.

Cuenta de almacenamiento (espacio de nombres jerárquico)

Operación de API REST Eliminación temporal habilitada
Ruta de acceso: eliminar Se crea un blob o directorio eliminado temporalmente. El objeto eliminado temporalmente se elimina una vez pasado el período de retención.
Delete Blob Se crea un objeto eliminado temporalmente. El objeto eliminado temporalmente se elimina una vez pasado el período de retención. No se admite la eliminación temporal para instantáneas y blobs con instantáneas.
Ruta de acceso: Crear, que cambia el nombre de un blob o un directorio. El blob de destino existente o el directorio vacío se eliminarán temporalmente y el origen lo reemplazará. El objeto eliminado temporalmente se elimina una vez pasado el período de retención.
Establecer expiración de BLOBs que establece una fecha de expiración en un BLOB existente No se crea un blob eliminado temporalmente. Un blob que expiró no se convierte en un blob eliminado temporalmente cuando expira.

Compatibilidad de características

La compatibilidad con esta característica puede verse afectada al habilitar Data Lake Storage Gen2, el protocolo Network File System (NFS) 3.0 o el Protocolo de transferencia de archivos SSH (SFTP). Si ha habilitado cualquiera de estas funcionalidades, consulte Compatibilidad con características de Blob Storage en cuentas de Azure Storage para evaluar la compatibilidad con esta característica.

No se admite la eliminación temporal para blobs cargados mediante las API de Data Lake Storage Gen2 en cuentas de almacenamiento sin espacio de nombres jerárquico.

Precios y facturación

Todos los datos eliminados temporalmente se facturan con la misma tasa que los datos activos. Los datos que se eliminen permanentemente después del periodo de retención no se cobrarán.

Cuando se habilita la eliminación temporal, Microsoft recomienda usar un período de retención pequeño para comprender mejor cómo afecta la característica a la facturación. El período de retención mínimo recomendado de las copias de seguridad es siete días.

Habilitar eliminación temporal para datos sobrescritos con frecuencia puede generar mayores cargos por capacidad de almacenamiento y una mayor latencia al enumerar los blobs. Tanto este costo adicional como la latencia se pueden mitigar almacenando los datos que se sobrescriben con frecuencia en una cuenta de almacenamiento independiente en la que la eliminación temporal esté deshabilitada.

No se facturan las transacciones relacionadas con la generación automática de instantáneas o versiones cuando se sobrescribe o elimina un blob. Se le facturarán las llamadas a la operación Undelete Blob según la tarifa de transacciones para las operaciones de escritura.

Para obtener más información sobre los precios de Blob Storage, consulte la página de Precios de Blob Storage.

Eliminación temporal de blobs y discos de máquinas virtuales

La eliminación temporal de blobs está disponible para discos no administrados prémium y estándar, que son blobs en páginas en segundo plano. La eliminación temporal solo le ayuda a recuperar los datos eliminados o sobrescritos por las operaciones Delete Blob, Put Blob, Put Block List y Copy Blob.

Los datos que se sobrescriben con una llamada a Put Page no se pueden recuperar. Una máquina virtual de Azure escribe en un disco no administrado mediante llamadas a Put Page, por lo que el uso de la eliminación temporal para deshacer las escrituras en un disco no administrado desde una máquina virtual de Azure no es un escenario admitido.

Pasos siguientes