Formato de registro de acceso al servidor de Amazon S3 - Amazon Simple Storage Service

Formato de registro de acceso al servidor de Amazon S3

El registro de acceso al servidor proporciona el historial detallado de las solicitudes que se realizan a un bucket de Amazon S3. Puede utilizar los registros de acceso al servidor para los siguientes fines:

  • Realizar auditorías de seguridad y acceso

  • Obtener información sobre la base de clientes

  • Entender la factura de Amazon S3

En esta sección se describe el formato y otros detalles acerca de los archivos de registro de acceso al servidor de Amazon S3.

Los archivos de registro de acceso al servidor consisten en una secuencia de registros delimitados por nueva línea. Cada entrada de registro representa una solicitud y consta de campos delimitados por espacios.

El siguiente es un registro de ejemplo que consta de cinco entradas de registro.

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket1?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 arn:aws:s3:us-west-1:123456789012:accesspoint/example-AP Yes 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /amzn-s3-demo-bucket1?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 9vKBE6vMhrNiWHZmb2L0mXOcqPGzQOI5XLnCtZNPxev+Hf+7tpT6sxDwDty4LHBUOZJG96N1234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /amzn-s3-demo-bucket1?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - BNaBsXZQQDbssi6xMBdBU2sLt+Yf5kZDmeBUP35sFoKa3sLLeMC78iwEIWxs99CRUrbS4n11234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - Yes 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket1?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - Ke1bUcazaN1jWuUlPJaxF64cQVpUEhoZKEG/hmy/gijN/I1DeWqDfFvnpybfEseEME/u7ME1234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /amzn-s3-demo-bucket1/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 10S62Zv81kBW7BB6SX4XJ48o6kpcl6LPwEoizZQQxJd5qDSCTLX0TgS37kYUBKQW3+bPdrg1234= SigV4 ECDHE-RSA-AES128-SHA AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - Yes
nota

Los campos se pueden establecer en - para indicar que los datos son desconocidos o no están disponibles, o que el campo no se aplica a esta solicitud.

Registrar campos de registro

En la siguiente lista se describen los campos de entrada de registro.

Propietario del bucket

El ID de usuario canónico del propietario del bucket de origen. El ID de usuario canónico es otra forma del ID de la Cuenta de AWS. Para obtener más información acerca del ID de usuario canónico, consulte Identificadores de la Cuenta de AWS en la Referencia general de AWS. Para obtener información acerca de cómo encontrar el ID de usuario canónico de la cuenta, consulte Búsqueda del ID de usuario canónico para la Cuenta de AWS.

Ejemplo de entrada

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Bucket

El nombre del bucket para el que se procesó la solicitud. Si el sistema recibe un solicitud incorrecta y no puede determinar el bucket, la solicitud no aparecerá en ningún registro de acceso al servidor.

Ejemplo de entrada

Time

El momento en que se recibió la solicitud; estas fechas y horas están en Hora Universal Coordinada (UTC). El formato, con la terminología strftime(), es el siguiente: [%d/%b/%Y:%H:%M:%S %z]

Ejemplo de entrada

[06/Feb/2019:00:00:38 +0000]
IP remota

La dirección IP aparente del solicitante. Los servidores proxy y firewalls intermedios pueden ocultar la dirección IP real de la máquina que realiza la solicitud.

Ejemplo de entrada

192.0.2.3
Solicitante

El ID de usuario canónico del solicitante o un - para solicitudes no autenticadas. Si el solicitante era un usuario de IAM, este campo devuelve el nombre de usuario de IAM del solicitante junto con la Cuenta de AWS a la que pertenece el usuario de IAM. Este identificador es el mismo que se utiliza para el control de acceso.

Ejemplo de entrada

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be

Si el solicitante utiliza un rol asumido, este campo devuelve el rol de IAM asumido.

Ejemplo de entrada

arn:aws:sts::123456789012:assumed-role/roleName/test-role
ID de solicitud

Una cadena generada por Amazon S3 para identificar de forma inequívoca cada solicitud.

Ejemplo de entrada

3E57427F33A59F07
Operation

La operación que se describe aquí se declara como SOAP.operation, REST.HTTP_method.resource_type, WEBSITE.HTTP_method.resource_type o BATCH.DELETE.OBJECT o S3.action.resource_type para S3 Lifecycle y registro.

