Registros enviados a Amazon S3 - Amazon CloudWatch Logs

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registros enviados a Amazon S3

Cuando configura los registros para que se envíen a Amazon S3, AWS crea o cambia las políticas de recursos asociadas al depósito de S3 que recibe los registros, si es necesario.

Los registros publicados directamente en Amazon S3 se publican en un bucket existente que especifique. Se crean uno o varios archivos de registro cada cinco minutos en el bucket especificado.

Cuando entrega registros por primera vez a un bucket de Amazon S3, el servicio que entrega registros registra al propietario del bucket para asegurarse de que los registros se entregan solo a un bucket perteneciente a esta cuenta. Como resultado, para cambiar el propietario del bucket de Amazon S3, debe volver a crear o actualizar la suscripción de registro en el servicio de origen.

nota

CloudFront utiliza un modelo de permisos diferente al de los demás servicios que envían los registros vendidos a S3. Para obtener más información, consulte Permisos necesarios para configurar el registro estándar y el acceso a los archivos de registro.

Además, si utiliza el mismo depósito de S3 para CloudFront acceder a los registros y otra fuente de registros, al habilitar la ACL en el depósito CloudFront también se concederán permisos a todas las demás fuentes de registro que utilicen este depósito.

importante

Si envía registros a un bucket de Amazon S3 y la política del bucket contiene un elemento NotAction o NotPrincipal, no podrá añadir automáticamente los permisos de entrega de registros al bucket ni crear una suscripción de registros. Para crear una suscripción de registros correctamente, debe añadir manualmente los permisos de entrega de registros a la política del bucket y, a continuación, crear la suscripción de registros. Para obtener más información, consulte las instrucciones en esta sección.

Si el depósito tiene un cifrado del lado del servidor mediante una AWS KMS clave administrada por el cliente, también debe agregar la política de claves para su clave administrada por el cliente. Para obtener más información, consulte Amazon S3.

Si el bucket de destino tiene SSE-KMS y una clave de bucket habilitados, la política de claves de KMS gestionada por el cliente adjunta ya no funciona como se esperaba para todas las solicitudes. Para obtener más información, consulte Reducir el coste de SSE-KMS con las claves de bucket de Amazon S3.

Si utiliza registros vendidos y cifrado S3 con una AWS KMS clave administrada por el cliente, debe usar un ARN de AWS KMS clave totalmente cualificado en lugar de un ID de clave al configurar el depósito. Para obtener más información, consulte put-bucket-encryption.

Permisos de usuario

Para poder configurar el envío de cualquiera de estos tipos de registros a Amazon S3 por primera vez, debe iniciar sesión en una cuenta con los siguientes permisos.

  • logs:CreateLogDelivery

  • S3:GetBucketPolicy

  • S3:PutBucketPolicy

Si alguno de estos tipos de registros ya se envía a un bucket de Amazon S3, para configurar el envío de otro de estos tipos de registros al mismo bucket, solo necesita tener el permiso logs:CreateLogDelivery.

Política de recursos de bucket de S3

El bucket de S3 al que se envían los registros debe tener una política de recursos que incluya determinados permisos. Si el bucket actualmente no tiene una política de recursos, y el usuario que configura el registro tiene los permisos S3:GetBucketPolicy y S3:PutBucketPolicy para el bucket, AWS crea automáticamente la siguiente política cuando empiece a enviar los registros a Amazon S3.

JSON
{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite20150319", "Statement": [ { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": [ "0123456789" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:us-east-1:111122223333:*" ] } } }, { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/AWSLogs/account-ID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "0123456789" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:logs:us-east-1:111122223333:*" ] } } } ] }

En la política anterior, para aws:SourceAccount, especifique la lista de ID de cuenta para los que se entregan los registros a este bucket. Para aws:SourceArn ello, especifique la lista ARNs del recurso que genera los registros en el formulario. arn:aws:logs:source-region:source-account-id:*

Si el bucket tiene una política de recursos, pero esa política no contiene la instrucción que se muestra en la política anterior, y el usuario que configura el registro tiene los permisos S3:GetBucketPolicy y S3:PutBucketPolicy para el bucket, esa instrucción se anexa a la política de recursos del bucket.

nota

En algunos casos, es posible que veas AccessDenied errores AWS CloudTrail si no se ha concedido el s3:ListBucket permisodelivery.logs.amazonaws.com. Para evitar estos errores en sus CloudTrail registros, debe conceder el s3:ListBucket permiso delivery.logs.amazonaws.com e incluir Condition los parámetros que se muestran con el conjunto de s3:GetBucketAcl permisos en la política de bucket anterior. Para simplificar esto, en lugar de crear una nueva Statement, puede actualizar directamente AWSLogDeliveryAclCheck para que sea “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]

Uso de cifrado del servidor del bucket de Amazon S3

Puede proteger los datos de su bucket de Amazon S3 habilitando el cifrado del lado del servidor con claves administradas por Amazon S3 (SSE-S3) o el cifrado del lado del servidor con una clave almacenada en (SSE-KMS). AWS KMS AWS Key Management Service Para obtener más información, consulte Protección de los datos con el cifrado del servidor.

Si elige SSE-S3, no se requiere ninguna configuración adicional. Amazon S3 se encarga de la clave de cifrado.

aviso

Si elige SSE-KMS, debe usar una clave administrada por el cliente, ya que no se admite el uso de una clave administrada en este escenario. AWS Si configura el cifrado con una clave AWS administrada, los registros se entregarán en un formato ilegible.

Cuando utilizas una AWS KMS clave gestionada por el cliente, puedes especificar el nombre de recurso de Amazon (ARN) de la clave gestionada por el cliente al activar el cifrado de buckets. Debe agregar lo siguiente a la política de clave para la clave administrada por el cliente (no a la política del bucket para el bucket de S3), de modo que la cuenta de entrega de registros pueda escribir en el bucket de S3.

Si elige SSE-KMS, debe utilizar una clave administrada por el cliente, ya que el uso de una clave administrada de AWS no se admite en este contexto. Cuando utilizas una AWS KMS clave gestionada por el cliente, puedes especificar el nombre de recurso de Amazon (ARN) de la clave gestionada por el cliente al activar el cifrado de buckets. Debe agregar lo siguiente a la política de clave para la clave administrada por el cliente (no a la política del bucket para el bucket de S3), de modo que la cuenta de entrega de registros pueda escribir en el bucket de S3.

{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["0123456789"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:0123456789:*"] } } }

Para aws:SourceAccount, especifique la lista de ID de cuenta para los que se entregan los registros a este bucket. Para aws:SourceArn ello, especifique la lista ARNs del recurso que genera los registros, en el formularioarn:aws:logs:source-region:source-account-id:*.