Amazon S3-Serverzugriffsprotokollierung - Amazon Simple Storage Service

Sofern wir eine Übersetzung der englischsprachigen Version des Handbuchs bereitstellen, gilt im Fall von Widersprüchen die englischsprachige Version des Handbuchs. Bei der Übersetzung handelt es sich um eine maschinelle Übersetzung.

Amazon S3-Serverzugriffsprotokollierung

Die Server-Zugriffsprotokollierung bietet detaillierte Aufzeichnungen über die Anforderungen, die an einen Bucket gestellt wurden. Server-Zugriffsprotokolle sind für viele Anwendungen nützlich. Beispielsweise können Zugriffsprotokoll-Informationen bei Sicherheits- und Zugriffsprüfungen nützlich sein. Außerdem erfahren Sie damit mehr über Ihren Kundenstamm und verstehen Ihre Amazon S3-Rechnung.

Anmerkung

Server-Zugriffsprotokolle erfassen keine Informationen über Umleitungsfehler der Region für Regionen, die nach dem 20. März 2019 aufgelegt wurden. Fehler bei der Umleitungsregion treten auf, wenn eine Anforderung für ein Objekt oder ein Bucket außerhalb der Region erfolgt, in der Bucket vorhanden ist.

Vorgehensweise zum Aktivieren der Server-Zugriffsprotokollierung

Um Zugriffsanforderungen für Ihren Bucket nachzuverfolgen, können Sie die Server-Zugriffsprotokollierung aktivieren. Jeder Zugriffsprotokolldatensatz enthält Details über eine Zugriffsanforderung, z. B. Auftraggeber, Bucket-Name, Anforderungszeit, Anforderungsaktion, Antwortstatus und Fehlercode, falls relevant.

Es fallen keine zusätzlichen Gebühren für die Aktivierung der Serverzugriffsprotokollierung in einem Amazon S3-Bucket an, und es wird Ihnen nicht in Rechnung gestellt, wenn die Protokolle mit PUT in Ihrem Bucket abgelegt werden. Für die Speicherung der Protokolldateien, die das System an Ihren Bucket überträgt, fallen die normalen Gebühren für die Speicherung an. Sie können diese Protokolldateien jederzeit löschen. Nachfolgende Lesevorgänge und andere Anforderungen an diese Protokolldateien werden wie bei jedem anderen Objekt normal berechnet, einschließlich Datenübertragungsgebühren.

Die Protokollierung ist standardmäßig deaktiviert. Wenn die Protokollierung aktiviert ist, werden die Protokolle in einem Bucket in derselben AWS-Region wie der des Quellbereichs gespeichert.

So aktivieren Sie die Protokollierung:

  1. Anmelden am Amazon S3 Bucket, den Sie überwachen möchten. Wir bezeichnen diesen Bucket als die Quell-Bucket.

  2. Gewähren Sie der Amazon S3-Protokollbereitstellungsgruppe Schreibberechtigung für den Bucket, in dem die Zugriffsprotokolle gespeichert werden sollen. Wir bezeichnen diesen Bucket als die Zielbucket.

Anmerkung
  • in Amazon S3 Sie können Berechtigungen erteilen, um Zugriffsprotokolle über den Bucket Access Control Lists (Acls), aber nicht über die Bucket-Richtlinie zu liefern.

  • Hinzufügen ablehnen Bedingungen für eine Bucket-Richtlinie könnten verhindern Amazon S3 von der Bereitstellung von Zugriffsprotokollen.

  • Standard-Bucket-Verschlüsselung auf dem Zielbucket kann nur verwendet werden wenn AES256 (SSE-S3) ist ausgewählt. Die SSE-KMS-Verschlüsselung wird nicht unterstützt.

  • S3 Objektsperre kann nicht auf dem Zielbucket aktiviert werden.

