Inventario de Amazon S3 - Amazon Simple Storage Service

Inventario de Amazon S3

importante

Amazon S3 aplica ahora el cifrado del servidor con claves administradas por Amazon S3 (SSE-S3) como el nivel básico de cifrado para cada bucket de Amazon S3. Desde el 5 de enero de 2023, todas las cargas de objetos nuevos a Amazon S3 se cifran automáticamente sin costo adicional y sin afectar al rendimiento. El estado de cifrado automático para la configuración de cifrado predeterminada en el bucket de S3 y para cargas de objetos nuevos está disponible en registros de AWS CloudTrail, Inventario de S3, Lente de almacenamiento de S3, la consola de Amazon S3 y como encabezado de respuesta a la API de Amazon S3 adicional en AWS Command Line Interface y los SDK de AWS. Para obtener más información, consulte Preguntas frecuentes del cifrado predeterminado.

Puede usar el Inventario de Amazon S3 para administrar su almacenamiento. Por ejemplo, puede utilizarlo para auditar e informar sobre el estado de replicación y cifrado de los objetos para sus necesidades empresariales, de conformidad y legales. Puede simplificar o acelerar los flujos de trabajo empresariales y los trabajos relacionados con los macrodatos mediante el Inventario de Amazon S3, que ofrece una alternativa programada a las operaciones de la API List sincrónica de Amazon S3. El Inventario de Amazon S3 no utiliza operaciones de API List para auditar los objetos y no afecta a la tasa de solicitudes del bucket.

El Inventario de Amazon S3 proporciona archivos de salida con formato de valores separados por comas (CSV), Optimized Row Columnar (ORC) de Apache o Apache Parquet que muestran diaria o semanalmente los objetos y los metadatos correspondientes en un bucket de S3 u objetos con un prefijo compartido (es decir, objetos con nombres que comienzan con la misma cadena). Si configura un inventario semanal, se genera un informe cada domingo (zona horaria UTC) después del informe inicial. Para obtener más información acerca de los precios de Amazon S3 Inventory, consulte Precios de Amazon S3.

Puede configurar varias listas de inventario para un bucket. Al configurar una lista de inventario, puede especificar lo siguiente:

  • Qué metadatos de objetos incluir en el inventario

  • Si se deben enumerar todas las versiones del objeto o solo las versiones actuales

  • Dónde almacenar la salida del archivo de lista de inventario

  • Si se debe generar el inventario de forma diaria o semanal

  • Si se debe cifrar el archivo de lista de inventario

Puede consultar el Inventario de Amazon S3 con consultas SQL estándar mediante Amazon Athena, Amazon Redshift Spectrum y otras herramientas, como Presto, Apache Hive y Apache Spark. Para obtener más información acerca del uso de Athena para consultar sus archivos de inventario, consulte Consulta de Amazon S3 Inventory con Amazon Athena.

Buckets de origen y destino

El bucket para el que el inventario enumera los objetos se denomina bucket de origen. El bucket en el que se almacena el archivo con la lista del inventario se denomina bucket de destino.

Bucket de origen

El inventario enumera los objetos almacenados en el bucket de origen. Puede obtener una lista de inventario para todo un bucket, o puede filtrar la lista por prefijo de nombre de clave de objeto.

El bucket de origen:

  • Contiene los objetos enumerados en el inventario.

  • Contiene la configuración del inventario.

Bucket de destino

Los archivos con la lista de Amazon S3 Inventory se escriben en el bucket de destino. Para agrupar todos los archivos de la lista de inventario en una ubicación común del bucket de destino, puede especificar un prefijo de destino en la configuración del inventario.

El bucket de destino:

  • Contiene las listas de archivos de inventario.

  • Contiene los archivos de manifiesto que enumeran todos los archivos de lista de inventario almacenados en el bucket de destino. Para obtener más información, consulte Manifiesto de inventario.

  • Debe tener una política de bucket para conceder a Amazon S3 permiso para verificar la propiedad del bucket y permiso para escribir archivos en el bucket.

  • Debe estar en la misma Región de AWS que el bucket de origen.

  • Puede ser igual que la del bucket de origen.

  • Puede ser propiedad de una Cuenta de AWS diferente a la cuenta que es propietaria del bucket de origen.

