Habilitación del 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. Los registros de acceso al servidor resultan útiles para muchas aplicaciones. Por ejemplo, la información del registro de acceso puede ser útil en auditorías de acceso y seguridad. Esta información también puede ayudarle a conocer mejor su base de clientes y entender su factura de Amazon S3.
De forma predeterminada, Amazon S3 no recopila registros de acceso al servidor. Cuando activa la actividad de registro, Amazon S3 envía los registros de acceso de un bucket de origen a un bucket de destino que usted selecciona. El bucket de destino debe estar en la misma Región de AWS y Cuenta de AWS que el bucket de origen.
Una entrada de registro de acceso incluye detalles de las solicitudes realizadas a un bucket. Esta información puede incluir el tipo de solicitud, los recursos especificados en la solicitud y la hora y la fecha en que se procesó la solicitud. Para obtener más información acerca de los conceptos básicos de los registros, consulte Registro de solicitudes con registro de acceso al servidor.
importante
-
Habilitar el registro de acceso al servidor en un bucket de Amazon S3 ni incurre en ningún cargo adicional. Sin embargo, los archivos de registro que recibe del sistema acumularán los cargos usuales de almacenamiento. (Puede eliminar los registros en cualquier momento). No contemplamos los cargos de transferencia de datos por la entrega de los archivos de registro, pero sí aplicamos el cargo de la tasa normal de transferencia de datos por obtener acceso a los archivos de registro.
-
El bucket de destino no debe tener habilitado el registro de acceso al servidor. Puede enviar los registros a cualquier bucket de su propiedad que se encuentre en la misma región que el bucket de origen, incluido el propio bucket de origen. Sin embargo, enviar registros al bucket de origen provocará un bucle infinito de registros, por lo que no se recomienda. Para que la administración de registros sea más sencilla, le recomendamos que guarde los registros de acceso en un bucket distinto. Para obtener más información, consulte ¿Cómo habilito la entrega de registros?
-
Los buckets de S3 con Bloqueo de objetos de S3 habilitado no se pueden utilizar como buckets de destino para los registros de acceso al servidor. Su bucket de destino no debe tener una configuración de periodo de retención predeterminada.
-
El bucket de destino no debe tener activado Pago por solicitante.
-
Puede usar el cifrado predeterminado del bucket en el bucket de destino solo si se usa el cifrado del lado del servidor con claves administradas por Amazon S3 (SSE-S3), que usa el Estándar de cifrado avanzado de 256 bits (AES-256). No se admite el cifrado del servidor predeterminado con claves AWS Key Management Service (AWS KMS) (SSE-KMS).
Puede habilitar o desactivar el registro de acceso al servidor mediante la consola de Amazon S3, la API de Amazon S3, AWS Command Line Interface (AWS CLI) o los SDK de AWS.
Permisos para entrega de registros
Amazon S3 utiliza una cuenta especial de entrega de registros para escribir registros de acceso al servidor. Estos escritos están sujetos a las restricciones de control de acceso habituales. Para la entrega del registro de acceso, debe conceder a la entidad principal del servicio de registro acceso (logging.s3.amazonaws.com
) a su bucket de destino.
Para conceder permisos a Amazon S3 para la entrega de registros, puede utilizar una política de bucket o listas de control de acceso (ACL) de bucket, según la configuración de S3 Object Ownership del bucket de destino. Sin embargo, le recomendamos que utilice una política de bucket en lugar de ACL.
Configuración de propietario del bucket obligatorio de S3 Object Ownership
Si el bucket de destino utiliza la configuración de propietario del bucket obligatorio de Object Ownership, las ACL se desactivan y ya no afectan a los permisos. En ese caso, debe actualizar la política de bucket para el bucket de destino para conceder acceso a la entidad principal del servicio de registro. No puede actualizar la ACL del bucket para conceder acceso al grupo de entrega de registros de S3. Tampoco puede incluir las concesiones de destino en su configuración de PutBucketLogging.
Para obtener información sobre la migración de las ACL de bucket existentes para la entrega de registros de acceso a una política de bucket, consulte Concesión de acceso al grupo de entrega de registros de S3 para el registro de acceso al servidor. Para obtener más información acerca de la propiedad de objetos, consulte Control de la propiedad de los objetos y desactivación de las ACL del bucket. Al crear buckets nuevos, las ACL están deshabilitadas de forma predeterminada.
Concesión de acceso mediante una política de bucket
Para conceder acceso mediante la política de bucket en el bucket de destino, actualice la política de bucket para conceder el permiso s3:PutObject
a la entidad principal del servicio de registro. Si utiliza la consola de Amazon S3 para habilitar los registros de acceso al servidor, la consola actualiza automáticamente la política del bucket en el bucket destino para conceder este permiso a la entidad principal del servicio de registro. Si habilita el registro de acceso al servidor mediante programación, debe actualizar manualmente la política del bucket de destino para conceder acceso a la entidad principal del servicio de registro.
Para ver un ejemplo de una política de bucket que concede acceso a la entidad principal del servicio de registro, consulte Concesión de permisos a la entidad principal del servicio de registro mediante una política de bucket.
Concesión de acceso mediante ACL de bucket
También puede utilizar las ACL de bucket para conceder acceso para la entrega de registros de acceso. Agregue una entrada de concesión a la ACL del bucket que concede permisos WRITE
y READ_ACP
para el grupo entrega de registros de S3. Sin embargo, no se recomienda conceder acceso al grupo de entrega de registros de S3 mediante la ACL del bucket. Para obtener más información, consulte Control de la propiedad de los objetos y desactivación de las ACL del bucket. Para obtener información sobre la migración de las ACL de bucket existentes para la entrega de registros de acceso a una política de bucket, consulte Concesión de acceso al grupo de entrega de registros de S3 para el registro de acceso al servidor. Para ver un ejemplo de ACL que concede acceso a la entidad principal del servicio de registro, consulte Concesión de permisos al grupo de entrega de registros mediante una ACL de bucket.
Concesión de permisos a la entidad principal del servicio de registro mediante una política de bucket
Esta política de bucket de ejemplo concede el permiso s3:PutObject
a la entidad principal del servicio de registro (logging.s3.amazonaws.com
). Para utilizar esta política de bucket, reemplace
por su propia información. En la siguiente política, user input placeholders
es el bucket de destino donde se entregarán los registros de acceso al servidor y amzn-s3-demo-destination-bucket
es el bucket de origen. amzn-s3-demo-source-bucket
es el prefijo de destino opcional que desea utilizar para sus objetos de registro. EXAMPLE-LOGGING-PREFIX
es la Cuenta de AWS que posee el bucket de origen. SOURCE-ACCOUNT-ID
nota
Si hay instrucciones Deny
en su política de bucket, asegúrese de que no impidan que Amazon S3 envíe registros de acceso.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": { "Service": "logging.s3.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::
amzn-s3-demo-destination-bucket
/EXAMPLE-LOGGING-PREFIX
*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-source-bucket
" }, "StringEquals": { "aws:SourceAccount": "SOURCE-ACCOUNT-ID
" } } } ] }
Concesión de permisos al grupo de entrega de registros mediante una ACL de bucket
nota
Como práctica recomendada de seguridad, Amazon S3 desactiva las listas de control de acceso (ACL) de forma predeterminada en todos los buckets nuevos. Para obtener más información acerca de los permisos de ACL en la consola de Amazon S3, consulte Configuración de la ACL.
Aunque no recomendamos este método, puede conceder permisos al grupo de entrega de registros mediante una ACL de bucket. Sin embargo, si el bucket de destino utiliza la configuración de propietario del bucket obligatorio de Object Ownership, no se pueden configurar ACL de bucket u objeto. Tampoco puede incluir las concesiones de destino en su configuración de PutBucketLogging. En su lugar, debe utilizar una política de bucket para conceder acceso a la entidad principal del servicio de registro (logging.s3.amazonaws.com
). Para obtener más información, consulte Permisos para entrega de registros.
En la ACL del bucket, el grupo entrega de registros se representa con la siguiente URL:
http://acs.amazonaws.com/groups/s3/LogDelivery
Para conceder los permisos WRITE
y READ_ACP
(lectura de ACL), agregue las siguientes concesiones a la ACL del bucket de destino.
<Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/s3/LogDelivery</URI> </Grantee> <Permission>WRITE</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/s3/LogDelivery</URI> </Grantee> <Permission>READ_ACP</Permission> </Grant>
Para obtener ejemplos de cómo agregar concesiones de ACL mediante programación, consulte Configuración de la ACL.
importante
Al habilitar el registro de acceso al servidor de Amazon S3 mediante AWS CloudFormation en un bucket y utilizar las ACL para conceder acceso al grupo de entrega de registros de S3, también debe agregar AccessControl": "LogDeliveryWrite"
en la plantilla de CloudFormation. Esta acción es importante porque puede otorgar esos permisos creando solo una ACL para el bucket, pero no puede crear ACL personalizadas para los buckets en CloudFormation. Solo puede usar ACL predefinidas con CloudFormation.
Para habilitar el registro de acceso al servidor
Utilice los siguientes procedimientos para habilitar el registro de acceso al servidor mediante la consola de Amazon S3, la API de REST de Amazon S3, los SDK de AWS y AWS CLI.
Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En la lista Buckets (Buckets), elija el nombre del bucket para el que desea activar el registro de acceso al servidor.
-
Seleccione Properties (Propiedades).
-
En la sección Server access logging (Registro de acceso al servidor), elija Edit (Editar).
-
En Registro de acceso al servidor, seleccione Habilitar.
-
En Bucket de destino, especifique un bucket y un prefijo opcional. Si especifica un prefijo, le recomendamos incluir una barra inclinada (
/
) después del prefijo para facilitar la búsqueda de los registros.nota
Especificar un prefijo con una barra (
/
) facilita la localización de los objetos de registro. Por ejemplo, si especifica el valor del prefijologs/
, cada objeto de registro que crea Amazon S3 comienza con el prefijologs/
en su clave de la siguiente manera:logs/2013-11-01-21-32-16-E568B2907131C0C0
Si especifica el valor del prefijo
logs
, el objeto de registro aparece de la siguiente manera:logs2013-11-01-21-32-16-E568B2907131C0C0
-
En Formato de clave de objeto de registro, realice una de las siguientes acciones:
-
Para elegir una partición no basada en fechas, elija [DestinationPrefix][YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString].
-
Para elegir una partición basada en fechas, elija [DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString] y luego Hora de evento de S3 u Hora de entrega de archivo de registro.
-
-
Elija Guardar cambios.
Cuando se habilita el registro de acceso al servidor en un bucket, la consola habilita los registros en el bucket de origen y actualiza la política de bucket para que el bucket de destino conceda el permiso
s3:PutObject
a la entidad principal del servicio de registro (logging.s3.amazonaws.com
). Para obtener más información acerca de esta política de bucket, consulte Concesión de permisos a la entidad principal del servicio de registro mediante una política de bucket.Puede ver los registros en el bucket de destino. Después de habilitar el registro de acceso al servidor, la entrega de los registros al bucket de destino puede tardar unos horas. Para obtener más información acerca de cómo y cuándo se entregan los registros, consulte ¿Cómo se envían los registros?.
Para obtener más información, consulte Visualización de las propiedades para un bucket de S3.
Para habilitar los registros, envíe una solicitud PutBucketLogging para agregar la configuración de registros en el bucket de origen. La solicitud especifica el bucket de destino y, de forma opcional, el prefijo que se debe utilizar con todas las claves de objeto de registro.
En el siguiente ejemplo se identifica
como el bucket de destino y amzn-s3-demo-destination-bucket
como el prefijo. logs/
<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <LoggingEnabled> <TargetBucket>
amzn-s3-demo-destination-bucket
</TargetBucket> <TargetPrefix>logs/
</TargetPrefix> </LoggingEnabled> </BucketLoggingStatus>
En el siguiente ejemplo se identifica
como el bucket de destino, amzn-s3-demo-destination-bucket
como el prefijo y logs/
EventTime
como el formato de clave del objeto de registro.
<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"> <LoggingEnabled> <TargetBucket>
amzn-s3-demo-destination-bucket
</TargetBucket> <TargetPrefix>logs/
</TargetPrefix> <TargetObjectKeyFormat> <PartitionedPrefix> <PartitionDateSource>EventTime</PartitionDateSource> </PartitionedPrefix> </TargetObjectKeyFormat> </LoggingEnabled> </BucketLoggingStatus>
La cuenta entrega de archivos de registro de S3 escribe y posee los objetos de registro y el propietario del bucket tiene permisos completos sobre los objetos de registro. De forma opcional, puede utilizar concesiones de destino para conceder permisos a otros usuarios para que puedan acceder a los registros. Para obtener más información, consulte PutBucketLogging.
nota
Si el bucket de destino utiliza la configuración de propietario del bucket obligatorio de Object Ownership, no puede usar las concesiones de destino para conceder permisos a otros usuarios. Para conceder permisos a otros, puede utilizar la actualización de la política de bucket en el bucket de destino. Para obtener más información, consulte Permisos para entrega de registros.
Para recuperar la configuración de registro de un bucket, utilice la operación de la API GetBucketLogging.
Para eliminar la configuración de registros, debe enviar la solicitud PutBucketLogging
con un BucketLoggingStatus
vacío.
<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01"> </BucketLoggingStatus>
Para habilitar el registro en un bucket, puede utilizar la API de Amazon S3 o las bibliotecas de encapsulamiento de los SDK de AWS.
En los siguientes ejemplos se habilitan los registros en un bucket. Debe crear dos buckets, uno de origen y uno de destino. Los ejemplos actualizan primero la ACL del bucket en el bucket de destino. Conceden al grupo de envío de registros los permisos necesarios para escribir registros en el bucket de destino y, a continuación, habilitan los registros en el bucket de origen.
Estos ejemplos no funcionarán en buckets de destino que utilizan la configuración Aplicada al propietario del bucket obligatorio para la Propiedad de objetos.
Si el bucket de destino utiliza la configuración de propietario del bucket obligatorio de Propiedad de objetos, no se pueden configurar ACL de bucket u objeto. Tampoco puede incluir concesiones de destino en la configuración PutBucketLogging. Debe utilizar una política de bucket para conceder acceso a la entidad principal del servicio de registro (logging.s3.amazonaws.com
). Para obtener más información, consulte Permisos para entrega de registros.
Recomendamos que cree un bucket de registro dedicado en cada Región de AWS en la que tenga buckets de S3. A continuación, guarde los registros de acceso de Amazon S3 en ese bucket de S3. Para obtener más información y ejemplos, consulte put-bucket-logging
Si el bucket de destino utiliza la configuración de propietario del bucket obligatorio de Propiedad de objetos, no se pueden configurar ACL de bucket u objeto. Tampoco puede incluir concesiones de destino en la configuración PutBucketLogging. Debe utilizar una política de bucket para conceder acceso a la entidad principal del servicio de registro (logging.s3.amazonaws.com
). Para obtener más información, consulte Permisos para entrega de registros.
ejemplo — Habilitar registros de acceso con cinco buckets en dos regiones
Para este ejemplo, suponga que tiene los cinco buckets siguientes:
-
1-amzn-s3-demo-bucket1-us-east-1
-
2-amzn-s3-demo-bucket1-us-east-1
-
3-amzn-s3-demo-bucket1-us-east-1
-
1-amzn-s3-demo-bucket1-us-west-2
-
2-amzn-s3-demo-bucket1-us-west-2
nota
El último paso del siguiente procedimiento proporciona ejemplos de scripts bash que puede utilizar para crear sus buckets de registro y habilitar el registro de acceso al servidor en estos buckets. Para usar esos scripts, debe crear los archivos policy.json
y logging.json
, tal y como se describe en el siguiente procedimiento.
-
Cree dos bucket de destino de registro en las regiones Oeste de EE. UU. (Oregón) y Este de EE. UU. (Norte de Virginia) y asígneles los siguientes nombres:
-
amzn-s3-demo-bucket1-logs-us-east-1
-
amzn-s3-demo-bucket1-logs-us-west-2
-
-
Más adelante en estos pasos, habilitará el registro de acceso al servidor de la siguiente manera:
-
1-amzn-s3-demo-bucket1-us-east-1
registra en el bucket de S3amzn-s3-demo-bucket1-logs-us-east-1
con el prefijo1-amzn-s3-demo-bucket1-us-east-1
-
2-amzn-s3-demo-bucket1-us-east-1
registra en el bucket de S3amzn-s3-demo-bucket1-logs-us-east-1
con el prefijo2-amzn-s3-demo-bucket1-us-east-1
-
3-amzn-s3-demo-bucket1-us-east-1
registra en el bucket de S3amzn-s3-demo-bucket1-logs-us-east-1
con el prefijo3-amzn-s3-demo-bucket1-us-east-1
-
1-amzn-s3-demo-bucket1-us-west-2
registra en el bucket de S3amzn-s3-demo-bucket1-logs-us-west-2
con el prefijo1-amzn-s3-demo-bucket1-us-west-2
-
2-amzn-s3-demo-bucket1-us-west-2
registra en el bucket de S3amzn-s3-demo-bucket1-logs-us-west-2
con el prefijo2-amzn-s3-demo-bucket1-us-west-2
-
-
Para cada bucket de registro de destino, conceda permisos para la entrega de registros de acceso al servidor mediante una ACL de bucket o una política de bucket:
-
Actualizar la política de bucket (recomendado): para conceder permisos a la entidad principal del servicio de registro, utilice el siguiente comando
put-bucket-policy
. Reemplace
con el nombre del bucket de destino.amzn-s3-demo-destination-bucket
-logsaws s3api put-bucket-policy --bucket
--policy file://policy.jsonamzn-s3-demo-destination-bucket
-logsPolicy.json
es un documento JSON en la carpeta actual que contiene la siguiente política de bucket. Para utilizar esta política de bucket, reemplace
por su propia información. En la siguiente política,user input placeholders
es el bucket de destino donde se entregarán los registros de acceso al servidor yamzn-s3-demo-destination-bucket
-logs
es el bucket de origen.amzn-s3-demo-source-bucket
es la Cuenta de AWS que posee el bucket de origen.SOURCE-ACCOUNT-ID
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": { "Service": "logging.s3.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::
amzn-s3-demo-destination-bucket
-logs
/*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::amzn-s3-demo-source-bucket
" }, "StringEquals": { "aws:SourceAccount": "SOURCE-ACCOUNT-ID
" } } } ] } -
Actualizar la ACL del bucket: para conceder permisos al grupo de entrega de registros de S3, utilice el siguiente comando
put-bucket-acl
. Reemplace
con el nombre del bucket de destino.amzn-s3-demo-destination-bucket
-logsaws s3api put-bucket-acl --bucket
--grant-write URI=http://acs.amazonaws.com/groups/s3/LogDelivery --grant-read-acp URI=http://acs.amazonaws.com/groups/s3/LogDeliveryamzn-s3-demo-destination-bucket
-logs
-
-
A continuación, cree un archivo
logging.json
que contenga la configuración de registro (según uno de los tres ejemplos siguientes). Tras crear el archivologging.json
, puede aplicar la configuración de registro mediante el siguiente comandoput-bucket-logging
. Reemplace
con el nombre del bucket de destino.amzn-s3-demo-destination-bucket
-logsaws s3api put-bucket-logging --bucket
--bucket-logging-status file://logging.jsonamzn-s3-demo-destination-bucket
-logsnota
En lugar de usar este comando
put-bucket-logging
para aplicar la configuración de registro en cada bucket de destino, puede usar uno de los scripts bash que se proporcionan en el siguiente paso. Para usar esos scripts, debe crear los archivospolicy.json
ylogging.json
, tal y como se describe en este procedimiento.El archivo
logging.json
es un documento JSON en la carpeta actual que contiene la configuración de su registro. Si un bucket de destino utiliza la configuración de propietario del bucket obligatorio de Object Ownership, la configuración de registro no puede contener concesiones de destino. Para obtener más información, consulte Permisos para entrega de registros.ejemplo –
logging.json
sin concesiones de destinoEl siguiente archivo
logging.json
de ejemplo no contiene concesiones de destino. Por lo tanto, puede aplicar esta configuración a un bucket de destino que utilice la configuración Aplicada al propietario del bucket para Propiedad de objetos.{ "LoggingEnabled": { "TargetBucket": "
amzn-s3-demo-destination-bucket
-logs
", "TargetPrefix": "amzn-s3-demo-destination-bucket
/" } }ejemplo –
logging.json
con subvenciones de destinoEl siguiente archivo
logging.json
de ejemplo contiene concesiones de destino.Si el bucket de destino utiliza la configuración de propietario del bucket obligatorio de propiedad de objetos, no puede incluir las concesiones de destino en la configuración PutBucketLogging. Para obtener más información, consulte Permisos para entrega de registros.
{ "LoggingEnabled": { "TargetBucket": "
amzn-s3-demo-destination-bucket
-logs
", "TargetPrefix": "amzn-s3-demo-destination-bucket
/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "user@example.com
" }, "Permission": "FULL_CONTROL" } ] } }ejemplo –
logging.json
con el formato de clave del objeto de registro establecido en la hora del evento de S3El siguiente archivo
logging.json
cambia el formato de clave del objeto de registro a la hora del evento de S3. Para obtener más información acerca de la configuración del formato de clave de objeto de registro, consulte ¿Cómo habilito la entrega de registros?.{ "LoggingEnabled": { "TargetBucket": "
amzn-s3-demo-destination-bucket
-logs
", "TargetPrefix": "amzn-s3-demo-destination-bucket
/", "TargetObjectKeyFormat": { "PartitionedPrefix": { "PartitionDateSource": "EventTime" } } } } -
Utilice uno de los siguientes scripts bash para agregar el registro de acceso a todos los buckets de la cuenta. Sustituya
por el nombre de su bucket de destino y sustituyaamzn-s3-demo-destination-bucket
-logs
por el nombre de la región en la que se encuentran sus buckets.us-west-2
nota
Este script solo funciona si todos los buckets están en la misma región. Si tiene buckets en multirregiones, debe ajustar el script.
ejemplo – Conceder acceso con políticas de bucket y agregar registros para los buckets de la cuenta
loggingBucket='
amzn-s3-demo-destination-bucket
-logs
' region='us-west-2
' # Create the logging bucket. aws s3 mb s3://$loggingBucket --region $region aws s3api put-bucket-policy --bucket $loggingBucket --policy file://policy.json # List the buckets in this account. buckets="$(aws s3 ls | awk '{print $3}')" # Put a bucket logging configuration on each bucket. for bucket in $buckets do # This if statement excludes the logging bucket. if [ "$bucket" != "$loggingBucket" ] ; then continue; fi printf '{ "LoggingEnabled": { "TargetBucket": "%s", "TargetPrefix": "%s/" } }' "$loggingBucket" "$bucket" > logging.json aws s3api put-bucket-logging --bucket $bucket --bucket-logging-status file://logging.json echo "$bucket done" done rm logging.json echo "Complete"ejemplo – Conceder acceso con ACL de bucket y agregar registros para los buckets de la cuenta
loggingBucket='
amzn-s3-demo-destination-bucket
-logs
' region='us-west-2
' # Create the logging bucket. aws s3 mb s3://$loggingBucket --region $region aws s3api put-bucket-acl --bucket $loggingBucket --grant-write URI=http://acs.amazonaws.com/groups/s3/LogDelivery --grant-read-acp URI=http://acs.amazonaws.com/groups/s3/LogDelivery # List the buckets in this account. buckets="$(aws s3 ls | awk '{print $3}')" # Put a bucket logging configuration on each bucket. for bucket in $buckets do # This if statement excludes the logging bucket. if [ "$bucket" != "$loggingBucket" ] ; then continue; fi printf '{ "LoggingEnabled": { "TargetBucket": "%s", "TargetPrefix": "%s/" } }' "$loggingBucket" "$bucket" > logging.json aws s3api put-bucket-logging --bucket $bucket --bucket-logging-status file://logging.json echo "$bucket done" done rm logging.json echo "Complete"
Verificación de la configuración de los registros de acceso al servidor
Después de habilitar el registro de acceso al servidor, siga los pasos siguientes:
-
Acceda al bucket de destino y compruebe que se están entregando los archivos de registro. Una vez configurados los registros de acceso, Amazon S3 comienza inmediatamente a capturar las solicitudes y a registrarlas. Sin embargo, la entrega de los registros al bucket de destino puede tardar unas horas. Para obtener más información, consulte Los cambios del estado de los registros del bucket surten efecto con el tiempo y Envío de archivos de registro de servidor según el mejor esfuerzo.
También puede verificar automáticamente la entrega de registros mediante las métricas de solicitud de Amazon S3 y configurar las alarmas de Amazon CloudWatch para estas métricas. Para obtener más información, consulte Monitorización de métricas con Amazon CloudWatch.
-
Compruebe que puede abrir y leer el contenido de los archivos de registro.
Para obtener información sobre la solución de problemas del registro de acceso al servidor, consulte Solucionar problemas de registro de acceso al servidor.