Compartir a través de


Conservación de las ACL de archivo, los atributos y las marcas de tiempo con Azure Data Box

Azure Data Box le permite conservar las listas de control de acceso (ACL), las marcas de tiempo y los atributos de archivo al enviar datos a Azure. En este artículo se describen los metadatos que se pueden transferir al copiar datos a Data Box mediante el bloque de mensajes del servidor (SMB) para cargarlos en Azure Files.

Metadatos transferidos

Las ACL, las marcas de tiempo y los atributos de archivo son los metadatos que se transfieren cuando los datos de Data Box se cargan en Azure Files. En este artículo, las ACL, las marcas de tiempo y los atributos de archivo se denominan colectivamente metadatos.

Los metadatos se pueden copiar con herramientas de copia de datos de Windows y Linux. Los metadatos no se conservan al transferir datos a Blob Storage. Los metadatos tampoco se transfieren al copiar datos a través de NFS.

En las secciones posteriores del artículo se describe con detalle cómo se transfieren las marcas de tiempo, los atributos de archivo y las ACL cuando los datos de Data Box se cargan en Azure Files.

Marcas de tiempo

Se transfieren las marcas de tiempo siguientes:

  • CreationTime
  • LastWriteTime

La siguiente marca de tiempo no se transfiere:

  • LastAccessTime

Atributos de archivo

Los atributos de archivo en los archivos y directorios se transfieren a menos que se indique lo contrario.

Se transfieren los siguientes atributos de archivo:

  • FILE_ATTRIBUTE_READONLY (solo archivo)
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY (solo directorio)
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_TEMPORARY (solo archivo)
  • FILE_ATTRIBUTE_NO_SCRUB_DATA

No se transfieren los siguientes atributos de archivo:

  • FILE_ATTRIBUTE_OFFLINE
  • FILE_ATTRIBUTE_NOT_CONTENT_INDEXED

Los atributos de solo lectura de los directorios no se transfieren.

Flujos de datos alternativos y atributos extendidos

Los flujos de datos alternativos y los atributos extendidos no se admiten en Azure Files, blob en páginas o almacenamiento de blobs en bloques, por lo que no se transfieren al copiar datos.

ACL

Según el método de transferencia usado y si usa un cliente Windows o Linux, algunas listas de control de acceso (ACL) discrecionales y predeterminadas en archivos y carpetas se podrán transferir durante la copia de datos a Azure Files.

La transferencia de ACL está habilitada de forma predeterminada. Es posible que desee deshabilitar esta opción en la interfaz de usuario web local de su Data Box. Para obtener más información consulte Uso de la interfaz de usuario web local para administrar los dispositivos Data Box y Data Box Heavy.

Nota:

Los archivos con ACL que contienen cadenas de entradas de control de acceso condicional (ACE) no se copian. Este es un problema conocido. Para evitar esto, copie estos archivos en el recurso compartido de Azure Files manualmente; para ello, monte el recurso compartido y, a continuación, use una herramienta de copia que admita la copia de ACL.

Transferencia de ACL a través de SMB

Durante una transferencia de archivos SMB, se transfieren las siguientes ACL:

  • ACL discrecionales (DACL) y ACL del sistema (SACL) para directorios y archivos que se copian en Data Box.
  • Si usa un cliente Linux, solo se transfieren las ACL de Windows NT.

Transferencia de ACL a través del servicio de copia de datos

Durante una transferencia de archivos del servicio de copia de datos, se transfieren las siguientes ACL:

  • ACL discrecionales (DACL) y ACL del sistema (SACL) para directorios y archivos que se copian en Data Box.

Para copiar listas SACL de los archivos, debe proporcionar credenciales para un usuario con el privilegio SeBackupPrivilege. Los usuarios del grupo Administradores u Operadores de copia de seguridad tendrán este privilegio de forma predeterminada.

Si no tiene el privilegio SeBackupPrivilege:

  • No podrá copiar listas SACL para los trabajos del servicio de copia de Azure Files.
  • Puede experimentar problemas de acceso y recibir este error en el registro de errores: No se pudieron leer las SACL del recurso compartido debido a privilegios insuficientes.

Descubra en qué consiste SeBackupPrivilege para obtener más información.

Transferencia de ACL a través de NFS

Las ACL (y los atributos de metadatos) no se transfieren cuando se copian datos a través de NFS.

Transferencia de ACL predeterminadas

Incluso si la herramienta de copia de datos no copia las ACL, las ACL predeterminadas en los directorios y archivos se transfieren a Azure Files cuando se usa un cliente Windows. Las ACL predeterminadas no se transfieren cuando se usa un cliente Linux.

