ACLWeb-Traffic-Protokolle an einen Amazon Simple Storage Service-Bucket senden - AWS WAFAWS Firewall Manager, und AWS Shield Advanced

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

ACLWeb-Traffic-Protokolle an einen Amazon Simple Storage Service-Bucket senden

Dieses Thema enthält Informationen zum Senden Ihrer ACL Web-Traffic-Logs an einen Amazon S3 S3-Bucket.

Anmerkung

Ihnen werden zusätzlich zu den Gebühren für die Nutzung die Protokollierung in Rechnung gestellt AWS WAF Weitere Informationen finden Sie unter Preise für die Protokollierung von ACL Web-Traffic-Informationen..

Um Ihre ACL Web-Traffic-Logs an Amazon S3 zu senden, richten Sie einen Amazon S3 S3-Bucket von demselben Konto aus ein, das Sie für die Verwaltung des Webs verwendenACL, und geben dem Bucket einen Namen, der mit beginntaws-waf-logs-. Wenn Sie die Anmeldung aktivieren AWS WAF, geben Sie den Bucket-Namen an. Informationen zum Erstellen eines Logging-Buckets finden Sie unter Create a Bucket im Amazon Simple Storage Service-Benutzerhandbuch.

Mit dem interaktiven Abfrageservice von Amazon Athena können Sie auf Ihre Amazon S3-Protokolle zugreifen und diese analysieren. Athena macht es einfach, Daten mithilfe von Standard SQL direkt in Amazon S3 zu analysieren. Mit ein paar Aktionen in der AWS Management Console, können Sie Athena auf Ihre in Amazon S3 gespeicherten Daten verweisen und schnell damit beginnen, den Standard SQL zu verwenden, um Ad-hoc-Abfragen auszuführen und Ergebnisse zu erhalten. Weitere Informationen finden Sie unter Abfragen AWS WAF meldet sich im Amazon Athena Athena-Benutzerhandbuch an. Weitere Amazon Athena Athena-Beispielabfragen finden Sie auf der Website unter aws-samples/ waf-log-sample-athena -queries. GitHub

Anmerkung

AWS WAF unterstützt die Verschlüsselung mit Amazon S3 S3-Buckets für den Schlüsseltyp Amazon S3 S3-Schlüssel (SSE-S3) und für AWS Key Management Service (SSE-KMS) AWS KMS keys. AWS WAF unterstützt keine Verschlüsselung für AWS Key Management Service Schlüssel, die verwaltet werden von AWS.

Ihre Website ACLs veröffentlicht ihre Protokolldateien in Intervallen von 5 Minuten im Amazon S3 S3-Bucket. Jede Protokolldatei enthält Aufzeichnungen über den Datenverkehr der letzten 5 Minuten.

Die maximale Dateigröße für eine Protokolldatei beträgt 75 MB. Wenn die Protokolldatei die Dateigrößenbeschränkung innerhalb des 5-Minuten-Zeitraums erreicht, fügt das Protokoll keine weiteren Protokollsätze hinzu, sondern veröffentlicht sie im Amazon-S3-Bucket und erstellt dann eine neue Protokolldatei.

Die Protokolldateien werden komprimiert. Wenn Sie die Dateien über die Amazon-S3-Konsole öffnen, dekomprimiert Amazon S3 die Protokollsätze und zeigt sie an. Wenn Sie die Protokolldateien herunterladen, müssen Sie sie dekomprimieren, um die Datensätze anzuzeigen.

Eine einzelne Protokolldatei enthält verschachtelte Einträge mit mehreren Datensätzen. Um alle Protokolldateien für ein Web zu sehenACL, suchen Sie nach Einträgen, die nach dem ACL Webnamen, der Region und Ihrer Konto-ID zusammengefasst sind.

Benennungsanforderungen und Syntax

Ihre Bucket-Namen für AWS WAF Die Protokollierung muss mit einem beliebigen Suffix beginnen aws-waf-logs- und kann mit einem beliebigen Suffix enden. Beispiel, aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX.

