View a markdown version of this page

An Amazon S3 gesendete Protokolle - CloudWatch Amazon-Protokolle

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.

An Amazon S3 gesendete Protokolle

Ein AWS CLI-Beispiel finden Sie unterEine Lieferung an Amazon S3 erstellen.

Benutzerberechtigungen

Um das Senden von Protokollen an Amazon S3 zu aktivieren, müssen Sie mit den folgenden Berechtigungen angemeldet sein.

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

Amazon S3 S3-Bucket-Ressourcenrichtlinie

Der S3-Bucket, an den die Protokolle gesendet werden, muss über eine Ressourcenrichtlinie verfügen, die bestimmte Berechtigungen enthält. Wenn der Bucket derzeit keine Ressourcenrichtlinie hat und der Benutzer, der die Protokollierung einrichtet, die S3:GetBucketPolicy- und S3:PutBucketPolicy-Berechtigungen für den Bucket hat, dann erstellt AWS automatisch die folgende Richtlinie dafür, wenn Sie mit dem Senden der Protokolle an Amazon S3 beginnen.

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

Geben Sie in der vorherigen Richtlinie für aws:SourceAccount die Liste der Konto-IDs an, für die Protokolle an diesen Bucket übermittelt werden. Geben Sie für aws:SourceArn die Liste der ARNs der Ressource, die die Protokolle generiert, im Format arn:aws:logs:source-region:source-account-id:* an.

Wenn der Bucket über eine Ressourcenrichtlinie verfügt, diese Richtlinie jedoch nicht die in der vorherigen Richtlinie gezeigte Anweisung enthält und der Benutzer, der die Protokollierung einrichtet, die S3:GetBucketPolicy- und S3:PutBucketPolicy-Berechtigungen für den Bucket hat, wird diese Anweisung an die Ressourcenrichtlinie des Bucket angehängt.

Anmerkung

In einigen Fällen werden möglicherweise AccessDenied Fehler angezeigt, AWS CloudTrail wenn die s3:ListBucket Genehmigung nicht erteilt wurdedelivery.logs.amazonaws.com. Um diese Fehler in Ihren CloudTrail Protokollen zu vermeiden, müssen Sie die s3:ListBucket Erlaubnis erteilen delivery.logs.amazonaws.com und die angegebenen Condition Parameter zusammen mit den in der vorherigen Bucket-Richtlinie festgelegten s3:GetBucketAcl Berechtigungen angeben. Zur Vereinfachung können Sie AWSLogDeliveryAclCheck direkt auf “Action”: [“s3:GetBucketAcl”, “s3:ListBucket”] aktualisieren, anstatt eine neue Anweisung (Statement) zu erstellen.

Serverseitige Verschlüsselung im Amazon-S3-Bucket

Sie können die Daten in Ihrem Amazon S3 S3-Bucket schützen, indem Sie die serverseitige Verschlüsselung aktivieren. Sie können S3-managed Amazon-Schlüssel (SSE-S3) oder einen in AWS Key Management Service (SSE-KMS) gespeicherten AWS KMS Schlüssel verwenden. Weitere Informationen finden Sie unter Schützen von Daten mithilfe serverseitiger Verschlüsselung.

Wenn Sie möchten SSE-S3, ist keine zusätzliche Konfiguration erforderlich. Amazon S3 verarbeitet den Verschlüsselungsschlüssel.

Vom Kunden verwalteter Schlüssel erforderlich

Wenn Sie möchten SSE-KMS, müssen Sie einen vom Kunden verwalteten Schlüssel verwenden. Sie können keinen AWS verwalteten Schlüssel verwenden. Wenn Sie die Verschlüsselung mit einem AWS verwalteten Schlüssel konfigurieren, liefert CloudWatch Logs die Protokolle in einem unlesbaren Format.

Geben Sie für SSE-KMS den Amazon-Ressourcennamen (ARN) des Schlüssels an, wenn Sie die Bucket-Verschlüsselung aktivieren. Fügen Sie Folgendes zur Schlüsselrichtlinie hinzu (nicht zur Bucket-Richtlinie für Ihren S3-Bucket), damit das Konto für die Protokollzustellung in Ihren S3-Bucket schreiben kann.