Se transfieren las siguientes ACL predeterminadas:

  • Permisos de cuenta:

    • Cuenta predefinida de administrador
    • Cuenta del sistema
    • Cuenta de usuario del recurso compartido SMB que se usa para montar y copiar datos en Data Box
  • Descriptores de seguridad con estas propiedades: DACL, Propietario, Grupo, SACL

Copia de datos y metadatos

Para transferir las ACL, las marcas de tiempo y los atributos de los datos, use los procedimientos siguientes para copiar los datos en Data Box.

Herramienta de copia de datos de Windows

Para copiar datos en el Data Box a través de SMB, use una herramienta de copia de archivos compatible con SMB, como robocopy. El siguiente comando de ejemplo copia todos los archivos y directorios, transfiriendo los metadatos junto con los datos.

Al usar la opción /copyall o /dcopy:DAT, asegúrese de que los privilegios de operador de copia de seguridad necesarios no estén deshabilitados. Para obtener más información consulte Uso de la interfaz de usuario web local para administrar los dispositivos Data Box y Data Box Heavy.

robocopy <Source> <Target> * /copyall /e /dcopy:DAT /B /r:3 /w:60 /is /nfl /ndl /np /MT:32 or 64 /fft /log+:<LogFile>

where

Opción Descripción
/copyall Copa todos los atributos.
/e Copia los subdirectorios, incluyendo los directorios vacíos.
/dcopy:DAT Copia datos, atributos y marcas de tiempo. Nota: La opción /dcopy:DAT debe usarse para transferirse CreationTime en directorios.
/B Copia los archivos en modo de copia de seguridad.
/r:3 Especifica 3 reintentos para las copias con errores.
/w:60 Especifica un tiempo de espera de 60 segundos entre los reintentos.
/is Incluye los mismos archivos.
/nfl No registra los nombres de archivo.
/ndl No registra los nombres de directorio.
/np No muestra el progreso de la operación de copia.
/MT:32 or 64 Utiliza multithreading, con 32 o 64 subprocesos.
/fft Reduzca la granularidad de la marca de tiempo para cualquier sistema de archivos.
/log+:<LogFile> Anexa la salida al archivo de registro existente.

Para obtener más información sobre estos parámetros robocopy, consulte Tutorial: Copia de datos en Azure Data Box mediante SMB.

Nota:

Si usa para /copyall copiar los datos, las ACL de origen de los directorios y archivos se transfieren a Azure Files. Si solo tenía acceso de lectura en los datos de origen y no pudo modificar los datos de origen, solo tendrá acceso de lectura en los datos de Data Box. Use /copyall solamente si piensa copiar todas las ACL en los directorios y archivos junto con los datos.

Uso de robocopy para realizar operaciones de enumeración, copia o modificación en archivos de Data Box

Estos son algunos de los escenarios comunes que se usan al copiar datos mediante robocopy.

  • Copiar solo datos en Data Box, sin ACL de directorios ni archivos

    Use la opción /dcopy:DAT para copiar solo datos, atributos y marcas de tiempo. Las ACL en directorios y archivos no se copian.

  • Copiar datos y ACL de directorios y archivos en Data Box

    Use /copyall para copiar todos los datos de origen, incluidas todas las ACL de directorios y archivos.

  • Enumerar el sistema de archivos de Data Box mediante robocopy

    Use este comando para enumerar el contenido del directorio:

    robocopy <source-dir> NULL /l /s /xx /njh /njs /fp /B

    Tenga en cuenta que el Explorador de archivos no permite enumerar estos archivos.

  • Copiar o eliminar carpetas y archivos de Data Box

    Use este comando para copiar un único archivo:

    robocopy <source-dir> <destination-dir> <file-name> /B

    Use este comando para eliminar un único archivo:

    robocopy <source-dir> <destination-dir> <file-name> /purge /B

    En el comando anterior, <source-dir> no debe tener el archivo <file-name>. A continuación, el comando anterior sincroniza el destino con el origen, lo que da lugar a la eliminación del archivo del destino.

    Tenga en cuenta que el Explorador de archivos puede no permitirle realizar las operaciones anteriores.

Para más información, consulte Uso de los comandos robocopy.

Herramientas de copia de datos de Linux

La transferencia de metadatos en Linux es un proceso de dos pasos. En primer lugar, copie los datos de origen mediante una herramienta como rsync, que no copia metadatos. Después de copiar los datos, puede copiar los metadatos mediante una herramienta como smbcacls o cifsacl.

Los siguientes comandos de ejemplo realizan el primer paso, copiando los datos mediante rsync.

cp -aR /etc /opt/ 
rsync -avP /etc /opt (-a copies a directory)

Pasos siguientes