Lista de Amazon S3 Inventory

Un archivo de lista de inventario contiene una lista de los objetos del bucket de origen y los metadatos para cada objeto. En el bucket de destino, se almacena un archivo de lista de inventario con uno de los siguientes formatos:

  • Un archivo CSV comprimido con GZIP

  • Como archivo Optimized Row Columnar (ORC) de Apache comprimido con ZLIB

  • Como archivo de Apache Parquet comprimido con Snappy

nota

No se garantiza que los objetos de los informes de inventario de Amazon S3 estén clasificados en ningún orden.

Un archivo de lista de inventario contiene una lista de los objetos del bucket de origen y los metadatos para cada objeto de esa lista.

  • Nombre del bucket: el nombre del bucket para el que se realiza el inventario.

  • Nombre de clave: el nombre de la clave de objeto (o clave) que identifica unívocamente el objeto del bucket. Cuando se utiliza el formato de archivo CSV, el nombre de la clave se codifica como URL y se debe descodificar antes de poder utilizarlo.

  • ID de versión: el ID de la versión del objeto. Si activa el control de versiones en un bucket, Amazon S3 asigna un número de versión a los objetos que agregue a dicho bucket. Para obtener más información, consulte Usar el control de versiones en buckets de S3. (Este campo no estará incluido si la lista solo está configurada para la versión actual de los objetos).

  • IsLatest: estará establecido en True si el objeto es la versión actual del objeto. (Este campo no estará incluido si la lista solo está configurada para la versión actual de los objetos).

  • Marcador de eliminación: establecido en True, si el objeto es un marcador de eliminación. Para obtener más información, consulte Usar el control de versiones en buckets de S3. (Este campo se añade automáticamente al informe si este se ha configurado para que incluya todas las versiones de los objetos).

  • Tamaño: el tamaño del objeto en bytes, sin incluir el tamaño de las cargas multipartes incompletas, los metadatos del objeto ni los marcadores de eliminación.

  • Fecha de la última modificación: la fecha de creación del objeto o la última fecha de modificación, la última existente.

  • ETag: la etiqueta de entidad (ETag) es un hash del objeto. La ETag solo refleja los cambios en el contenido de un objeto, no en sus metadatos. La ETag puede ser un resumen MD5 de los datos del objeto. Esto dependerá del método de creación del objeto y del tipo de cifrado.

  • Clase de almacenamiento: la clase de almacenamiento utilizada para almacenar el objeto. Establecida en STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR o SNOW. Para obtener más información, consulte Uso de las clases de almacenamiento de Amazon S3.

  • Marcador de carga multiparte: establecido en True si el objeto se cargó mediante una carga multiparte. Para obtener más información, consulte Carga y copia de objetos con la carga multiparte.

  • Estado de reproducción: establecido en PENDING, COMPLETED, FAILED o REPLICA. Para obtener más información, consulte Obtención de información del estado de replicación.

  • Estado de cifrado: el estado del cifrado del lado del servidor, según el tipo de clave de cifrado que se utilice: una clave administrada por Amazon S3 (SSE-S3), una clave AWS Key Management Service(AWS KMS) (SSE-KMS) o una clave proporcionada por el cliente (SSE-C). Establecido en SSE-S3, SSE-C, SSE-KMS o NOT-SSE. Un estado de NOT-SSE significa que el objeto no está cifrado con el cifrado del servidor. Para obtener más información, consulte Protección de los datos mediante el cifrado.

  • Fecha de retención del bloqueo de objetos de S3: la fecha hasta la que no se puede eliminar un objeto bloqueado. Para obtener más información, consulte Usar Bloqueo de objetos de S3.

  • Modo de retención del bloqueo de objetos de S3: establecido en Governance o Compliance para los objetos que están bloqueados. Para obtener más información, consulte Usar Bloqueo de objetos de S3.

  • Estado de retención legal del bloqueo de objetos de S3: establecido en On si se ha aplicado una retención legal a un objeto. De lo contrario, se establece en Off. Para obtener más información, consulte Usar Bloqueo de objetos de S3.

  • Capa de acceso de S3 Intelligent-Tiering: capa de acceso (frecuente o infrecuente) del objeto si está almacenado en la clase de almacenamiento S3 Intelligent-Tiering. Establecida en FREQUENT, INFREQUENT, ARCHIVE_INSTANT_ACCESS, ARCHIVE o DEEP_ARCHIVE. Para obtener más información, consulte Clase de almacenamiento para optimizar automáticamente los datos con patrones de acceso cambiantes o desconocidos.

  • Estado de clave de bucket de S3: establecido en ENABLED o DISABLED. Indica si el objeto utiliza una clave de bucket de S3 para SSE-KMS. Para obtener más información, consulte Uso de claves de bucket de Amazon S3.

  • Algoritmo de suma de comprobación: indica el algoritmo utilizado para crear la suma de comprobación del objeto.

  • Lista de control de acceso a objetos: una lista de control de acceso (ACL) para cada objeto que define a qué Cuentas de AWS o grupos se les concede acceso a este objeto y el tipo de acceso que se concede. El campo ACL del objeto se define en formato JSON. Un informe de inventario de S3 incluye las ACL asociadas a los objetos del bucket de origen, incluso cuando las ACL están deshabilitadas para el bucket. Para obtener más información, consulte Uso del campo de objeto de ACL y Información general de las Listas de control de acceso (ACL).

    nota

    El campo ACL del objeto se define en formato JSON. Un informe de inventario muestra el valor del campo ACL del objeto como una cadena codificada en base64.

    Por ejemplo, supongamos que tiene el siguiente campo ACL de objeto en formato JSON:

    { "version": "2022-11-10", "status": "AVAILABLE", "grants": [{ "canonicalId": "example-canonical-user-ID", "type": "CanonicalUser", "permission": "READ" }] }

    El campo ACL del objeto está codificado y se muestra como la siguiente cadena codificada en base64:

    eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=

    Para obtener el valor descodificado en JSON para el campo ACL del objeto, puede consultar este campo en Amazon Athena. Para obtener consultas de ejemplo, consulte Consulta de Amazon S3 Inventory con Amazon Athena.

  • Propietario del objeto: el propietario del objeto.

