Envio de registros ACL de tráfego da web para um bucket do Amazon Simple Storage Service - AWS WAF, AWS Firewall Manager, e AWS Shield Advanced

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á.

Envio de registros ACL de tráfego da web para um bucket do Amazon Simple Storage Service

Este tópico fornece informações para enviar seus registros de ACL tráfego da web para um bucket do Amazon S3.

nota

Você é cobrado pelo login, além das cobranças pelo uso AWS WAF Para obter mais informações, consulte Preços para registrar informações de ACL tráfego na web.

Para enviar seus registros de ACL tráfego da web para o Amazon S3, você configura um bucket do Amazon S3 a partir da mesma conta que usa para gerenciar a ACL web e nomeia o bucket começando com. aws-waf-logs- Quando você ativa o login AWS WAF, você fornece o nome do bucket. Para obter informações sobre como criar um bucket de log, consulte Criar um bucket, no Guia do usuário do Amazon Simple Storage Service.

Você pode acessar e analisar seus logs do Amazon S3 usando o serviço de consulta interativa do Amazon Athena. O Athena facilita a análise de dados diretamente no Amazon S3 usando o padrão. SQL Com algumas ações no AWS Management Console, você pode direcionar o Athena para seus dados armazenados no Amazon S3 e começar rapidamente a usar o SQL padrão para executar consultas ad-hoc e obter resultados. Para obter mais informações, consulte Consultando AWS WAF faz login no guia do usuário do Amazon Athena. Para exemplos adicionais de consultas do Amazon Athena, consulte waf-log-sample-athenaaws-samples/ -queries no site. GitHub

nota

AWS WAF suporta criptografia com buckets Amazon S3 para o tipo de chave Amazon S3 (-S3) e para SSE AWS Key Management Service (SSE-KMS) AWS KMS keys. AWS WAF não suporta criptografia para AWS Key Management Service chaves que são gerenciadas por AWS.

Sua web ACLs publica seus arquivos de log no bucket do Amazon S3 em intervalos de 5 minutos. Cada arquivo de log contém os registros de log de fluxo para o tráfego de IP registrado nos últimos cinco minutos.

O tamanho máximo de um arquivo de log é de 75 MB. Se o arquivo de log atingir o limite de tamanho no período de 5 minutos, o log para de adicionar registros de log de fluxo, publica o arquivo no bucket do Amazon S3 e cria um novo arquivo de log.

Os arquivos de log são compactados. Se você abrir os arquivos usando o console do Amazon S3, o Amazon S3 descompacta os registros de log e os exibe. Se você baixar os arquivos de log, será necessário descompactá-los para visualizar os registros de log de fluxo.

Um único arquivo de log contém entradas intercaladas com vários registros. Para ver todos os arquivos de log de uma webACL, procure entradas agregadas pelo ACL nome da web, região e ID da sua conta.

Requisitos de nomenclatura e sintaxe

Seus nomes de bucket para AWS WAF o registro deve começar aws-waf-logs- e terminar com qualquer sufixo desejado. Por exemplo, aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX.

Localização do bucket

Os locais do bucket usam a seguinte sintaxe:

s3://aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX/
Balde ARN

O formato do bucket Amazon Resource Name (ARN) é o seguinte:

arn:aws:s3:::aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX
Localizações de buckets com prefixos

Se você usar prefixos no nome das chaves de objeto para organizar os dados que você armazena nos seus buckets, você pode fornecer seus prefixos nos nomes dos buckets de logs.

nota

Essa opção não está disponível no console. Use o comando AWS WAF APIs,CLI, ou AWS CloudFormation.

Para obter informações sobre o uso de prefixos no Amazon S3, consulte Organização de objetos usando prefixos no Guia do usuário do Amazon Simple Storage Service.

Os locais do bucket com prefixos usam a seguinte sintaxe:

s3://aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX/DOC-EXAMPLE-KEY-NAME-PREFIX/
Pastas e nomes de arquivos do bucket

Dentro de seus buckets, e seguindo os prefixos que você fornecer, seu AWS WAF os registros são gravados em uma estrutura de pastas determinada pelo ID da sua conta, pela região, pelo ACL nome da web e pela data e hora.

AWSLogs/account-id/WAFLogs/Region/web-acl-name/YYYY/MM/dd/HH/mm

Dentro das pastas, os nomes dos arquivos de log seguem um formato semelhante:

account-id_waflogs_Region_web-acl-name_timestamp_hash.log.gz

As especificações de hora usadas na estrutura de pastas e no nome do arquivo de log seguem a especificação de formato de timestamp YYYYMMddTHHmmZ.

Veja abaixo um exemplo de arquivo de log em um bucket do Amazon S3 para um bucket chamado DOC-EXAMPLE-BUCKET. A ferramenta Conta da AWS é11111111111. A web ACL é TEST-WEBACL e a região éus-east-1.

s3://DOC-EXAMPLE-BUCKET/AWSLogs/11111111111/WAFLogs/us-east-1/TEST-WEBACL/2021/10/28/19/50/11111111111_waflogs_us-east-1_TEST-WEBACL_20211028T1950Z_e0ca43b5.log.gz
nota

