View a markdown version of this page

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

Para ver un ejemplo de AWS CLI, consulteCrear una entrega a Amazon S3.

Permisos de usuario

Para habilitar el envío de registros a Amazon S3, debe iniciar sesión con los siguientes permisos.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ReadWriteAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:GetDelivery", "logs:GetDeliverySource", "logs:PutDeliveryDestination", "logs:GetDeliveryDestinationPolicy", "logs:DeleteDeliverySource", "logs:PutDeliveryDestinationPolicy", "logs:CreateDelivery", "logs:GetDeliveryDestination", "logs:PutDeliverySource", "logs:DeleteDeliveryDestination", "logs:DeleteDeliveryDestinationPolicy", "logs:DeleteDelivery", "logs:UpdateDeliveryConfiguration" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:delivery:*", "arn:aws:logs:us-east-1:111122223333:delivery-source:*", "arn:aws:logs:us-east-1:111122223333:delivery-destination:*" ] }, { "Sid": "ListAccessForLogDeliveryActions", "Effect": "Allow", "Action": [ "logs:DescribeDeliveryDestinations", "logs:DescribeDeliverySources", "logs:DescribeDeliveries", "logs:DescribeConfigurationTemplates" ], "Resource": "*" }, { "Sid": "AllowUpdatesToResourcePolicyS3", "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucket-name" } ] }

Política de recursos de bucket de Amazon 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": "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:delivery-source:*" ] } } } ] }

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, especifique la lista de ARN 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. Puedes usar S3-managed llaves de Amazon (SSE-S3) o una AWS KMS clave almacenada en AWS Key Management Service (SSE-KMS). Para obtener más información, consulte Protección de los datos con el cifrado del servidor.

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

Se requiere una clave gestionada por el cliente

Si lo desea SSE-KMS, debe utilizar una clave gestionada por el cliente. No puedes usar una clave AWS gestionada. Si configura el cifrado con una clave AWS administrada, CloudWatch Logs entrega los registros en un formato ilegible.

Para SSE-KMS, especifique el nombre de recurso de Amazon (ARN) de la clave cuando habilite el cifrado de buckets. Añada lo siguiente a la política de claves (no a la política de bucket de su bucket de S3) para que la cuenta de entrega de registros pueda escribir en su 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": ["012345678901"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:012345678901:delivery-source:*"] } } }

Para elloaws:SourceAccount, especifique los ID de las cuentas cuyos registros se envían a este depósito. Paraaws:SourceArn, especifique los ARN de la fuente de entrega en el siguiente formato:arn:aws:logs:source-region:source-account-id:delivery-source:*.

Formato de clave de objeto de Amazon S3

En el caso de las entregas que utilizan permisos V2, la clave de objeto de Amazon S3 viene determinada por el prefijo de destino, el tipo de registro, la ruta del sufijo de la entrega y si las Hive-compatible rutas están habilitadas. La ruta exacta definida por el servicio y las variables de sufijo admitidas varían según el tipo de registro.

Prefijo de destino

Una ruta opcional que se añade al ARN del bucket cuando se llama. PutDeliveryDestination Por ejemplo, arn:aws:s3:::bucket-name/MyLogPrefix. Los objetos entregados comienzan con este prefijo, seguido de la ruta del tipo de registro definida por el servicio, por ejemplo. AWSLogs/source-account-id/service-name/ En el registro CloudFront estándar (v2), el prefijo de destino reemplaza, en lugar de preceder, a la ruta predeterminada.

Ruta de sufijo

Una ruta opcional que se configura para una entrega individual en su S3DeliveryConfiguration. Un sufijo puede contener texto estático y variables. Para encontrar las variables admitidas por un tipo de registro, llame DescribeConfigurationTemplatesy compruebeallowedSuffixPathFields. Si no especifica una ruta de sufijo, se utilizará la ruta de sufijo predeterminada del tipo de registro cuando haya una disponible.

Hive-compatible ruta

