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.
Temas
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.
oHTTP_method
.resource_type
BATCH.DELETE.OBJECT
oS3.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ámetroversionId
.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
oSigV4
, 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 campoaclRequired
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.
oHTTP_method
.resource_type
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 encabezadox-amz-copy-source
no especificó un parámetroversionId
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
oSigV4
, 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 campoaclRequired
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.