Seus nomes de bucket para AWS WAF o registro deve começar aws-waf-logs- e terminar com qualquer sufixo desejado.

Permissões necessárias para publicar logs no Amazon S3

A configuração do registro de ACL tráfego da web para um bucket do Amazon S3 requer as seguintes configurações de permissões. Essas permissões são definidas para você quando você usa um dos AWS WAF políticas gerenciadas de acesso total, AWSWAFConsoleFullAccess ouAWSWAFFullAccess. Se você quiser gerenciar um acesso mais refinado ao seu registro e AWS WAF recursos, você mesmo pode definir essas permissões. Para obter informações sobre o gerenciamento de permissões, consulte Gerenciamento de acesso para AWS recursos no Guia do IAM usuário. Para obter informações sobre o AWS WAF políticas gerenciadas, consulteAWS políticas gerenciadas para AWS WAF.

As permissões a seguir permitem que você altere a configuração de ACL registro na web e configure a entrega de registros para seu bucket do Amazon S3. Essas permissões devem ser anexadas ao usuário que você usa para gerenciar. AWS WAF.

nota

Ao definir as permissões listadas abaixo, você pode ver erros no seu AWS CloudTrail registros que indicam acesso negado, mas as permissões estão corretas para AWS WAF exploração madeireira.

{ "Version":"2012-10-17", "Statement":[ { "Action":[ "wafv2:PutLoggingConfiguration", "wafv2:DeleteLoggingConfiguration" ], "Resource":[ "*" ], "Effect":"Allow", "Sid":"LoggingConfigurationAPI" }, { "Sid":"WebACLLogDelivery", "Action":[ "logs:CreateLogDelivery", "logs:DeleteLogDelivery" ], "Resource": "*", "Effect":"Allow" }, { "Sid":"WebACLLoggingS3", "Action":[ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": [ "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket" ], "Effect":"Allow" } ] }

Quando as ações são permitidas em todos AWS recursos, é indicado na política com uma "Resource" configuração de"*". Isso significa que as ações são permitidas em todos AWS recursos que cada ação suporta. Por exemplo, a ação wafv2:PutLoggingConfiguration é suportada somente para wafv2 registrar recursos de configuração.

Por padrão, os buckets do Amazon S3 e os objetos que eles contêm são privados. Somente o proprietário do bucket pode acessá-los. No entanto, o proprietário do bucket pode conceder acesso a outros recursos e usuários por meio da criação de uma política de acesso.

Se o usuário que cria um log de fluxo possui o bucket, o serviço anexa automaticamente as políticas de bucket a seguir para conceder permissão ao log de fluxo para publicar logs nele:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket/AWSLogs/account-id/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["account-id"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:account-id:*"] } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["account-id"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:account-id:*"] } } } ] }
nota

Seus nomes de bucket para AWS WAF o registro deve começar aws-waf-logs- e terminar com qualquer sufixo desejado.

Se o usuário que cria o log não possui o bucket nem tem as permissões GetBucketPolicy e PutBucketPolicy para o bucket, ocorre uma falha na criação do log de fluxo. Nesse caso, o proprietário do bucket deve adicionar manualmente a política anterior ao bucket e especificar a do criador do log. Conta da AWS IDENTIFICAÇÃO. Para obter mais informações, consulte Como adiciono uma política de bucket do S3? no Guia do usuário do Amazon Simple Storage Service. Se o bucket recebe logs de fluxo de várias contas, adicione uma entrada de elemento Resource à instrução de política AWSLogDeliveryWrite para cada conta.

Por exemplo, a política de bucket a seguir permite Conta da AWS 111122223333para publicar registros em um bucket chamadoaws-waf-logs-amzn-s3-demo-bucket:

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

Permissões para usar AWS Key Management Service com uma KMS chave

Se o seu destino de registro usa criptografia do lado do servidor com chaves armazenadas em AWS Key Management Service (SSE-KMS) e você usa uma chave gerenciada pelo cliente (KMSchave), você deve fornecer AWS WAF permissão para usar sua KMS chave. Para fazer isso, você adiciona uma política de KMS chaves à chave do destino escolhido. Isso permite AWS WAF registrando para gravar seus arquivos de log em seu destino.

Adicione a seguinte política de chaves à sua KMS chave para permitir AWS WAF para fazer login no seu bucket do Amazon S3.

{ "Sid": "Allow AWS WAF to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": "kms:GenerateDataKey*", "Resource": "*" }

Permissões necessárias para acessar arquivos de log do Amazon S3

O Amazon S3 usa listas de controle de acesso (ACLs) para gerenciar o acesso aos arquivos de log criados por um AWS WAF tronco. Por padrão, o proprietário do bucket tem permissões FULL_CONTROL em cada arquivo de log. O proprietário da entrega de logs, se é diferente do proprietário do bucket, não tem nenhuma permissão. A conta de entrega de logs tem permissões READ e WRITE. Para obter mais informações, consulte Visão geral da lista de controle de acesso (ACL) no Guia do usuário do Amazon Simple Storage Service.