nota

Cuando un objeto llega al final de su vida útil según su configuración de ciclo de vida, Amazon S3 lo coloca en una cola para eliminarlo de manera asincrónica. Por ello, es posible que haya un desfase entre la fecha de vencimiento y la fecha en que Amazon S3 elimina un objeto. El informe de inventario incluye los objetos que han caducado pero que aún no se han retirado. Para obtener más información sobre las acciones de vencimiento en S3 Lifecycle, consulte Vencimiento de objetos.

Le recomendamos que cree una política del ciclo de vida que elimine las listas de inventario antiguas. Para obtener más información, consulte Administración del ciclo de vida del almacenamiento.

El permiso s3:PutInventoryConfiguration permite al usuario seleccionar todos los campos de metadatos que aparecen anteriormente para cada objeto al configurar una lista de inventario y especificar el bucket de destino para almacenar el inventario. Un usuario con acceso de lectura a los objetos del bucket de destino puede acceder a todos los campos de metadatos de objetos que están disponibles en la lista de inventario. Para restringir el acceso a un informe de inventario, consulte Concesión de permisos para el inventario de S3 y el análisis de S3.

Consistencia del inventario

Puede que en cada lista de inventario no aparezcan todos sus objetos. La lista de inventario ofrece consistencia final para las solicitudes PUT tanto de nuevos objetos como de objetos sobrescritos, además de las solicitudes DELETE. Cada lista de inventario de un bucket es una instantánea de los objetos del bucket. En última instancia, estas listas son consistentes (es decir, una lista puede no incluir objetos añadidos o eliminados recientemente).

Para comprobar el estado de un objeto antes de realizar ninguna acción sobre él, le recomendamos que realice una solicitud HeadObject con la API de REST para recuperar los metadatos del objeto o para comprobar sus propiedades en la consola de Amazon S3. También puede verificar los metadatos del objeto con la AWS CLI o los SDK de AWS. Para obtener más información, consulte HeadObject en la Referencia de la API de Amazon Simple Storage Service.

Para obtener más información sobre cómo trabajar con Amazon S3 Inventory, consulte los siguientes temas.