So funktioniert die S3-Objektsperre
Mit der S3-Objektsperre können Sie Objekte anhand des Modells Write Once Read Many (WORM) speichern. Die Objektsperre kann verhindern, dass Objekte für einen bestimmten Zeitraum oder auf unbestimmte Zeit gelöscht oder überschrieben werden. Sie können die S3-Objektsperre verwenden, um regulatorische Anforderungen einzuhalten, die die WORM-Speicherung verlangen, oder um eine zusätzliche Schutzebene gegen Objektänderungen und -löschungen einzurichten.
Informationen zur Verwaltung des Sperrungsstatus Ihrer Amazon S3-Objekte finden Sie unter Verwalten von Objektsperren.
S3-Buckets mit S3-Objektsperre können nicht als Ziel-Buckets für Server-Zugriffsprotokolle verwendet werden. Weitere Informationen finden Sie unter Protokollieren von Anfragen mit Server-Zugriffsprotokollierung.
Die folgenden Abschnitte beschreiben die Hauptfunktionen der S3-Objektsperre
Themen
Aufbewahrungsmodi
Die S3-Objektsperre bietet zwei Aufbewahrungsmodi:
-
Governance-Modus
-
Compliance-Modus
Diese Aufbewahrungsmodi wenden unterschiedliche Schutzgrade auf Ihre Objekte an. Sie können auf jede von der Objektsperre geschützte Objektversion einen der beiden Aufbewahrungsmodi anwenden.
Im Governance-Modus können Benutzer eine Objektversion nicht überschreiben oder löschen oder ihre Sperreinstellungen ändern, wenn sie keine speziellen Berechtigungen besitzen. Mit dem Governance-Modus schützen Sie Objekte dagegen, von den meisten Benutzern gelöscht zu werden, Sie können jedoch weiterhin einigen Benutzern die Berechtigung geben, die Aufbewahrungseinstellungen zu ändern oder das Objekt bei Bedarf zu löschen. Sie können den Governance-Modus auch verwenden, um die Einstellungen für Aufbewahrungszeiträume zu testen, bevor Sie einen Aufbewahrungszeitraum im Compliance-Modus erstellen.
Um Aufbewahrungseinstellungen im Governance-Modus zu überschreiben oder zu entfernen, muss ein Benutzer die Berechtigung s3:BypassGovernanceRetention
besitzen und in jede Anfrage, die ein Überschreiben des Governance-Modus erfordert, ausdrücklich x-amz-bypass-governance-retention:true
als Anfrage-Header einfügen.
Die Amazon S3-Konsole enthält standardmäßig den x-amz-bypass-governance-retention:true
-Header. Ein Löschen von Objekten, die durch den Governance-Modus geschützt sind und über die s3:BypassGovernanceRetention
-Berechtigungen verfügen, kann durchgeführt werden.
Im Compliance-Modus kann eine geschützte Objektversion von keinem Benutzer überschrieben oder gelöscht werden. Dies schließt den Stammbenutzer in Ihrem AWS-Konto ein. Wenn ein Objekt im Compliance-Modus gesperrt wurde, können der Aufbewahrungsmodus nicht geändert und der Aufbewahrungszeitraum nicht verkürzt werden. Der Compliance-Modus stellt sicher, dass eine Objektversion während des Aufbewahrungszeitraums weder überschrieben noch gelöscht werden.
Die Aktualisierung der Metadaten einer Objektversion, wenn Sie eine Objektsperre platzieren oder ändern, überschreibt weder die Objektversion noch setzt sie den Zeitstempel für Last-Modified
zurück.
Aufbewahrungszeiträume
Ein Aufbewahrungszeitraum schützt eine Objektversion für einen festen Zeitraum. Wenn Sie für eine Objektversion einen Aufbewahrungszeitraum festlegen, speichert Amazon S3 einen Zeitstempel in den Metadaten der Objektversion, um anzugeben, wann der Aufbewahrungszeitraum abläuft. Nach Ablauf des Aufbewahrungszeitraums kann die Objektversion überschrieben oder gelöscht werden, vorausgesetzt, Sie haben für die Objektversion nicht auch eine rechtliche Aufbewahrungsfrist festgelegt.
Ein Aufbewahrungszeitraum kann ausdrücklich oder über eine Bucket-Standardeinstellung für ein Objekt festgelegt werden. Wenn Sie einen Aufbewahrungszeitraum explizit auf eine Objektversion anwenden, geben Sie ein Retain Until Date (Bis-Aufbewahrungsdatum) für die Objektversion an. Amazon S3 speichert diese Retain Until Date
-Einstellung in den Metadaten der Objektversion und schützt die Objektversion bis zum Ablauf des Aufbewahrungszeitraums.
Wenn Sie Bucket-Standardeinstellungen verwenden, geben Sie kein an Retain Until
Date
. Sie geben stattdessen eine Dauer in Tagen oder Jahren an, für die jede im Bucket platzierte Objektversion geschützt werden soll. Wenn Sie ein Objekt in den Bucket legen, berechnet Amazon S3 ein Retain Until Date
für die Objektversion, indem es die angegebene Dauer dem Zeitstempel der Erstellung der Objektversion hinzufügt. Es speichert Retain Until Date
in den Metadaten der Objektversion. Die Objektversion wird anschließend so geschützt, als ob Sie für die Objektversion ausdrücklich eine Sperre mit diesem Aufbewahrungszeitraum angegeben hätten.
Wenn Ihre Anfrage für die Platzierung einer Objektversion in einem Bucket ausdrücklich einen Aufbewahrungsmodus und -zeitraum angibt, überschreiben diese Einstellungen alle Bucket-Standardeinstellungen für diese Objektversion.
Wie alle anderen Einstellungen für die Objektsperre gelten Aufbewahrungszeiträume für einzelne Objektversionen. Für verschiedene Versionen desselben Objekts können verschiedene Aufbewahrungsmodi und -zeiträume gelten.
z. B.: Angenommen, Sie haben ein Objekt, von dessen 30-tägigem Aufbewahrungszeitraum 15 Tage abgelaufen sind, und Sie führen die Aktion PUT
für ein Objekt in Amazon S3 mit demselben Namen und einem 60-tägigen Aufbewahrungszeitraum durch. In diesem Fall ist die PUT
-Aktion erfolgreich, und Amazon S3 erstellt eine neue Version des Objekts mit einem 60-tägigen Aufbewahrungszeitraum. Die ältere Version behält den ursprünglichen Aufbewahrungszeitraum und kann in 15 Tagen gelöscht werden.
Sie können einen Aufbewahrungszeitraum verlängern, nachdem Sie eine Aufbewahrungseinstellung auf eine Objektversion angewendet haben. Senden Sie dazu eine neue Sperranforderung für die Objektversion mit einem Retain Until Date
, das später liegt als das derzeit für die Objektversion konfigurierte. Amazon S3 ersetzt die bestehende Aufbewahrungsfrist durch den neuen, längeren Zeitraum. Alle Benutzer, die die Berechtigung zur Festlegung von Aufbewahrungszeiträumen für Objekte besitzen, können Aufbewahrungszeiträume für Objektversionen verlängern, die in einem der beiden Modi gesperrt wurden.
Rechtliche Aufbewahrungsfristen
Mit der Objektsperre können Sie auch eine rechtliche Aufbewahrungsfrist für eine Objektversion festlegen. Wie Aufbewahrungszeiträume verhindern auch rechtliche Aufbewahrungsfristen das Überschreiben oder Löschen von Objektversionen. Mit rechtlichen Aufbewahrungsfristen sind jedoch keine Aufbewahrungszeiträume verknüpft. Sie sind gültig, bis sie entfernt werden. Alle Benutzer mit der Berechtigung s3:PutObjectLegalHold
können rechtliche Aufbewahrungsfristen festlegen und entfernen. Eine vollständige Liste der Amazon S3-Berechtigungen finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3.
Rechtliche Aufbewahrungsfristen sind von Aufbewahrungszeiträumen unabhängig. So lange für den Bucket, der das Objekt enthält, die Objektsperre aktiviert ist, können Sie rechtliche Aufbewahrungsfristen festlegen und entfernen. Dies gilt unabhängig davon, ob für die angegebene Objektversion ein Aufbewahrungszeitraum festgelegt wurde. Die Festlegung einer rechtlichen Aufbewahrungsfrist für eine Objektversion hat keine Auswirkungen auf den Aufbewahrungsmodus oder -zeitraum für die betreffende Objektversion.
z. B.: Angenommen, Sie setzen eine rechtliche Aufbewahrungsfrist für eine Objektversion fest, während diese Objektversion gleichzeitig durch einen Aufbewahrungszeitraum geschützt it. Wenn der Aufbewahrungszeitaum abgläuft, verliert das Objekt seinen WORM-Schutz nicht. Stattdessen wird das Objekt durch die rechtliche Aufbewahrungsfrist weiter geschützt, bis ein autorisierter Benutzer diese ausdrücklich entfernt. Wenn Sie eine rechtliche Aufbewahrungsfrist entfernen, während für eine Objektversion ein Aufbewahrungszeitraum gilt, bleibt die Objektversion geschützt, bis der Aufbewahrungszreitraum abläuft.
Zur Verwendung einer Objektsperre muss dies für einen Bucket aktiviert werden. Sie können optional auch einen Standardaufbewahrungsmodus und -zeitraum konfigurieren, der für neue Objekte gilt, die in den Bucket platziert werden. Weitere Informationen finden Sie unter Konfigurieren der S3-Objektsperre mit der Konsole.
Bucket-Konfiguration
Zur Verwendung einer Objektsperre muss dies für einen Bucket aktiviert werden. Sie können optional auch einen Standardaufbewahrungsmodus und -zeitraum konfigurieren, der für neue Objekte gilt, die in den Bucket platziert werden.
Achten Sie bei der Verwendung von S3-Objektsperre darauf, Ihre Verschlüsselungstechnik zu berücksichtigen. Beispiel: Wenn Sie eine serverseitige Verschlüsselung mit AWS KMS verwenden, überlegen Sie, wie das mögliche Löschen des Schlüssels mit S3-Objektsperre interagieren könnte. Es könnte wichtig sein, auch den Schutz für den Schlüssel in Betracht zu ziehen.
Aktivieren der S3-Objektsperre
Damit Sie Objekte sperren können, müssen Sie einen Bucket für die Verwendung der S3-Objektsperre konfigurieren. Dazu geben Sie an, wann Sie den Bucket erstellen, der die Objektsperre aktivieren soll. Wenn Sie einen Bucket für die Objektsperre konfiguriert haben, können Sie Objekte in diesem Bucket durch Aufbewahrungszeiträume, rechtliche Aufbewahrungsfristen oder beides sperren.
-
Sie können die Objektsperre nur für neue Buckets aktivieren. Wenn Sie die Objektsperre für einen vorhandenen Bucket aktivieren möchten, wenden Sie sich an den AWS Support.
-
Wenn Sie einen Bucket mit aktivierter Objektsperre erstellen, aktiviert Amazon S3 automatisch die Versionierung für den Bucket.
-
Wenn Sie einen Bucket mit aktivierter Objektsperre erstellen, können Sie die Objektsperre nicht deaktivieren oder das Versioning für diesen Bucket aussetzen.
Informationen zum Aktivieren der Objektsperre für die Konsole finden Sie unter Konfigurieren der S3-Objektsperre mit der Konsole.
Standardaufbewahrungseinstellungen
Wenn Sie die Objektsperre für einen Bucket aktivieren, kann der Bucket geschützte Objekte speichern. Die Einstellung schützt jedoch nicht automatisch Objekte, die in den Bucket gelegt werden. Wenn Sie die Objekte, die Sie in diesen Bucket platzieren, automatisch schützen möchten, können Sie einen Standardaufbewahrungszeitraum konfigurieren. Die Standardeinstellungen gelten für alle neuen Objekte, die im Bucket platziert werden, wenn Sie nicht ausdrücklich während der Erstellung eines Objekts einen anderen Aufbewahrungsmodus und -zeitraum für dieses Objekt angeben.
Wenn Sie den Bucket-Standard-Aufbewahrungsmodus und den Zeitraum für alle neuen Objektversionen erzwingen möchten, die in einem Bucket platziert werden, legen Sie die Bucket-Standardwerte fest und verweigern Sie Benutzern die Berechtigung, Einstellungen für die Objektaufbewahrung zu konfigurieren. Amazon S3 wendet dann den standardmäßigen Aufbewahrungsmodus und den Standardzeitraum auf neue Objektversionen an, die im Bucket platziert werden, und lehnt jede Anfrage zum Einstellen eines Objekts ab, das einen Aufbewahrungsmodus und eine Einstellung enthält.
In den Bucket-Standardeinstellungen müssen ein Modus und ein Zeitraum festgelegt werden. Der Bucket-Standardmodus kann entweder Governance oder Compliance sein. Weitere Informationen finden Sie unter Aufbewahrungsmodi.
Ein Standardaufbewahrungszeitraum wird nicht als Zeitstempel, sondern als Zeitraum von Tagen oder Jahren beschrieben. Wenn Sie ein Objekt in einen Bucket mit einem Standard-Aufbewahrungszeitraum legen, berechnet die Objektsperre ein Retain Until Date (Bis-Aufbewahrungsdatum). Dazu wird der Erstellungszeitstempel für die Objektversion der Standardaufbewahrungsdauer hinzugefügt. Amazon S3 speichert den resultierenden Zeitstempel als Retain Until Date
der Objektversion, als hätten Sie den Zeitstempel manuell berechnet und selbst in die Objektversion eingefügt.
Standardeinstellungen gelten nur für neu im Bucket platzierte Objekte. Durch die Festlegung von Standardaufbewahrungseinstellungen für einen Bucket werden keine Aufbewahrungseinstellungen für Objekte festgelegt, die im Bucket bereits vorhanden sind.
Objektsperren gelten ausschließlich für einzelne Objektversionen. Wenn Sie ein Objekt in einem Bucket platzieren, für den ein Standardaufbewahrungszeitraum festgelegt wurde, und für dieses Objekt nicht ausdrücklich einen Aufbewahrungszeitraum angeben, erstellt Amazon S3 das Objekt mit dem Standardaufbewahrungszeitraum für den Bucket. Nach der Erstellung des Objekts ist dessen Aufbewahrungszeitraum vom Standardaufbewahrungszeitraum des Buckets unabhängig. Die Änderung des Standardaufbewahrungszeitraums für einen Bucket hat keine Auswirkungen auf den vorhandenen Aufbewahrungszeitraum für Objekte in diesem Bucket.
Wenn Sie einen Standardaufbewahrungszeitraum für einen Bucket konfigurieren, müssen Anforderungen zum Hochladen von Objekten in einen solchen Bucket den Content-MD5
-Header enthalten. Weitere Informationen finden Sie unter PUT Object in der Amazon Simple Storage Service – API-Referenz.
Erforderliche Berechtigungen
ObjektsperrenVorgänge erfordern bestimmte Berechtigungen. Abhängig von dem genauen Vorgang, den Sie versuchen, benötigen Sie möglicherweise eine der folgenden Berechtigungen:
-
s3:BypassGovernanceRetention
-
s3:GetBucketObjectLockConfiguration
-
s3:GetObjectLegalHold
-
s3:GetObjectRetention
-
s3:PutBucketObjectLockConfiguration
-
s3:PutObjectLegalHold
-
s3:PutObjectRetention
Informationen zur Verwendung von Bedingungen mit Berechtigungen finden Sie unter Beispiele für Amazon-S3-Bedingungsschlüssel.