Amazon-S3-Server-Zugriffsprotokollformat - Amazon Simple Storage Service

Amazon-S3-Server-Zugriffsprotokollformat

Die Server-Zugriffsprotokollierung bietet detaillierte Aufzeichnungen über die Anfragen, die an einen Amazon-S3-Bucket gestellt wurden. Sie können Server-Zugriffsprotokolle für Sicherheits- und Zugriffsprüfungen verwenden, um mehr über Ihren Kundenstamm zu erfahren oder um Ihre Amazon-S3-Rechnung besser zu verstehen. Dieser Abschnitt beschreibt das Format und andere Details zu Amazon-S3-Serverzugriffprotokolldateien.

Die Server-Zugriffsprotokolldateien bestehen aus einer Reihe von durch Zeilenschaltungen voneinander getrennten Protokolldatensätzen. Jeder Protokolldatensatz stellt eine Anforderung dar und besteht aus durch Leerzeichen voneinander getrennter Felder.

Nachfolgend wird ein Beispielprotokoll mit sechs Protokolldatensätzen gezeigt.

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /awsexamplebucket1?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket1.s3.us-west-1.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /awsexamplebucket1?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 9vKBE6vMhrNiWHZmb2L0mXOcqPGzQOI5XLnCtZNPxev+Hf+7tpT6sxDwDty4LHBUOZJG96N1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket1.s3.us-west-1.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /awsexamplebucket1?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - BNaBsXZQQDbssi6xMBdBU2sLt+Yf5kZDmeBUP35sFoKa3sLLeMC78iwEIWxs99CRUrbS4n11234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket1.s3.us-west-1.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket1 [06/Feb/2019:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /awsexamplebucket1?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - Ke1bUcazaN1jWuUlPJaxF64cQVpUEhoZKEG/hmy/gijN/I1DeWqDfFvnpybfEseEME/u7ME1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader awsexamplebucket1.s3.us-west-1.amazonaws.com TLSV1.1 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be awsexamplebucket1 [06/Feb/2019:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /awsexamplebucket1/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 10S62Zv81kBW7BB6SX4XJ48o6kpcl6LPwEoizZQQxJd5qDSCTLX0TgS37kYUBKQW3+bPdrg1234= SigV4 ECDHE-RSA-AES128-SHA AuthHeader awsexamplebucket1.s3.us-west-1.amazonaws.com TLSV1.1
Anmerkung

Jedes Feld kann auf - gesetzt werden, um darauf hinzuweisen, dass die Daten unbekannt oder nicht verfügbar waren, oder dass das Feld für diese Anforderung nicht relevant war.

Protokolldatensatzfelder

In der folgenden Liste werden die wichtigsten Protokolldatensatzfelder beschrieben.

Bucket-Eigentümer

Die kanonische Benutzer-ID des Eigentümer des Quell-Buckets. Die kanonische Benutzer-ID ist eine andere Form der AWS-Konto-ID. Weitere Informationen zur kanonischen Benutzer-ID finden Sie unter AWS-Konto-Kontenbezeichner in der AWS Allgemeinen Referenz. Informationen darüber, wie Sie die kanonische Benutzer-ID für Ihr Konto finden, finden Sie unter Finding the canonical user ID for your AWS-Konto (Die kanonische Benutzer-ID für Ihr AWS-Konto finden).

Beispieleintrag

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Bucket

Der Name des Buckets, für den die Anforderung verarbeitet wurde. Wenn das System eine fehlerhaft aufgebaute Anforderung erhält und den Bucket nicht bestimmen kann, erscheint die Anforderung nicht in einem Server-Zugriffsprotokoll.

Beispieleintrag

awsexamplebucket1
Zeit

Die Uhrzeit, zu der die Anforderung empfangen wurde. Diese Datums- und Uhrzeitangaben entsprechen der Zeitzone UTC (Coordinated Universal Time). Das Format unter Verwendung der strftime()-Terminologie, nämlich: [%d/%b/%Y:%H:%M:%S %z]

Beispieleintrag

[06/Feb/2019:00:00:38 +0000]
Externe IP

Die offensichtliche Internetadresse des Auftraggebers. Auf dem Weg vorhandene Proxy-Server und Firewalls könnten die tatsächliche Adresse des Computers verbergen, der die Anforderung gestellt hat.

Beispieleintrag

192.0.2.3
Auftraggeber

Die kanonische Benutzer-ID des Auftraggebers, oder - für nicht authentifizierte Anforderungen. Wenn der Anforderer ein IAM-Benutzer war, gibt dieses Feld den IAM-Benutzernamen des Anforderers zusammen mit dem AWS-Root-Konto zurück, zu dem der IAM-Benutzer gehört. Diese ID ist dieselbe, die für den Zugriff zu Kontrollzwecken verwendet wird.

Beispieleintrag

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Anforderungs-ID

Eine von Amazon S3 generierte Zeichenfolge, die jede Anforderung eindeutig identifiziert.

Beispieleintrag

3E57427F33A59F07
Operation

Die hier aufgeführte Operation ist deklariert al SOAP.operation, REST.HTTP_method.resource_type, WEBSITE.HTTP_method.resource_type oder BATCH.DELETE.OBJECT, oder S3.action.resource_type für Lebenszyklus und Protokollieren.

Beispieleintrag

REST.PUT.OBJECT
Schlüssel

Der "Schlüssel"-Anteil der Anforderung, URL-codiert, oder "-", wenn die Operation keinen Schlüsselparameter entgegennimmt.

Beispieleintrag

/photos/2019/08/puppy.jpg
Anforderungs-URI

Der Teil der Anforderungs-URI der HTTP-Anforderungsmeldung.

Beispieleintrag

"GET /awsexamplebucket1/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
HTTP-Status

Der numerische HTTP-Statuscode der Antwort.

Beispieleintrag

200
Fehlercode

Der Amazon S3 Fehlercode oder „-“, wenn kein Fehler aufgetreten ist.

Beispieleintrag

NoSuchBucket
Gesendete Bytes

Die Anzahl der in der Antwort gesendeten Bytes, ausgenommen HTTP-Protokoll-Overhead, oder "-", falls null.

Beispieleintrag

2662992
Objektgröße

Die Gesamtgröße des betreffenden Objekts.

Beispieleintrag

3462992
Gesamtzeit

Die Anzahl der Millisekunden, wie lange die Anforderung aus Perspektive des Servers unterwegs war. Dieser Wert wird ab der Zeit gemessen, zu der Ihre Anforderung empfangen wurde, bis zu der Zeit, zu der das letzte Byte der Antwort gesendet wurde. Messungen aus der Perspektive des Clients dauern möglicherweise länger aufgrund der Netzwerklatenz.

Beispieleintrag

70
Umschlagzeit

Die Anzahl der Millisekunden, die Amazon S3 gebraucht hat, Ihre Anfrage zu verarbeiten. Dieser Wert wird ab der Zeit gemessen, zu der das letzte Byte Ihrer Anforderung empfangen wurde, bis zu der Zeit, zu der das erste Byte der Antwort gesendet wurde.

Beispieleintrag

10
Referer

Der Wert des HTTP Referrer-Headers, falls vorhanden. HTTP-Benutzeragenten (z. B. Browser) setzen diesen Header normalerweise auf die URL der verlinkenden oder einbettenden Seite, wenn eine Anforderung erfolgt.

Beispieleintrag

"http://www.amazon.com/webservices"
User-Agent

Der Wert des HTTP-User-Agent-Headers.

Beispieleintrag

"curl/7.15.1"
Versions-ID

Die Versions-ID der Anforderung, oder "-", wenn die Operation keinen versionId-Parameter entgegennimmt.

Beispieleintrag

3HL4kqtJvjVBH40Nrjfkd
Host-ID

Die fortschrittliche Anforderungs-ID von x-amz-id-2 oder Amazon S3.

Beispieleintrag

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
Signature Version

Die Signaturversion, SigV2 oder SigV4, die für die Authentifizierung der Anforderung verwendet wurde, bzw. ein - für nicht authentifizierte Anforderungen.

Beispieleintrag

SigV2
Cipher Suite

Das Secure Sockets Layer(SSL)-Verschlüsselungsverfahren, das für die HTTPS-Anforderung ausgehandelt wurde bzw. ein - für HTTP.

Beispieleintrag

ECDHE-RSA-AES128-GCM-SHA256
Authentifizierungstyp

Die Art der verwendeten Anforderungsauthentifizierung, AuthHeader für Authentifizierungsköpfe, QueryString für die Anforderungszeichenfolge (vorsignierte URL) oder ein - für nicht authentifizierte Anforderungen.

Beispieleintrag

AuthHeader
Host Header

Der für die Verbindung mit Amazon S3 verwendete Endpunkt.

Beispieleintrag

s3.us-west-2.amazonaws.com

Einige ältere Regionen unterstützen Legacy-Endpunkte. Sie sehen diese Endpunkte möglicherweise in Ihren Serverzugriffsprotokollen oder AWS CloudTrail-Protokollen. Weitere Informationen finden Sie unter Legacy-Endpunkte. Eine vollständige Liste der Amazon-S3-Regionen und -Endpunkte finden Sie unter Amazon-S3-Endpunkte und -Quoten in der Allgemeinen Referenz zu Amazon Web Services.

TLS-Version

Die vom Client ausgehandelte Transport Layer Security(TLS)-Version. Einer der folgenden Werte: TLSv1, TLSv1.1, TLSv1.2; oder -, wenn TLS nicht verwendet wurde.

Beispieleintrag

TLSv1.2
Zugriffspunkt-ARN (Amazon-Ressourcenname)

Der Amazon-Ressourcenname (ARN) des Zugriffspunkts der Anforderung. Wenn der Zugriffspunkt-ARN fehlerhaft ist oder nicht verwendet wird, enthält das Feld ein „-“. Weitere Hinweise zu Zugriffspunkten finden Sie unter Verwenden von Zugriffspunkten. Weitere Informationen zu ARNs finden Sie im Thema auf Amazon-Ressourcenname (ARN) im AWS-Referenzhandbuch.

Beispieleintrag

arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP

Zusätzliche Protokollierung für KopierVorgänge

Eine Kopieroperation umfasst ein GET und ein PUT. Aus diesem Grund zeichnen wir für eine Kopieroperation zwei Datensätze auf. Der vorherige Abschnitt beschreibt die Felder für den PUT-Teil der Operation. Die folgende Liste beschreibt die Felder in dem Datensatz, die sich auf den GET-Teil der Kopieroperation beziehen.

Bucket-Eigentümer

Die kanonische Benutzer-ID des Buckets, der das kopierte Objekt speichert. Die kanonische Benutzer-ID ist eine andere Form der AWS-Konto-ID. Weitere Informationen zur kanonischen Benutzer-ID finden Sie unter AWS-Konto-Kontenbezeichner in der AWS Allgemeinen Referenz. Informationen darüber, wie Sie die kanonische Benutzer-ID für Ihr Konto finden, finden Sie unter Finding the canonical user ID for your AWS-Konto (Die kanonische Benutzer-ID für Ihr AWS-Konto finden).

Beispieleintrag

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Bucket

Die Name des Buckets, der das kopierte Objekt speichert.

Beispieleintrag

awsexamplebucket1
Zeit

Die Uhrzeit, zu der die Anforderung empfangen wurde. Diese Datums- und Uhrzeitangaben entsprechen der Zeitzone UTC (Coordinated Universal Time). Das Format unter Verwendung der strftime()-Terminologie, nämlich: [%d/%B/%Y:%H:%M:%S %z]

Beispieleintrag

[06/Feb/2019:00:00:38 +0000]
Externe IP

Die offensichtliche Internetadresse des Auftraggebers. Auf dem Weg vorhandene Proxy-Server und Firewalls könnten die tatsächliche Adresse des Computers verbergen, der die Anforderung gestellt hat.

Beispieleintrag

192.0.2.3
Auftraggeber

Die kanonische Benutzer-ID des Auftraggebers, oder - für nicht authentifizierte Anforderungen. Wenn der Anforderer ein IAM-Benutzer war, gibt dieses Feld den IAM-Benutzernamen des Anforderers zusammen mit dem AWS-Root-Konto zurück, zu dem der IAM-Benutzer gehört. Diese ID ist dieselbe, die für den Zugriff zu Kontrollzwecken verwendet wird.

Beispieleintrag

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Anforderungs-ID

Eine von Amazon S3 generierte Zeichenfolge, die jede Anforderung eindeutig identifiziert.

Beispieleintrag

3E57427F33A59F07
Operation

Die hier aufgeführte Operation ist deklariert al SOAP.operation, REST.HTTP_method.resource_type, WEBSITE.HTTP_method.resource_type oder BATCH.DELETE.OBJECT.

Beispieleintrag

REST.COPY.OBJECT_GET
Schlüssel

Der "Schlüssel" des kopierten Objekts, oder "-", wenn die Operation keinen Schlüsselparameter entgegennimmt.

Beispieleintrag

/photos/2019/08/puppy.jpg
Anforderungs-URI

Der Teil der Anforderungs-URI der HTTP-Anforderungsmeldung.

Beispieleintrag

"GET /awsexamplebucket1/photos/2019/08/puppy.jpg?x-foo=bar"
HTTP-Status

Der numerische HTTP-Statuscode des GET-Teils der Kopieroperation.

Beispieleintrag

200
Fehlercode

Der Amazon-S3-Fehlercode des GET-Teils des Kopiervorgangs, oder „-“, wenn kein Fehler aufgetreten ist.

Beispieleintrag

NoSuchBucket
Gesendete Bytes

Die Anzahl der in der Antwort gesendeten Bytes, ausgenommen HTTP-Protokoll-Overhead, oder "-", falls null.

Beispieleintrag

2662992
Objektgröße

Die Gesamtgröße des betreffenden Objekts.

Beispieleintrag

3462992
Gesamtzeit

Die Anzahl der Millisekunden, wie lange die Anforderung aus Perspektive des Servers unterwegs war. Dieser Wert wird ab der Zeit gemessen, zu der Ihre Anforderung empfangen wurde, bis zu der Zeit, zu der das letzte Byte der Antwort gesendet wurde. Messungen aus der Perspektive des Clients dauern möglicherweise länger aufgrund der Netzwerklatenz.

Beispieleintrag

70
Umschlagzeit

Die Anzahl der Millisekunden, die Amazon S3 gebraucht hat, Ihre Anfrage zu verarbeiten. Dieser Wert wird ab der Zeit gemessen, zu der das letzte Byte Ihrer Anforderung empfangen wurde, bis zu der Zeit, zu der das erste Byte der Antwort gesendet wurde.

Beispieleintrag

10
Referer

Der Wert des HTTP Referrer-Headers, falls vorhanden. HTTP-Benutzeragenten (z. B. Browser) setzen diesen Header normalerweise auf die URL der verlinkenden oder einbettenden Seite, wenn eine Anforderung erfolgt.

Beispieleintrag

"http://www.amazon.com/webservices"
User-Agent

Der Wert des HTTP-User-Agent-Headers.

Beispieleintrag

"curl/7.15.1"
Versions-ID

Die Versions-ID des kopierten Objekts, oder „-“, wenn der x-amz-copy-source-Header keinen versionId-Parameter als Teil der Kopierquelle angegeben hat.

Beispieleintrag

3HL4kqtJvjVBH40Nrjfkd
Host-ID

Die fortschrittliche Anforderungs-ID von x-amz-id-2 oder Amazon S3.

Beispieleintrag

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
Signature Version

Die Signaturversion, SigV2 oder SigV4, die für die Authentifizierung der Anforderung verwendet wurde, bzw. ein - für nicht authentifizierte Anforderungen.

Beispieleintrag

SigV2
Cipher Suite

Das Secure Sockets Layer(SSL)-Verschlüsselungsverfahren, das für die HTTPS-Anforderung ausgehandelt wurde bzw. ein - für HTTP.

Beispieleintrag

ECDHE-RSA-AES128-GCM-SHA256
Authentifizierungstyp

Die Art der verwendeten Anforderungsauthentifizierung, AuthHeader für Authentifizierungsköpfe, QueryString für die Anforderungszeichenfolge (vorsignierte URL) oder ein - für nicht authentifizierte Anforderungen.

Beispieleintrag

AuthHeader
Host Header

Der für die Verbindung mit Amazon S3 verwendete Endpunkt.

Beispieleintrag

s3.us-west-2.amazonaws.com

Einige ältere Regionen unterstützen Legacy-Endpunkte. Sie sehen diese Endpunkte möglicherweise in Ihren Serverzugriffsprotokollen oder AWS CloudTrail-Protokollen. Weitere Informationen finden Sie unter Legacy-Endpunkte. Eine vollständige Liste der Amazon-S3-Regionen und -Endpunkte finden Sie unter Amazon-S3-Endpunkte und -Quoten in der Allgemeinen Referenz zu Amazon Web Services.

TLS-Version

Die vom Client ausgehandelte Transport Layer Security(TLS)-Version. Einer der folgenden Werte: TLSv1, TLSv1.1, TLSv1.2; oder -, wenn TLS nicht verwendet wurde.

Beispieleintrag

TLSv1.2
Zugriffspunkt-ARN (Amazon-Ressourcenname)

Der Amazon-Ressourcenname (ARN) des Zugriffspunkts der Anforderung. Wenn der Zugriffspunkt-ARN fehlerhaft ist oder nicht verwendet wird, enthält das Feld ein „-“. Weitere Hinweise zu Zugriffspunkten finden Sie unter Verwenden von Zugriffspunkten. Weitere Informationen zu ARNs finden Sie im Thema auf Amazon-Ressourcenname (ARN) im AWS-Referenzhandbuch.

Beispieleintrag

arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP

Benutzerdefinierte Zugriffsprotokollinformationen

Sie können benutzerdefinierte Informationen angeben, die im Zugriffsprotokolldatensatz für eine Anforderung gespeichert werden. Fügen Sie der URL für die Anforderung dazu einen benutzerdefinierten Abfragefolgenkettenparameter hinzu. Amazon S3 ignoriert Abfrage-Zeichenfolgenparameter, die mit „x-“ beginnen, aber nimmt diese in den Zugriffsprotokoll-Datensatz für die Anfrage auf, als Teil des Request-URI-Felds des Protokolldatensatzes.

Beispielsweise verhält sich die Anfrage GET für "s3.amazonaws.com/awsexamplebucket1/photos/2019/08/puppy.jpg?x-user=johndoe" genauso wie die Anfrage für "s3.amazonaws.com/awsexamplebucket1/photos/2019/08/puppy.jpg", abgesehen davon, dass die Zeichenfolge "x-user=johndoe" in das Feld Request-URI des entsprechenden Protokolldatensatzes eingefügt wird. Diese Funktionalität steht nur auf der REST-Schnittstelle zur Verfügung.

Aspekte zur Programmierung des erweiterbaren Serverzugriff-Protokollformats

Möglicherweise erweitern wir gelegentlich das Zugriffsprotokoll-Datensatzformat, indem wir am Ende jeder Zeile neue Felder hinzufügen. Daher sollten Sie jeden Code, der Server-Zugriffsprotokolle analysiert, so schreiben, dass er angefügte Felder verarbeiten kann, die er möglicherweise nicht versteht.