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

Autorizzazioni degli utenti

Per abilitare l'invio di log ad Amazon S3, devi aver effettuato l'accesso con le seguenti autorizzazioni.

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" } ] }

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": "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:*" ] } } } ] }

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:delivery-source:*"] } } }

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:*