Ejemplo de entrada

REST.PUT.OBJECT
Clave

La parte clave (nombre del objeto) de la solicitud.

Ejemplo de entrada

/photos/2019/08/puppy.jpg
Request-URI

La parte de Request-URI del mensaje de solicitud de HTTP.

Ejemplo de entrada

"GET /amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
Estado HTTP

El código de estado HTTP numérico de la respuesta.

Ejemplo de entrada

200
Código de error

El error de Amazon S3 responde o -, si no se ha producido ningún error.

Ejemplo de entrada

NoSuchBucket
Bytes enviados

El número de bytes de respuestas enviados, sin incluir la sobrecarga del protocolo HTTP o - en caso de ser cero.

Ejemplo de entrada

2662992
Tamaño de objeto

El tamaño total del objeto en cuestión.

Ejemplo de entrada

3462992
Tiempo total

La cantidad de milisegundos que la solicitud estuvo en tránsito desde la perspectiva del servidor. Este valor se mide desde el momento en que se recibe la solicitud hasta el momento en que se envía el último byte de la respuesta. Es posible que las medidas realizadas desde la perspectiva del cliente sean más extensas a causa de la latencia de la red.

Ejemplo de entrada

70
Tiempo de entrega

La cantidad de milisegundos que tarda Amazon S3 en procesar su solicitud. Este valor se mide desde el momento en que se recibió el último byte de la solicitud hasta el momento en que se envió el primer byte de la respuesta.

Ejemplo de entrada

10
Referer

El valor del encabezado Referer de HTTP, si lo hay. Los agentes de usuario de HTTP (por ejemplo: los navegadores) por lo general configuran este encabezado en la URL de la página enlazada o adjunta cuando realizan una solicitud.

Ejemplo de entrada

"http://www.example.com/webservices"
User-Agent

El valor del encabezado User-Agent de HTTP.

Ejemplo de entrada

"curl/7.15.1"
ID de versión

El ID de versión en la solicitud o - si la operación no toma un parámetro versionId.

Ejemplo de entrada

3HL4kqtJvjVBH40Nrjfkd
ID de host

El x-amz-id-2 o el ID de la solicitud ampliada de Amazon S3.

Ejemplo de entrada

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
Versión de firma

La versión de firma, SigV2 o SigV4, que se utilizó para autenticar la solicitud o - para las solicitudes no autenticadas.

Ejemplo de entrada

SigV2
Conjunto de cifrado

Cifrado de Capa de conexión segura (SSL) que se negoció para una solicitud HTTPS o un - para HTTP.

Ejemplo de entrada

ECDHE-RSA-AES128-GCM-SHA256
Tipo de autenticación

Tipo de autenticación de solicitud utilizada: AuthHeader para encabezados de autenticación, QueryString para cadena de consulta (URL prefirmada) o - para solicitudes no autenticadas.

Ejemplo de entrada

AuthHeader
Encabezado de host

El punto de conexión usado para conectarse a Amazon S3.

Ejemplo de entrada

s3.us-west-2.amazonaws.com

Algunas regiones anteriores admiten puntos de conexión heredados. Es posible que vea estos puntos de enlace en los registros de acceso al servidor o en los registros de AWS CloudTrail. Para obtener más información, consulte Puntos de conexión heredados. Para obtener una lista completa de las regiones y los puntos de conexión de Amazon S3, consulte Puntos de conexión y cuotas de Amazon S3 en la Referencia general de Amazon Web Services.

Versión de TLS

Versión de Transport Layer Security (TLS) negociada por el cliente. El valor es uno de los siguientes: TLSv1.1, TLSv1.2, TLSv1.3 o - si no se utilizó TLS.

Ejemplo de entrada

TLSv1.2
ARN del punto de acceso

El nombre de recurso de Amazon (ARN) del punto de acceso de la solicitud. Si el ARN del punto de acceso está mal formado o no se utiliza, el campo contendrá un -. Para obtener más información acerca de los puntos de acceso, consulte Usar puntos de acceso. Para obtener más información acerca de los ARN, consulte Nombre de recurso de Amazon (ARN) en la Guía de referencia de AWS.

Ejemplo de entrada

arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP
aclRequired