Standort des Buckets

Die Speicherorte der Buckets verwenden die folgende Syntax:

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

Das Format des Buckets Amazon Resource Name (ARN) lautet wie folgt:

arn:aws:s3:::aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX
Bucket-Standorte mit Präfixen

Wenn Sie Präfixe in Ihrem Objektschlüsselnamen verwenden, um die Daten zu organisieren, die Sie in Ihren Buckets speichern, können Sie Ihre Präfixe in Ihren Logging-Bucket-Namen angeben.

Anmerkung

Diese Option ist nicht über die Konsole verfügbar. Verwenden Sie den AWS WAF APIs,CLI, oder AWS CloudFormation.

Informationen zur Verwendung von Präfixen in Amazon S3 finden Sie unter Objekte mithilfe von Präfixen organisieren im Amazon Simple Storage Service-Benutzerhandbuch.

Die Bucket-Standorte mit Präfixen verwenden die folgende Syntax:

s3://aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX/DOC-EXAMPLE-KEY-NAME-PREFIX/
Bucket-Ordner und Dateinamen

In Ihren Buckets und nach allen von Ihnen angegebenen Präfixen befinden sich Ihre AWS WAF Logs werden in einer Ordnerstruktur geschrieben, die durch Ihre Konto-ID, die Region, den ACL Webnamen sowie Datum und Uhrzeit bestimmt wird.

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

Innerhalb der Ordner folgen die Namen der Protokolldateien einem ähnlichen Format:

account-id_waflogs_Region_web-acl-name_timestamp_hash.log.gz

Die in der Ordnerstruktur und im Namen der Protokolldatei verwendeten Zeitangaben entsprechen der Spezifikation des Zeitstempelformats YYYYMMddTHHmmZ.

Das folgende Beispiel zeigt eine Protokolldatei in einem Amazon-S3-Bucket für einen Bucket mit dem Namen DOC-EXAMPLE-BUCKET. Das Tool AWS-Konto ist11111111111. Das Web ACL ist TEST-WEBACL und die Region istus-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
Anmerkung

Ihre Bucket-Namen für AWS WAF Die Protokollierung muss mit einem beliebigen Suffix beginnen aws-waf-logs- und kann mit einem beliebigen Suffix enden.

Zum Veröffentlichen von Protokollen auf Amazon S3 sind Berechtigungen erforderlich

Die Konfiguration der ACL Web-Traffic-Protokollierung für einen Amazon S3 S3-Bucket erfordert die folgenden Berechtigungseinstellungen. Diese Berechtigungen werden für Sie festgelegt, wenn Sie eine der folgenden Optionen verwenden AWS WAF Verwaltete Richtlinien mit vollem Zugriff AWSWAFConsoleFullAccess oderAWSWAFFullAccess. Wenn Sie den Zugriff auf Ihre Protokollierung detaillierter verwalten möchten und AWS WAF Ressourcen, Sie können diese Berechtigungen selbst festlegen. Informationen zur Verwaltung von Berechtigungen finden Sie unter Zugriffsverwaltung für AWS Ressourcen im IAMBenutzerhandbuch. Für Informationen über die AWS WAF verwaltete Richtlinien finden Sie unterAWS verwaltete Richtlinien für AWS WAF.

Mit den folgenden Berechtigungen können Sie die Konfiguration der ACL Webprotokollierung ändern und die Protokollzustellung an Ihren Amazon S3 S3-Bucket konfigurieren. Diese Berechtigungen müssen dem Benutzer zugewiesen werden, den Sie zur Verwaltung verwenden AWS WAF.

Anmerkung

Wenn Sie die unten aufgeführten Berechtigungen festlegen, werden möglicherweise Fehler in Ihrem AWS CloudTrail Protokolle, die darauf hinweisen, dass der Zugriff verweigert wurde, die Berechtigungen jedoch korrekt sind für AWS WAF Protokollierung.

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