{ "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": ["012345678901"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:012345678901:delivery-source:*"] } } }

Geben Sie für aws:SourceAccount die Konto-IDs an, deren Logs an diesen Bucket übermittelt werden. Geben Sie für aws:SourceArn die Lieferquellen-ARNs im folgenden Format an:arn:aws:logs:source-region:source-account-id:delivery-source:*.

Amazon S3 S3-Objektschlüsselformat

Bei Lieferungen, die V2-Berechtigungen verwenden, wird der Amazon S3 S3-Objektschlüssel durch das Zielpräfix, den Protokolltyp, den Suffixpfad der Lieferung und ob Hive-compatible Pfade aktiviert sind, bestimmt. Der genaue vom Service definierte Pfad und die unterstützten Suffixvariablen variieren je nach Protokolltyp.

Zielpräfix

Ein optionaler Pfad, den Sie beim Aufrufen PutDeliveryDestinationan den Bucket-ARN anhängen. Beispiel, arn:aws:s3:::bucket-name/MyLogPrefix. Gelieferte Objekte beginnen mit diesem Präfix, gefolgt vom vom Dienst definierten Pfad des Protokolltyps, z. B. AWSLogs/source-account-id/service-name/ Bei der CloudFront Standardprotokollierung (v2) ersetzt das Zielpräfix diesen Standardpfad, anstatt ihm vorzugreifen.

Suffixpfad

Ein optionaler Pfad, den Sie für eine einzelne Lieferung in seiner S3DeliveryConfigurationKonfiguration konfigurieren. Ein Suffix kann statischen Text und Variablen enthalten. Um die Variablen zu finden, die von einem Protokolltyp unterstützt werden, rufen Sie auf DescribeConfigurationTemplatesund überprüfen SieallowedSuffixPathFields. Wenn Sie keinen Suffixpfad angeben, wird der Standard-Suffixpfad des Protokolltyps verwendet, sofern einer verfügbar ist.

Hive-compatible Pfad

Wenn enableHiveCompatiblePath jatrue, werden unterstützte Variablen in einer suffixPath expliziten Datei als gerendertkey=value. Bei Protokolltypen wie Application Load Balancer Balancer-Zugriffsprotokollen ändert diese Formatierung auch das vom Dienst definierte Kontosegment. Beispielsweise wird AWSLogs/source-account-id/ zu AWSLogs/aws-account-id=source-account-id/.

Wenn Sie dies weglassensuffixPath, gilt die Hive-compatible Formatierung nur, wenn der Standard-Suffixpfad des Protokolltyps dies unterstützt. Beispielsweise unterstützen die Access Logs von Application Load Balancer diese Formatierung. Andere Protokolltypen, darunter Amazon S3 S3-Serverzugriffsprotokolle, behalten ihr ursprüngliches Standardsuffix in Nicht-Hive-Form bei, einschließlich Ressourcen- und Datumsverzeichnissen.

Geben Sie für einen Protokolltyp, dessen Standardeinstellung keine Hive-compatible Formatierung unterstützt, ein gültiges Protokoll an, suffixPath das unterstützte Variablen enthält. Ein explizites Suffix ersetzt das Standardsuffix. Fügen Sie die Ressourcen- und Datumsvariablen hinzu, die Sie benötigen, und verwenden Sie dabei den Protokolltyp vonallowedSuffixPathFields. DescribeConfigurationTemplates

Die folgenden Beispiele zeigen den Anfang eines Application Load Balancer Balancer-Zugriffsprotokollobjektschlüssels für das Konto in. 111122223333 us-east-1 Sofern nicht anders angegeben, gehen die Beispiele von keinem Zielpräfix aus.

Konfiguration Anfang des Objektschlüssels
Hive-compatible Pfad deaktiviert, Suffix weggelassen AWSLogs/111122223333/elasticloadbalancing/us-east-1/2026/09/10/
Hive-compatible Pfad aktiviert, Suffix weggelassen AWSLogs/aws-account-id=111122223333/elasticloadbalancing/region=us-east-1/year=2026/month=09/day=10/
Hive-compatible Pfad aktiviert, Suffix myFolder/{yyyy}/{MM}/{dd} AWSLogs/aws-account-id=111122223333/elasticloadbalancing/myFolder/year=2026/month=09/day=10/
Hive-compatible Pfad aktiviert, Suffix myFolder/ AWSLogs/111122223333/elasticloadbalancing/myFolder/
ZielpräfixMyLogPrefix, Hive-compatible Pfad deaktiviert, Suffix weggelassen MyLogPrefix/AWSLogs/111122223333/elasticloadbalancing/us-east-1/2026/09/10/
Statische Suffixpfade und Bucket-Berechtigungen

Bei Protokolltypen wie Application Load Balancer Balancer-Zugriffsprotokollen ermöglicht ein suffixPath Text, der nur statischen Text enthält, keine Hive-compatible Formatierung des dienstdefinierten Kontopräfixes. myFolder/Verwendet beispielsweise das einfache Kontopräfix, das in der Tabelle dargestellt ist. Die Zustellung schlägt fehl, wenn CloudWatch Logs versucht, unter dem einfachen Kontopräfix zu schreiben und die Bucket-Richtlinie nur das Hive-compatible Präfix zulässt.

Wenn Sie eine Application Load Balancer Balancer-Lieferung mit der enableHiveCompatiblePath Einstellung s3:PutObject auf erstellentrue, gewährt die automatisch erstellte Bucket-Richtlinie das Hive-compatible Präfix. Fügen Sie mindestens eine unterstützte Variable aus dem Protokolltyp einsuffixPath, oder lassen Sie sie suffixPath weg, wenn ein Protokolltyp, dessen Standardsuffixpfad die Formatierung unterstützt, verwendet wird. allowedSuffixPathFields Hive-compatible

CloudFront Standard Logging (v2) formatiert sein Standardpräfix unabhängig von den Variablen in. suffixPath

Anmerkung

CloudFront dokumentiert das Verhalten des standardmäßigen Logging-Pfads (v2) und Beispiele in Logs an Amazon S3 senden.

Anmerkung

Die Aktualisierung des Suffixpfads oder der Hive-compatible Einstellung wirkt sich auf nachfolgende Lieferungen aus, nachdem die Konfiguration weitergegeben wurde. Bestehende Objekte werden nicht verschoben. Sie können den ARN eines Ziels, einschließlich seines Präfixes, nicht ändern, solange aktive Lieferungen auf dieses Ziel verweisen.

Die Bucket-Richtlinie muss s3:PutObject das resultierende Präfix berücksichtigen. Wenn Sie die Bucket-Richtlinie verwalten, behalten Sie die aws:SourceAccount in der Amazon S3 S3-Bucket-Richtlinie angegebenen aws:SourceArn Bedingungen bei Amazon S3 S3-Bucket-Ressourcenrichtlinie und gewähren Sie nur dem erforderlichen Präfix Zugriff.