Una cadena que indica si la solicitud requiere una lista de control de acceso (ACL) para la autorización. Si la solicitud requería una ACL para la autorización, la cadena es Yes. Si no se requerían ACL, la cadena es -. Para obtener más información acerca de las ACL, consulte Información general de las Listas de control de acceso (ACL). Para obtener más información sobre el uso del campo aclRequired para desactivar las ACL, consulte Control de la propiedad de los objetos y desactivación de las ACL del bucket.

Ejemplo de entrada

Yes

Registro adicional para operaciones de copia

Una operación de copia implica un GET y un PUT. Por esa razón, registramos dos entradas al realizar una operación de copia. En la sección anterior se describen los campos relacionados con la PUT parte de la operación. En la siguiente lista se describen los campos del registro relacionados con la parte GET de la operación de copia.

Propietario del bucket

El ID de usuario canónico del bucket que almacena el objeto que se copia. El ID de usuario canónico es otra forma del ID de la Cuenta de AWS. Para obtener más información acerca del ID de usuario canónico, consulte Identificadores de la Cuenta de AWS en la Referencia general de AWS. Para obtener información acerca de cómo encontrar el ID de usuario canónico de la cuenta, consulte Búsqueda del ID de usuario canónico para la Cuenta de AWS.

Ejemplo de entrada

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Bucket

El nombre del bucket que almacena el objeto que se copia.

Ejemplo de entrada

Time

El momento en que se recibió la solicitud; estas fechas y horas están en Hora Universal Coordinada (UTC). El formato, con la terminología strftime(), es el siguiente: [%d/%B/%Y:%H:%M:%S %z]

Ejemplo de entrada

[06/Feb/2019:00:00:38 +0000]
IP remota

La dirección IP aparente del solicitante. Los servidores proxy y firewalls intermedios pueden ocultar la dirección IP real de la máquina que realiza la solicitud.

Ejemplo de entrada

192.0.2.3
Solicitante

El ID de usuario canónico del solicitante o un - para solicitudes no autenticadas. Si el solicitante era un usuario de IAM, este campo devolverá el nombre de usuario de IAM del solicitante junto con la Usuario raíz de la cuenta de AWS a la que pertenece el usuario de IAM. Este identificador es el mismo que se utiliza para el control de acceso.

Ejemplo de entrada

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be

Si el solicitante utiliza un rol asumido, este campo devuelve el rol de IAM asumido.

Ejemplo de entrada

arn:aws:sts::123456789012:assumed-role/roleName/test-role
ID de solicitud

Una cadena generada por Amazon S3 para identificar de forma inequívoca cada solicitud.

Ejemplo de entrada

3E57427F33A59F07
Operación

La operación que se indica aquí se declara como SOAP.operation, REST.HTTP_method.resource_type, WEBSITE.HTTP_method.resource_type o BATCH.DELETE.OBJECT.

Ejemplo de entrada

REST.COPY.OBJECT_GET
Clave

La clave (nombre de objeto) del objeto que se copia o “-” si la operación no toma un parámetro de clave.

Ejemplo de entrada

/photos/2019/08/puppy.jpg
Request-URI

La parte de Request-URI del mensaje de solicitud de HTTP.

Ejemplo de entrada

"GET /amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg?x-foo=bar"
Estado HTTP

El código de estado HTTP numérico de la parte GET de la operación de copia.

Ejemplo de entrada

200
Código de error

El error de Amazon S3 responde de la parte GET de la operación de copia o - si no se ha producido ningún error.

Ejemplo de entrada

NoSuchBucket
Bytes enviados

El número de bytes de respuestas enviados, sin incluir la sobrecarga del protocolo HTTP o - en caso de ser cero.

Ejemplo de entrada

2662992
Tamaño de objeto

El tamaño total del objeto en cuestión.

Ejemplo de entrada

3462992
Tiempo total

La cantidad de milisegundos que la solicitud estuvo en tránsito desde la perspectiva del servidor. Este valor se mide desde el momento en que se recibe la solicitud hasta el momento en que se envía el último byte de la respuesta. Es posible que las medidas realizadas desde la perspectiva del cliente sean más extensas a causa de la latencia de la red.

Ejemplo de entrada

70
Tiempo de entrega

La cantidad de milisegundos que tarda Amazon S3 en procesar su solicitud. Este valor se mide desde el momento en que se recibió el último byte de la solicitud hasta el momento en que se envió el primer byte de la respuesta.

Ejemplo de entrada

10
Referer

