Log inviati ad Amazon S3 - CloudWatch Registri Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Log inviati ad Amazon S3

Quando imposti i log da inviare ad Amazon S3 AWS , crea o modifica le politiche delle risorse associate al bucket S3 che riceve i log, se necessario.

I log pubblicati in Amazon S3 vengono pubblicati in un bucket esistente da te specificato. Uno o più file di log vengono creati ogni cinque minuti nel bucket specificato.

Quando invii i log per la prima volta a un bucket Amazon S3, il servizio che consegna i log registra il proprietario del bucket per assicurarsi che i log vengano consegnati solo a un bucket appartenente a questo account. Di conseguenza, per modificare il proprietario del bucket Amazon S3, devi ricreare o aggiornare la sottoscrizione del log nel servizio di origine.

Nota

CloudFront utilizza un modello di autorizzazioni diverso rispetto agli altri servizi che inviano i log forniti a S3. Per ulteriori informazioni, consulta Autorizzazioni richieste per configurare la registrazione standard e per accedere ai file di log.

Inoltre, se utilizzi lo stesso bucket S3 per i log di CloudFront accesso e un'altra fonte di log, l'abilitazione dell'ACL sul bucket concede CloudFront anche l'autorizzazione a tutte le altre fonti di log che utilizzano questo bucket.

Importante

Se invii log a un bucket Amazon S3 e la policy del bucket contiene NotAction un elemento NotPrincipal or, l'aggiunta automatica delle autorizzazioni di consegna dei log al bucket e la creazione di un abbonamento di log avranno esito negativo. Per creare correttamente un abbonamento di log, devi aggiungere manualmente le autorizzazioni di consegna dei log alla policy del bucket, quindi creare l'abbonamento di log. Per ulteriori informazioni, consulta le istruzioni in questa sezione.

Se il bucket dispone di una crittografia lato server che utilizza una AWS KMS chiave gestita dal cliente, è necessario aggiungere anche la policy relativa alla chiave gestita dal cliente. Per ulteriori informazioni, consulta Amazon S3.

Se nel bucket di destinazione sono abilitati SSE-KMS e una Bucket Key, la politica di chiave KMS gestita dal cliente allegata non funziona più come previsto per tutte le richieste. Per ulteriori informazioni, consulta Ridurre il costo di SSE-KMS con Amazon S3 Bucket Keys.

Se utilizzi registri venduti e crittografia S3 con una AWS KMS chiave gestita dal cliente, devi utilizzare una chiave AWS KMS ARN completamente qualificata anziché un ID chiave quando configuri il bucket. Per ulteriori informazioni, consulta put-bucket-encryption.

Autorizzazioni degli utenti

Per poter configurare l'invio di uno di questi tipi di log ad Amazon S3 per la prima volta, devi aver effettuato l'accesso a un account con le seguenti autorizzazioni.

  • logs:CreateLogDelivery

  • S3:GetBucketPolicy

  • S3:PutBucketPolicy

Se uno qualsiasi di questi tipi di log è già stato inviato a un bucket Amazon S3, quindi per impostare l'invio di un altro di questi tipi di log allo stesso bucket è sufficiente disporre del autorizzazione logs:CreateLogDelivery.

Policy delle risorse di bucket S3

Il bucket S3 in cui vengono inviati i log deve disporre di una policy delle risorse che include determinate autorizzazioni. Se il bucket al momento non dispone di una policy delle risorse e l'utente che imposta la registrazione ha le autorizzazioni S3:GetBucketPolicy e S3:PutBucketPolicy per il bucket, AWS crea automaticamente la seguente policy quando inizi a inviare i log ad 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:*" ] } } } ] }

Nella policy precedente, per aws:SourceAccount, specifica l'elenco degli ID account per i quali i log vengono consegnati a questo bucket. Peraws:SourceArn, specifica l'elenco ARNs della risorsa che genera i log, nel modulo. arn:aws:logs:source-region:source-account-id:*

Se il bucket dispone di una policy delle risorse, ma tale criterio non contiene l'istruzione mostrata nella policy precedente e l'utente che imposta la registrazione ha le autorizzazioni S3:GetBucketPolicy e S3:PutBucketPolicy per il bucket, tale istruzione viene aggiunta alla policy delle risorse del bucket.

Nota

In alcuni casi, è possibile che vengano visualizzati AccessDenied degli errori AWS CloudTrail se l's3:ListBucketautorizzazione non è stata concessadelivery.logs.amazonaws.com. Per evitare questi errori nei CloudTrail log, è necessario concedere l's3:ListBucketautorizzazione delivery.logs.amazonaws.com e includere Condition i parametri mostrati con l's3:GetBucketAclautorizzazione impostata nella precedente policy del bucket. Per renderlo più semplice, invece di creare una nuova Statement, puoi aggiornar direttamenteAWSLogDeliveryAclCheck per essere “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]

Crittografia lato server di bucket Amazon S3

Puoi proteggere i dati nel tuo bucket Amazon S3 abilitando la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) o la crittografia lato server con una chiave archiviata in (SSE-KMS). AWS KMS AWS Key Management Service Per ulteriori informazioni, consulta Protezione dei dati con la crittografia lato server.

Se si sceglie SSE-S3, non è richiesta alcuna configurazione aggiuntiva. Amazon S3 gestisce la chiave di crittografia.

avvertimento

Se scegli SSE-KMS, devi utilizzare una chiave gestita dal cliente, poiché l'utilizzo di una chiave gestita non è supportato in questo scenario. AWS Se si configura la crittografia utilizzando una chiave AWS gestita, i log verranno consegnati in un formato illeggibile.

Quando utilizzi una AWS KMS chiave gestita dal cliente, puoi specificare l'Amazon Resource Name (ARN) della chiave gestita dal cliente quando abiliti la crittografia dei bucket. È necessario aggiungere quanto segue alla policy della chiave per la chiave gestita dal cliente (non alla policy di bucket per il bucket S3), in modo che l'account di consegna del log possa scrivere nel bucket S3.

Se si sceglie SSE-KMS, è necessario utilizzare una chiave gestita dal cliente, perché utilizzando una chiave gestita AWS non è supportata per questo scenario. Quando utilizzi una AWS KMS chiave gestita dal cliente, puoi specificare l'Amazon Resource Name (ARN) della chiave gestita dal cliente quando abiliti la crittografia dei bucket. È necessario aggiungere quanto segue alla policy della chiave per la chiave gestita dal cliente (non alla policy di bucket per il bucket S3), in modo che l'account di consegna del log possa scrivere nel bucket 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:*"] } } }

Per aws:SourceAccount, specifica l'elenco degli ID account per i quali i log vengono consegnati a questo bucket. Peraws:SourceArn, specifica l'elenco ARNs della risorsa che genera i log, nel modulo. arn:aws:logs:source-region:source-account-id:*