Object Storage-Versionierung
Erfahren Sie, wie Sie mit der Objektversionierung Datenschutz auf das versehentliche oder böswillige Aktualisieren oder Löschen von Object Storage-Objekten anwenden.
Die Objektversionierung ist auf Bucket-Ebene aktiviert. Bei der Versionierung wird Object Storage angewiesen, automatisch eine Objektversion zu erstellen, wenn ein neues Objekt hochgeladen, ein vorhandenes Objekt überschrieben oder ein Objekt gelöscht wird. Sie können die Objektversionierung zum Zeitpunkt der Bucket-Erstellung aktivieren oder sie in einem vorhandenen Bucket aktivieren, für den entweder zuvor noch keine Objektversionierung aktiviert wurde, oder in dem die Objektversionierung unterbrochen wurde.
Ein versionierungsfähiger Bucket kann viele Versionen eines Objekts enthalten. Es gibt immer eine neueste Version des Objekts und null oder mehr vorige Versionen.
Jede Objektversion hat eine eindeutige Versions-ID. Bei bestimmten Aufgaben, die mit der CLI oder API ausgeführt werden, wie dem Löschen oder Wiederherstellen einer Objektversion, müssen Sie die Objektversions-ID angeben. Sie können die Versions-ID ermitteln, indem Sie die folgenden Befehle oder Vorgänge ausführen:
Weitere Informationen zum Abrufen der Versions-ID eines Objekts finden Sie unter Objektversionen in einem Bucket auflisten.
Die Standardpreise für Oracle Cloud Infrastructure gelten für jeden Bucket, der für die Versionierung aktiviert ist. Es werden Ihnen alle neuesten Objektversionen und vorherigen Objektversionen (einschließlich gelöschter Versionen) berechnet, die im Bucket gespeichert sind. Frühere Objektversionen werden beibehalten, bis Sie sie explizit löschen.
Die Objektversionierung erhöht die Speicherkosten. Verwenden Sie Object Lifecycle Management, um Objektversionen automatisch zu verwalten.
Sie können folgende Aufgaben zur Objektversionierung ausführen:
Listen Sie die Objekte und ihre Versionen in einem Bucket auf.
Aktivieren Sie die Objektversionierung beim Erstellen eines Buckets.
Details einer Objektversion abrufen.
Versionierung in einem vorhandenen Bucket aktivieren oder deaktivieren.
Objektversionierungsstatus
Jeder Object Storage-Bucket hat die Objektversionierungsstatus "Deaktiviert", "Aktiviert" oder "Unterbrochen". Die Objektversionierung ist standardmäßig in einem Bucket deaktiviert. In der folgenden Tabelle wird das Verhalten beschrieben, das mit jedem Objektversionierungsstatus verknüpft ist.
| Status | Beschreibung |
|---|---|
| Deaktiviert | Wenn die Objektversionierung in einem Bucket deaktiviert ist:
|
| Aktiviert | Wenn die Objektversionierung in einem Bucket aktiviert ist:
|
| Unterbrochen | Wenn die Objektversionierung in einem Bucket unterbrochen ist:
|
Objektversion löschen
Kein Objekt wird physisch aus einem Bucket gelöscht, für den die Versionierung aktiviert ist, bis Sie dazu explizite Aktionen ausführen. Wenn Sie ein Objekt löschen, ohne eine bestimmte Version zum Ziel zu machen, wird die aktuelle Objektversion zu einer vorherigen Objektversion, und es wird ein spezieller Löschmarker erstellt, der den Löschpunkt markiert. Ein Löschmarker enthält nur minimale Metadaten. Wenn Sie einen Ordner löschen, wird für jedes Objekt im Ordner ein Löschmarker erstellt. Löschen Sie den Löschmarker, damit diese gelöschte Version zur neuesten Objektversion werden.
Wenn Sie ein Objekt mit demselben Namen wie den Löschmarker hochladen, wird das hochgeladene Objekt zur neuesten Version des Objekts. Der Löschmarker bleibt erhalten. Es können verschiedene Löschmarker für ein Objekt vorliegen, und Sie können jede beliebige vorherige Objektversion wiederherstellen.
Das Löschen der Objektversion unterscheidet sich davon. Wenn Sie eine Objektversion löschen, wird die Version dauerhaft gelöscht. Eine dauerhafte Löschung erfolgt auch, wenn Sie die neueste Version explizit nach Versions-ID löschen. Bei allen Löschvorgängen für eine bestimmte Objektversions-ID werden die Daten endgültig gelöscht.
Wir empfehlen, alte oder nicht benötigte Objektversionen zu löschen, um die Speicherkosten zu senken. Verwenden Sie Object Lifecycle Management, um Objektversionen automatisch zu verwalten.
Erforderliche IAM-Policys
Um Oracle Cloud Infrastructure verwenden zu können, muss ein Administrator Mitglied einer Gruppe sein, der Sicherheitszugriff in einer Policy von einem Mandantenadministrator erteilt wurde. Dieser Zugriff ist unabhängig davon erforderlich, ob Sie die Konsole oder die REST-API mit einem SDK, einer CLI oder einem anderen Tool verwenden. Wenn Sie eine Meldung erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen sie den Mandantenadministrator, welcher Zugriffstyp Ihnen zugewiesen wurde und In welchem Compartment Ihr Zugriff funktioniert.
Wenn Sie mit Policys nicht vertraut sind, finden Sie weitere Informationen unter Identitätsdomains verwalten und Allgemeine Policys.
Für Administratoren:
- Sie können eine Policy erstellen, mit der die angegebene IAM-Gruppe Object Storage-Namespaces, Buckets und die zugehörigen Objekte in allen Compartments im Mandanten verwalten kann. Beispiel: Mit der folgenden Regel kann die IAM-Gruppe "StorageAdmins" alle Aktionen im Mandanten ausführen:
Allow group StorageAdmins to manage object-family in tenancy - Alternativ können Sie Policys erstellen, die den Geltungsbereich für den Zugriff reduzieren. Beispiel: Sie können Policys erstellen, mit denen die StorageAdmins-Gruppe nur Buckets und Objekte in einem Compartment namens ObjectStore im Mandanten verwalten kann:
Allow group StorageAdmins to manage buckets in compartment ObjectStore Allow group StorageAdmins to manage objects in compartment ObjectStore - Wenn Sie restriktivere Policys erstellen, die einzelne Berechtigungen erteilen, ist BUCKET_UPDATE erforderlich, um die Versionierung zu aktivieren. Für das Hochladen von Objekten, das Überschreiben vorhandener Objekte oder das Löschen von Objekten sind die regulären Berechtigungen für diese Vorgänge erforderlich. OBJECT_VERSION_DELETE ist zum Löschen von Objektversionen erforderlich. Beispiel: So können Sie einer Gruppe namens StorageSupport die Verwaltung von Object Storage-Ressourcen erlauben, diese Gruppe jedoch daran hindern, Objektversionen dauerhaft zu entfernen:
Allow group StorageSupport to manage object-family in tenancy where request.operation != 'DeleteObjectVersion'
Informationen zu anderen Möglichkeiten, Policys zu schreiben, finden Sie unter Details zu Object Storage, Archive Storage und Data Transfer.
Geltungsbereich und Constraints
- Die Versionierung kann für einen Bucket in der Standard-Tiers (Object Storage) oder in der Archive Storage-Tier aktiviert werden.
- Das Wiederherstellen eines archivierten Objekts ist ein In-Place-Vorgang, bei dem keine Objektversion erstellt wird.
- Sie können die aktuelle Version eines Objekts umbenennen, eine vorherige Objektversion kann jedoch nicht umbenannt werden. Durch Umbenennen eines Objekts wird ein neues Objekt erstellt.
Interaktion zwischen Versionierung und anderen Object Storage-Features
In diesem Abschnitt werden einige wichtige Punkte beschrieben, die Sie über die Interaktion zwischen Objektversionierung und anderen Object Storage-Features wissen müssen.
| Feature | Beschreibung |
|---|---|
| Erneute Verschlüsselung des Buckets | Bei der erneuten Verschlüsselung des Buckets (entweder mit Oracle oder Ihrem eigenen Masterverschlüsselungsschlüssel) werden alle vorhandenen Objektversionen ebenfalls erneut verschlüsselt. |
| Lebenszyklusmanagement | Lebenszyklus-Policys können die aktuelle Version oder vorherige Versionen eines Objekts archivieren. Wenn die neueste Version eines Objekts durch Lebenszyklus-Policys gelöscht wird, wird dieses Objekt zu einer vorherigen Version, und es wird ein Löschmarker erstellt. Wenn Lebenszyklus-Policys eine vorherige Version eines Objekts löschen, ist dieser Löschvorgang dauerhaft. |
| Objekte kopieren | Wenn Sie die neueste Version eines Objekts in einen anderen Bucket kopieren, wird nur das Objekt kopiert. Keine der vorherigen Versionen des Objekts wird kopiert. Sie können eine vorherige Version eines Objekts in einen anderen Bucket kopieren. Bei dieser Aktion wird jedoch entweder die neueste Version eines neuen Objekts oder eine neue Objektversion im Ziel-Bucket erstellt. |
| Replikation | Replikation kann vorherige Objektversionen nicht replizieren. Sie können die Versionierung in einem Replikationsziel-Bucket nicht aktivieren. Ein Ziel-Bucket ist schreibgeschützt. |
| Aufbewahrungsregeln | Einem Bucket, für den die Versionierung aktiviert wurde, können Sie keine Aufbewahrungsregeln hinzufügen. Die Versionierung eines Buckets mit aktiven Aufbewahrungsregeln kann nicht aktiviert werden. Sie können Aufbewahrungsregeln zu einem Bucket hinzufügen, für den die Versionierung ausgesetzt ist. Sie können die Versionierung jedoch nicht mit aktiven Aufbewahrungsregeln wiederaufnehmen. |