Wenn Aktionen für alle erlaubt sind AWS Ressourcen, dies ist in der Richtlinie mit der "Resource" Einstellung von angegeben"*". Das bedeutet, dass die Aktionen für alle zulässig sind AWS Ressourcen, die jede Aktion unterstützt. Die Aktion wafv2:PutLoggingConfiguration wird beispielsweise nur für wafv2-Protokollkonfigurationsressourcen unterstützt.

Standardmäßig sind Amazon-S3-Buckets und die darin enthaltenen Objekte privat. Nur der Bucket-Besitzer kann auf den Bucket und die darin gespeicherten Objekte zugreifen. Der Bucket-Besitzer kann jedoch anderen Ressourcen und Benutzern Zugriffsberechtigungen gewähren, indem er eine Zugriffsrichtlinie schreibt.

Wenn der Benutzer, der das Protokoll erstellt, den Bucket besitzt, fügt der Service automatisch die folgende Richtlinie an den Bucket an, um dem Protokoll die Berechtigung zum Veröffentlichen von Protokollen darin zu erteilen.

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

Ihre Bucket-Namen für AWS WAF Die Protokollierung muss mit einem beliebigen Suffix beginnen aws-waf-logs- und kann mit einem beliebigen Suffix enden.

Wenn der Benutzer, der das Protokoll erstellt, nicht Eigentümer des Buckets ist, hat er keine GetBucketPolicy- und PutBucketPolicy-Berechtigungen für den Bucket und das Protokoll kann nicht erstellt werden. In diesem Fall muss der Bucket-Besitzer die vorherige Richtlinie manuell zum Bucket hinzufügen und die Richtlinie des Log-Erstellers angeben AWS-Konto ID. Weitere Informationen erhalten Sie unter Wie füge ich einen S3 Bucket hinzu? im Benutzerhandbuch zu Amazon Simple Storage Service. Wenn der Bucket Protokolle von mehreren Konten erhält, fügen Sie der AWSLogDeliveryWrite-Richtlinienanweisung für jedes Konto einen Resource-Elementeintrag hinzu.

Die folgende Bucket-Richtlinie ermöglicht beispielsweise AWS-Konto 111122223333um Logs in einem Bucket mit dem Namen zu veröffentlichenaws-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:*"] } } } ] }

Berechtigungen für die Verwendung AWS Key Management Service mit einem KMS Schlüssel

Wenn Ihr Protokollierungsziel serverseitige Verschlüsselung mit Schlüsseln verwendet, die in gespeichert sind AWS Key Management Service (SSE-KMS) und Sie verwenden einen vom Kunden verwalteten Schlüssel (KMSSchlüssel), müssen Sie Folgendes angeben AWS WAF Erlaubnis zur Verwendung Ihres KMS Schlüssels. Dazu fügen Sie dem Schlüssel für das von Ihnen gewählte Ziel eine KMS wichtige Richtlinie hinzu. Das erlaubt AWS WAF Protokollierung, um Ihre Protokolldateien an Ihr Ziel zu schreiben.

Fügen Sie Ihrem KMS Schlüssel die folgende wichtige Richtlinie hinzu, um dies zuzulassen AWS WAF um sich bei Ihrem Amazon S3 S3-Bucket anzumelden.

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

Für den Zugriff auf Amazon S3 S3-Protokolldateien sind Berechtigungen erforderlich

Amazon S3 verwendet Zugriffskontrolllisten (ACLs), um den Zugriff auf die Protokolldateien zu verwalten, die von einem AWS WAF Protokoll. Standardmäßig hat der Bucket-Eigentümer FULL_CONTROL-Berechtigungen für jede Protokolldatei. Der Protokollbereitstellungseigentümer hat keine Berechtigungen, wenn er nicht gleichzeitig der Bucket-Eigentümer ist. Das Konto für die Protokollbereitstellung hat READ- und WRITE-Berechtigungen. Weitere Informationen finden Sie unter Übersicht über die Zugriffskontrollliste (ACL) im Amazon Simple Storage Service-Benutzerhandbuch.