So aktivieren Sie die Protokollzustellung:

  1. Geben Sie den Namen des Zielbuckets an, wo Sie möchten Amazon S3 um die Zugriffsprotokolle als Objekte zu speichern. Sowohl die Quell- als auch die Zielbuckets müssen sich in derselben AWS-Region befinden und dem gleichen Konto gehören.

    Sie können Protokolle in jeden Bucket speichern lassen, der sich in der gleichen Region wie der Quell-Bucket befindet, einschließlich des Quell-Buckets selbst. Für eine einfachere Protokollverwaltung empfehlen wir Ihnen, Zugriffsprotokolle in einem anderen Bucket zu speichern.

    Wenn der Quell- und Ziel-Bucket derselbe sind, werden zusätzliche Protokolle für die Protokolle erstellt, die in den Bucket geschrieben werden. Dies ist möglicherweise nicht ideal, da sie zu einer kleinen Erhöhung Ihrer Speicherfakturierung führen könnte. Zusätzlich können die zusätzlichen Protokolle zu Protokollen schwerer werden, das Protokoll zu finden, das Sie suchen. Wenn Sie Zugriffsprotokolle im Quell-Bucket speichern, empfehlen wir Ihnen, ein Präfix für alle Protokollobjektschlüssel anzugeben, damit die Objektnamen mit einer gemeinsamen Zeichenfolge beginnen und die Protokollobjekte leichter zu identifizieren sind.

    Wichtige Präfixe sind auch nützlich, um zwischen Quellschaufeln zu unterscheiden, wenn mehrere Buckets zum gleichen Zielbucket angemeldet sind.

  2. (Optional) Weisen Sie allen Amazon S3 Protokollobjektschlüssel. Das Präfix macht es Ihnen einfacher, die Protokollobjekte zu finden. Wenn Sie beispielsweise den Präfix angeben logs/, jedes Protokollobjekt, das Amazon S3 beginnt mit der logs/ Präfix in seinem Schlüssel.

    logs/2013-11-01-21-32-16-E568B2907131C0C0

    Das Schlüsselpräfix kann zudem hilfreich sein, wenn Sie die Protokolle löschen. Beispielsweise können Sie eine Lebenszyklus-Konfigurationsregel für Amazon S3 festlegen, nach der Objekte mit einem bestimmten Schlüsselpräfix gelöscht werden. Weitere Informationen finden Sie im Löschen von Amazon S3-Protokolldateien.

  3. (Optional) Legen Sie Berechtigungen fest, damit andere auf die generierten Protokolle zugreifen können. Standardmäßig hat nur der Bucket-Eigentümer immer vollen Zugriff auf die Protokollobjekte.

Weitere Informationen zum Aktivieren der Server-Zugriffsprotokollierung finden Sie unter Aktivieren der Protokollierung mithilfe der Konsole und Programmgesteuertes Aktivieren der Protokollierung.

Protokollobjekt-Schlüsselformat

Amazon S3 verwendet das folgende Objektschlüsselformat für die Protokollobjekte, die in den Ziel-Bucket hochgeladen werden:

TargetPrefixYYYY-mm-DD-HH-MM-SS-UniqueString/

Im Schlüssel YYYY, mm, DD, HH, MM, und SS sind die Ziffern des Jahres, des Monats, des Tages, der Stunde, Minute und Sekunden, wenn die Protokolldatei geliefert wurde. Diese Daten und Zeiten befinden sich in koordinierter Universalzeit (UTC).

Eine Protokolldatei, die an einem bestimmten Zeitpunkt übermittelt wurde, kann Datensätze enthalten, die an einem beliebigen Zeitpunkt davor geschrieben wurden. Es lässt sich nicht feststellen, ob alle Protokoll-Datensätze für ein bestimmtes Zeitintervall bereitgestellt wurden oder nicht.

Die UniqueString-Komponente des Schlüssels verhindert, dass Dateien überschrieben werden. Sie hat keine Bedeutung und wird normalerweise von Protokollverarbeitungssoftware ignoriert.

