Amazon Simple Storage Service
Entwicklerhandbuch (API-Version 2006-03-01)

Amazon S3-Serverzugriff-Protokollformat

Dieser Abschnitt beschreibt die Amazon S3-Serverzugriffprotokolldateien.

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

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-Kennungen. Informationen darüber, wo Sie die kanonische Benutzer-ID für Ihr Konto finden, finden Sie unter Suchen Ihrer kanonischen Benutzer-ID für das Konto.

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

Beispieleintrag

awsexamplebucket
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. War der Auftraggeber ein IAM-Benutzer, gibt dieses Feld den IAM-Benutzernamen des Auftraggebers zurück, zusammen mit dem AWS-Root-Konto, 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.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 /awsexamplebucket/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
HTTP-Status

Der numerische HTTP-Statuscode der Antwort.

Beispieleintrag

200
Fehlercode

Der Fehlercode in Amazon S3 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, wie lange Amazon S3 gebraucht hat, Ihre Anforderung 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
Referrer

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-Benutzeragenten-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 x-amz-id-2 oder die erweiterte Amazon S3-Anforderungs-ID.

Beispieleintrag

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
Signaturversion

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 zu Amazon S3 verwendete Endpunkt

Beispieleintrag

s3-us-west-2.amazonaws.com
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

Zusätzliche Protokollierung für Kopieroperationen

Eine Kopieroperation umfasst ein GET und ein PUT. Aus diesem Grund zeichnen wir für eine Kopieroperation zwei Datensätze auf. Die obige Tabelle 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-Kennungen. Informationen darüber, wo Sie die kanonische Benutzer-ID für Ihr Konto finden, finden Sie unter Suchen Ihrer kanonischen Benutzer-ID für das Konto.

Beispieleintrag

79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
Bucket

Die Name des Buckets, der das kopierte Objekt speichert.

Beispieleintrag

awsexamplebucket
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. War der Auftraggeber ein IAM-Benutzer, gibt dieses Feld den IAM-Benutzernamen des Auftraggebers zurück, zusammen mit dem AWS-Root-Konto, 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 /awsexamplebucket/photos/2019/08/puppy.jpg?x-foo=bar"
HTTP-Status

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

Beispieleintrag

200
Fehlercode

Der Fehlercode in Amazon S3 des GET-Teils der Kopieroperation 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, wie lange Amazon S3 gebraucht hat, Ihre Anforderung 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
Referrer

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-Benutzeragenten-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 x-amz-id-2 oder die erweiterte Amazon S3-Anforderungs-ID.

Beispieleintrag

s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
Signaturversion

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 zu Amazon S3 verwendete Endpunkt

Beispieleintrag

s3-us-west-2.amazonaws.com
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

Benutzerdefinierte Zugriffsprotokollinformationen

Sie können benutzerdefinierte Informationen im Zugriffsprotokolldatensatz für eine Anforderung speichern, indem Sie der URL für die Anforderung einen benutzerdefinierten Abfragezeichenfolgeparameter hinzufügen. Amazon S3 ignoriert Abfragezeichenfolgenparameter, die mit „x“ beginnen, fügt diese Parameter jedoch in den Zugriffsprotokolldatensatz für die Anforderung als Teil des Protokolldatensatzfelds Request-URI ein. Beispielsweise verhält sich die Anforderung GET für „s3.amazonaws.com/awsexamplebucket/photos/2019/08/puppy.jpg?x-user=johndoe“ genauso, wie sich die gleiche Anforderung für „s3.amazonaws.com/awsexamplebucket/photos/2019/08/puppy.jpg“ verhält, 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 von Zeit zu Zeit das Zugriffsprotokoll-Datensatzformat, indem wir am Ende jeder Zeile neue Felder hinzufügen. Code, der Serverzugriffprotokolle analysiert, muss so geschrieben werden, dass er angefügte Felder verarbeiten kann, die er nicht versteht.