El valor del encabezado Referer de HTTP, si lo hay. Los agentes de usuario de HTTP (por ejemplo: los navegadores) por lo general configuran este encabezado en la URL de la página enlazada o adjunta cuando realizan una solicitud.

Ejemplo de entrada

"http://www.example.com/webservices"
User-Agent

El valor del encabezado User-Agent de HTTP.

Ejemplo de entrada

"curl/7.15.1"
ID de versión

El ID de versión del objeto que se copia o - si el encabezado x-amz-copy-source no especificó un parámetro versionId como parte del origen de copia.

Ejemplo de entrada

3HL4kqtJvjVBH40Nrjfkd
ID de host

El x-amz-id-2 o el ID de la solicitud ampliada de Amazon S3.

Ejemplo de entrada

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
Versión de firma

La versión de firma, SigV2 o SigV4, que se utilizó para autenticar la solicitud o - para las solicitudes no autenticadas.

Ejemplo de entrada

SigV4
Conjunto de cifrado

Cifrado de Capa de conexión segura (SSL) que se negoció para una solicitud HTTPS o - para HTTP.

Ejemplo de entrada

ECDHE-RSA-AES128-GCM-SHA256
Tipo de autenticación

Tipo de autenticación de solicitud utilizada: AuthHeader para encabezados de autenticación, QueryString para cadenas de consulta (URL prefirmadas) o un - para solicitudes no autenticadas.

Ejemplo de entrada

AuthHeader
Encabezado de host

El punto de conexión que se usó para conectarse a Amazon S3.

Ejemplo de entrada

s3.us-west-2.amazonaws.com

Algunas regiones anteriores admiten puntos de conexión heredados. Es posible que vea estos puntos de enlace en los registros de acceso al servidor o en los registros de AWS CloudTrail. Para obtener más información, consulte Puntos de conexión heredados. Para obtener una lista completa de las regiones y los puntos de conexión de Amazon S3, consulte Puntos de conexión y cuotas de Amazon S3 en la Referencia general de Amazon Web Services.

Versión de TLS

Versión de Transport Layer Security (TLS) negociada por el cliente. El valor es uno de los siguientes: TLSv1.1, TLSv1.2, TLSv1.3 o - si no se utilizó TLS.

Ejemplo de entrada

TLSv1.2
ARN del punto de acceso

El nombre de recurso de Amazon (ARN) del punto de acceso de la solicitud. Si el ARN del punto de acceso está mal formado o no se utiliza, el campo contendrá un -. Para obtener más información acerca de los puntos de acceso, consulte Usar puntos de acceso. Para obtener más información acerca de los ARN, consulte Nombre de recurso de Amazon (ARN) en la Guía de referencia de AWS.

Ejemplo de entrada

arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP
aclRequired

Una cadena que indica si la solicitud requiere una lista de control de acceso (ACL) para la autorización. Si la solicitud requería una ACL para la autorización, la cadena es Yes. Si no se requerían ACL, la cadena es -. Para obtener más información acerca de las ACL, consulte Información general de las Listas de control de acceso (ACL). Para obtener más información sobre el uso del campo aclRequired para desactivar las ACL, consulte Control de la propiedad de los objetos y desactivación de las ACL del bucket.

Ejemplo de entrada

Yes

Información de registro de acceso personalizada

Puede incluir información personalizada que se almacenará en el registro de registro de acceso para una solicitud. Para ello, agregue un parámetro de cadena de consulta personalizado a la URL de la solicitud. Amazon S3 pasa por alto los parámetros de cadena de consulta que empiezan con x-, pero los incluye en la entrada de registro de acceso para la solicitud, como parte del campo Request-URI de la entrada de registro.

Por ejemplo, una GET solicitud de "s3.amazonaws.com/amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg?x-user=johndoe" funciona igual que la solicitud de "s3.amazonaws.com/amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg", excepto que la "x-user=johndoe" cadena se incluye en el Request-URI campo para el historial de registro asociado. Esta funcionalidad está disponible en la interfaz de REST únicamente.

Consideraciones de programación para el formato de registro de acceso al servidor extensible

Ocasionalmente podríamos ampliar el formato de registro de acceso al agregar nuevos campos al final de cada línea. Por lo tanto, asegúrese de que cualquier código que analiza los registros de acceso al servidor pueda manejar los campos finales que podría no entender.