Der letzte Schrägstrich / ist erforderlich, um das Ende des Präfix zu kennzeichnen.

Wie werden Protokolle bereitgestellt?

Amazon S3 sammelt periodisch Zugriffsprotokoll-Datensätze, fasst die Datensätze in Protokolldateien zusammen und lädt anschließend die Protokolldateien als Protokollobjekte in Ihren Ziel-Bucket hoch. Wenn Sie die Protokollierung bei mehreren Quell-Buckets aktivieren, die denselben Ziel-Bucket haben, werden die Zugriffsprotokolle für alle diese Quell-Buckets in diesen Ziel-Bucket geladen. Jedes Protokollobjekt gibt jedoch Zugriffsprotokoll-Datensätze für einen bestimmten Quell-Bucket aus.

Amazon S3 verwendet ein spezielles Konto für die Protokollzustellung, das Protokolllieferung um Zugriffsprotokolle zu schreiben. Für diese Protokolle gelten die normalen Zugriffskontrollbeschränkungen. Sie müssen der Protokollbereitstellungsgruppe eine Schreibberechtigung für den Ziel-Bucket erteilen, indem Sie einen Rechteerteilungseintrag in die Zugriffskontrollliste (ACL) des Buckets einfügen. Wenn Sie die Amazon S3-Konsole zum Aktivieren der Protokollierung für einen Bucket verwenden, aktiviert die Konsole sowohl die Protokollierung für den Quell-Bucket als auch die Aktualisierung der ACL im Ziel-Bucket, um eine Schreibberechtigung für die Protokollbereitstellungsgruppe zu erteilen.

Best-Effort-Protokollbereitstellung der Server

Server-Zugriffsprotokoll-Datensätze werden auf Best-Effort-Basis bereitgestellt. Die meisten Anforderungen nach einem Bucket, der für die Protokollierung richtig konfiguriert ist, führen zu einem ausgelieferten Protokollsatz. Die meisten Protokollsätze werden innerhalb weniger Stunden nach der Aufnahme geliefert, können aber häufiger geliefert werden.

Die Vollständigkeit und Aktualität der Serverprotokollierung wird nicht garantiert. Der Protokolldatensatz für eine bestimmte Anforderung kann lange zugestellt werden, nachdem die Anfrage tatsächlich bearbeitet wurde, oder es wird möglicherweise gar nicht. Der Zweck der Serverprotokolle besteht darin, Ihnen einen Überblick über die Art des Datenverkehrs zu und von Ihrem Bucket zu vermitteln. Es passiert selten, das Protokolldatensätze verloren gehen, aber die Server-Protokollierung ist nicht als vollständige Auflistung aller Anforderungen vorgesehen.

Es folgt der besten Art der Serverprotokollierung, die Nutzungsberichte im AWS-Portal (Rechnungs- und Kostenmanagement-Berichte über AWS Management Console) können ein oder mehrere Zugriffsanfragen beinhalten, die nicht in einem gelieferten Server-Protokoll erscheinen.

Statusänderungen in der Bucket-Protokollierung werden mit der Zeit wirksam

Änderungen am Protokollierungsstatus eines Buckets benötigen einige Zeit, bis sie sich auf die Bereitstellung von Protokolldateien auswirken. Wenn Sie beispielsweise die Protokollierung für einen Bucket aktivieren, werden möglicherweise einige Anforderungen, die in der darauffolgenden Stunde gemacht werden, protokolliert, andere hingegen nicht. Wenn Sie den Ziel-Bucket für die Protokollierung von Bucket A zu Bucket B ändern, werden in der nächsten Stunde einige Protokolle möglicherweise zu Bucket A übermittelt, während andere zu dem neuen Ziel-Bucket B übermittelt werden. In jedem Fall werden die neuen Einstellungen letztendlich ohne weiteres Eingreifen Ihrerseits wirksam.