Logs enviados ao Amazon S3 - CloudWatch Registros da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Logs enviados ao Amazon S3

Quando você define os registros a serem enviados para o Amazon S3, AWS cria ou altera as políticas de recursos associadas ao bucket do S3 que está recebendo os registros, se necessário.

Os logs publicados diretamente no Amazon S3 são publicados em um bucket especificado por você. Um ou mais arquivos de log são criados a cada cinco minutos no bucket especificado.

Quando você entrega logs a um bucket do Amazon S3 pela primeira vez, o serviço que entrega logs registra o proprietário do bucket para garantir que os logs sejam entregues somente a um bucket pertencente a essa conta. Consequentemente, para alterar o proprietário do bucket do Amazon S3, é necessário recriar ou atualizar a assinatura de log no serviço de origem.

nota

CloudFront usa um modelo de permissões diferente dos outros serviços que enviam registros vendidos para o S3. Para obter mais informações, consulte Permissões necessárias para configurar o registro padrão e acessar seus arquivos de log.

Além disso, se você usar o mesmo bucket do S3 para registros de CloudFront acesso e outra fonte de log, habilitar a ACL no bucket CloudFront também concederá permissão a todas as outras fontes de log que usam esse bucket.

Importante

Se você for enviar logs para um bucket do Amazon S3 e a política do bucket contiver um elemento NotAction ou NotPrincipal, adicionar automaticamente permissões de entrega de logs ao bucket e criar uma assinatura de log não funcionará. Para criar uma assinatura de logs com sucesso, você precisa adicionar manualmente as permissões de entrega de logs à política do bucket e depois criar a assinatura de logs. Para obter mais informações, consulte as instruções desta seção.

Se o bucket tiver criptografia do lado do servidor usando uma AWS KMS chave gerenciada pelo cliente, você também deverá adicionar a política de chaves para sua chave gerenciada pelo cliente. Para obter mais informações, consulte Amazon S3.

Se o bucket de destino tiver SSE-KMS e uma chave de bucket ativados, a política de chave KMS gerenciada pelo cliente anexada não funcionará mais conforme o esperado para todas as solicitações. Para obter mais informações, consulte Redução do custo do SSE-KMS com chaves de bucket do Amazon S3.

Se você estiver usando registros vendidos e criptografia S3 com uma AWS KMS chave gerenciada pelo cliente, deverá usar um AWS KMS ARN de chave totalmente qualificado em vez de um ID de chave ao configurar o bucket. Para obter mais informações, consulte put-bucket-encryption.

Permissões de usuário

Para poder configurar o envio de qualquer um desses tipos de logs ao Amazon S3 pela primeira vez, é necessário conectar-se a uma conta com as permissões a seguir.

  • logs:CreateLogDelivery

  • S3:GetBucketPolicy

  • S3:PutBucketPolicy

Se algum desses tipos de logs já estiver sendo enviado a um bucket do Amazon S3, para configurar o envio de outro desses tipos de logs para esse mesmo bucket, apenas a permissão logs:CreateLogDelivery será necessária.

Política de recursos do bucket do S3

O bucket do S3 para o qual os logs estão sendo enviados deve ter uma política de recursos que contenha determinadas permissões. Se o bucket atualmente não tem uma política de recursos e o usuário que está configurando o log tem as permissões S3:GetBucketPolicy e S3:PutBucketPolicy para o bucket, a AWS cria automaticamente a seguinte política quando você começa a enviar os logs ao 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:*" ] } } } ] }

Na política anterior, para aws:SourceAccount, especifique a lista de IDS de conta para os quais os logs estão sendo entregues a esse bucket. Paraaws:SourceArn, especifique a lista ARNs do recurso que gera os registros, no formulárioarn:aws:logs:source-region:source-account-id:*.

Se o bucket tiver uma política de recursos, mas ela não contiver a instrução exibida na política anterior, e o usuário configurando o log tiver as permissões S3:GetBucketPolicy e S3:PutBucketPolicy para o bucket, essa instrução será anexada à política de recursos do bucket.

nota

Em alguns casos, você pode ver AccessDenied erros AWS CloudTrail se a s3:ListBucket permissão não tiver sido concedidadelivery.logs.amazonaws.com. Para evitar esses erros em seus CloudTrail registros, você deve conceder a s3:ListBucket permissão delivery.logs.amazonaws.com e incluir Condition os parâmetros mostrados com o conjunto de s3:GetBucketAcl permissões na política de bucket anterior. Para simplificar isso, em vez de criar uma nova Statement, você pode atualizar AWSLogDeliveryAclCheck diretamente para “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”]

Criptografia no lado do servidor de bucket do Amazon S3

Você pode proteger os dados em seu bucket do Amazon S3 habilitando a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) ou a criptografia do lado do servidor com uma chave armazenada em (SSE-KMS). AWS KMS AWS Key Management Service Para obter mais informações, consulte Proteger dados usando a criptografia no lado do servidor.

Se você escolher SSE-S3, nenhuma configuração adicional será necessária. O Amazon S3 lida com a chave de criptografia.

Atenção

Se você escolher o SSE-KMS, deverá usar uma chave gerenciada pelo cliente, pois o uso de uma chave AWS gerenciada não é suportado nesse cenário. Se você configurar a criptografia usando uma chave AWS gerenciada, os registros serão entregues em um formato ilegível.

Ao usar uma AWS KMS chave gerenciada pelo cliente, você pode especificar o Amazon Resource Name (ARN) da chave gerenciada pelo cliente ao ativar a criptografia do bucket. Você precisa adicionar o seguinte à política de chaves da chave gerenciada pelo cliente (não à política de bucket para o bucket do S3), para que a conta de entrega de log possa gravar no bucket do S3.

Se você escolher o SSE-KMS, deverá usar uma chave gerenciada pelo cliente, porque o uso de uma chave gerenciada pela AWS não tem suporte neste cenário. Ao usar uma AWS KMS chave gerenciada pelo cliente, você pode especificar o Amazon Resource Name (ARN) da chave gerenciada pelo cliente ao ativar a criptografia do bucket. Você precisa adicionar o seguinte à política de chaves da chave gerenciada pelo cliente (não à política de bucket para o bucket do S3), para que a conta de entrega de log possa gravar no bucket do 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 a lista de IDS de conta para os quais os logs estão sendo entregues a esse bucket. Paraaws:SourceArn, especifique a lista ARNs do recurso que gera os registros, no formulárioarn:aws:logs:source-region:source-account-id:*.