Cuando enableHiveCompatiblePath estrue, las variables admitidas en forma explícita suffixPath se representan comokey=value. Para los tipos de registro, como los registros de acceso de Application Load Balancer, este formato también cambia el segmento de cuenta definido por el servicio. Por ejemplo, AWSLogs/source-account-id/ se convierte en AWSLogs/aws-account-id=source-account-id/.

Si lo omitesuffixPath, el Hive-compatible formato solo se aplica cuando la ruta de sufijo predeterminada del tipo de registro lo admite. Por ejemplo, los registros de acceso de Application Load Balancer admiten este formato. Otros tipos de registro, incluidos los registros de acceso al servidor Amazon S3, conservan su sufijo predeterminado original en un formato que no es de Hive, incluidos los directorios de recursos y fechas.

Para un tipo de registro cuyo formato predeterminado no admita el Hive-compatible formato, especifique uno válido suffixPath que contenga variables compatibles. Un sufijo explícito sustituye al sufijo predeterminado. Incluya las variables de recurso y fecha que necesite, utilizando el tipo de registro de allowedSuffixPathFields origen. DescribeConfigurationTemplates

Los siguientes ejemplos muestran el principio de una clave de objeto de registro de acceso de Application Load Balancer para la cuenta de. 111122223333 us-east-1 A menos que se indique lo contrario, en los ejemplos no se asume ningún prefijo de destino.

Configuración Principio de la clave del objeto
Hive-compatible ruta deshabilitada, sufijo omitido AWSLogs/111122223333/elasticloadbalancing/us-east-1/2026/09/10/
Hive-compatible ruta habilitada, sufijo omitido AWSLogs/aws-account-id=111122223333/elasticloadbalancing/region=us-east-1/year=2026/month=09/day=10/
Hive-compatible ruta habilitada, sufijo myFolder/{yyyy}/{MM}/{dd} AWSLogs/aws-account-id=111122223333/elasticloadbalancing/myFolder/year=2026/month=09/day=10/
Hive-compatible ruta habilitada, sufijo myFolder/ AWSLogs/111122223333/elasticloadbalancing/myFolder/
prefijo de destinoMyLogPrefix, Hive-compatible ruta deshabilitada, sufijo omitido MyLogPrefix/AWSLogs/111122223333/elasticloadbalancing/us-east-1/2026/09/10/
Rutas de sufijos estáticos y permisos de bucket

En el caso de los tipos de registro, como los registros de acceso de Application Load Balancer, un registro suffixPath que contenga solo texto estático no permite Hive-compatible formatear el prefijo de cuenta definido por el servicio. Por ejemplo, myFolder/ utiliza el prefijo de cuenta simple que se muestra en la tabla. La entrega no se realiza correctamente si CloudWatch Logs intenta escribir con el prefijo de cuenta normal y la política de compartimentos solo permite usar ese prefijo. Hive-compatible

Al crear una entrega de Application Load Balancer con el valor enableHiveCompatiblePath establecido entrue, la política de bucket creada automáticamente concede s3:PutObject el Hive-compatible prefijo. Incluya al menos una variable admitida del tipo de registro incluido u suffixPath omítala allowedSuffixPathFields en el suffixPath caso de un tipo de registro cuya ruta de sufijo predeterminada admita el formateo. Hive-compatible

CloudFront El registro estándar (v2) formatea su prefijo predeterminado independientemente de las variables incluidas. suffixPath

nota

CloudFront documenta su comportamiento de ruta de registro estándar (v2) y ofrece ejemplos en Send logs to Amazon S3.

nota

La actualización de la ruta o la Hive-compatible configuración del sufijo afecta a las entregas posteriores una vez que se propague la configuración. Los objetos existentes no se mueven. No puedes cambiar el ARN de un destino, incluido su prefijo, mientras las entregas activas hagan referencia a ese destino.

La política de segmentos debe permitir el s3:PutObject prefijo resultante. Cuando gestione la política de bucket, mantenga activas las aws:SourceArn condiciones aws:SourceAccount y que se muestran en la política de bucket de Amazon S3 y conceda acceso únicamente al prefijo obligatorio. Política de recursos de bucket de Amazon S3