Object Storage-Amazon S3-Kompatibilität-API
Erfahren Sie, wie Sie mit der Amazon S3-API von Oracle Cloud Infrastructure vorhandene Amazon S3-Tools für die Arbeit mit Object Storage verwenden können.
Mit der Amazon S3-Kompatibilitäts-API können Kunden weiterhin ihre vorhandenen Amazon S3-Tools (wie z.B. SDK-Clients) verwenden. Außerdem können sie für die Arbeit mit Object Storage minimale Änderungen an ihren Anwendungen vornehmen. Die Amazon S3-Kompatibilitäts-API und die Object Storage-Datasets stimmen überein. Wenn Daten mithilfe der Amazon S3-Kompatibilitäts-API in Object Storage geschrieben werden, können die Daten mithilfe der systemeigenen Object Storage-API zurückgeschrieben werden und umgekehrt.
Die Amazon S3-Kompatibilität-API unterstützt nur URLs im Pfadstil. URLs mit V2-Format (virtuell gehostet) werden nicht unterstützt.
Informationen zur Unterstützung der Amazon S3-Kompatibilitäts-API durch Object Storage finden Sie unter Unterstützung der Amazon S3-Kompatibilitäts-API.
Informationen dazu, wie Object Storage API-Unterstützung für die Amazon S3-Kompatibilitäts-API und die Swift-API bereitstellt, finden Sie unter Compartments für die Amazon S3-Kompatibilitäts- und Swift-APIs.
Unterschiede zwischen der Object Storage-API und der Amazon S3-Kompatibilität-API
Der von Oracle Cloud Infrastructure bereitgestellte Service Object Storage und Amazon S3 verwenden ähnliche Konzepte und Terminologie. In beiden Fällen werden Daten als Objekte in Buckets gespeichert. Die Unterschiede bestehen in der Implementierung von Features und Tools für die Arbeit mit Objekten.
Im Folgenden werden die Unterschiede zwischen den beiden Speichertechnologien behandelt:
-
Compartments
Amazon S3 verwendet keine Compartments. Standardmäßig werden Buckets, die mit der Amazon S3-Kompatibilitäts-API oder der Swift-API erstellt werden, im Root-Compartment des Oracle Cloud Infrastructure-Mandanten erstellt. Stattdessen können Sie ein anderes Compartment für die Amazon S3-Kompatibilitäts-API oder die Swift-API zum Erstellen von Buckets festlegen.
-
Globaler Bucket-Namespace
Object Storage verwendet keinen globalen Bucket-Namespace. Der Object Storage-Namespace dient als Container der obersten Ebene für alle Buckets und Objekte. Beim Erstellen des Accounts wird jedem Mandanten von Oracle Cloud Infrastructure ein eindeutiger, vom System generierter und unveränderbarer Object Storage-Namespace-Name zugewiesen. Der Namespace erstreckt sich über alle Compartments innerhalb einer Region. Sie bestimmen Bucket-Namen, diese Bucket-Namen müssen jedoch innerhalb eines Namespace eindeutig sein. Während der Namespace regionsspezifisch ist, ist der Namespace-Name selbst in allen Regionen gleich. Sie können einen Bucket mit dem Namen MyBucket in US West (Phoenix) und einen Bucket mit dem Namen MyBucket in Germany Central (Frankfurt). verwenden
-
Verschlüsselung
Object Storage Service verschlüsselt standardmäßig alle Daten im Ruhezustand. Die Verschlüsselung kann mit der API nicht aktiviert oder deaktiviert werden.
-
Access-Control-Listen (ACLs) auf Objektebene
Oracle Cloud Infrastructure verwendet keine ACLs für Objekte. Stattdessen muss ein Administrator Gruppen , Compartments und Policys einrichten, die den Zugriffstyp sowie den Zugriff der Benutzer auf Services und Ressourcen steuern. Beispiel: Die Policys steuern, wer Benutzer und Gruppen erstellen, Buckets erstellen, Objekte herunterladen und Object Storage-bezogene Policys und Regeln verwalten kann.
Weitere Informationen finden Sie unter Überblick.
Voraussetzungen für die Amazon S3-Kompatibilitäts-API
Um den Zugriff einer Amazon S3-Anwendung auf Object Storage zu aktivieren, müssen Sie den Zugriff auf Oracle Cloud Infrastructure einrichten und Ihre Anwendung wie in den folgenden Abschnitten beschrieben ändern.
Zugriff auf Oracle Cloud Infrastructure einrichten
-
Registrieren Sie sich für Oracle Cloud Infrastructure, und rufen Sie einen eindeutigen Namespace ab.
-
Jeder Benutzer der Amazon S3-Kompatibilitäts-API mit Object Storage muss berechtigt sein, mit dem Service zu arbeiten. Wenn Sie nicht sicher sind, ob Sie über die entsprechende Berechtigung verfügen, wenden Sie sich an den Administrator. Grundlegende Informationen zu Policys finden Sie unter Funktionsweise von Policys. Informationen zu Policys, die die Verwendung von Object Storage aktivieren, finden Sie unter Allgemeine Policys und in der Policy-Referenz.
-
Verwenden Sie einen vorhandenen Schlüssel, oder erstellen Sie einen Kunden-Secret-Key. Ein Kunden-Secret Key besteht aus einem Schlüsselpaar aus Zugriffsschlüssel/Secret Key. Weitere Informationen finden Sie unter Mit Kunden-Secret-Keys arbeiten. So verwenden oder erstellen Sie das Schlüsselpaar:
- Um einen vorhandenen Kunden-Secret-Key zu verwenden, müssen Sie den Secret Key bereits kennen. Aus Sicherheitsgründen kann ein Secret Key nach dem Generieren nicht abgerufen werden. So zeigen Sie den Zugriffsschlüssel an oder kopieren ihn: Wählen Sie im Navigationsmenü das Menü Profil
aus, und wählen Sie je nach der angezeigten Option Benutzereinstellungen oder Mein Profil aus. Wählen Sie auf der linken Seite Kunden-Secret-Keys aus. Zeigen Sie den Mauszeiger auf den Zugriffsschlüssel, der mit dem Namen eines bestimmten Kunden-Secret-Keys verknüpft sind, und wählen Sie Kopieren aus.
- Informationen zum Erstellen eines Kunden-Secret-Keys mit der Konsole finden Sie unter So erstellen Sie einen Kunden-Secret-Key.
- Informationen zum Erstellen eines Customer Secret Keys mit der Befehlszeilenschnittstelle (CLI) finden Sie unter oci iam customer-secret-key create.
- Um einen vorhandenen Kunden-Secret-Key zu verwenden, müssen Sie den Secret Key bereits kennen. Aus Sicherheitsgründen kann ein Secret Key nach dem Generieren nicht abgerufen werden. So zeigen Sie den Zugriffsschlüssel an oder kopieren ihn: Wählen Sie im Navigationsmenü das Menü Profil
Anwendung ändern
-
Konfigurieren Sie einen neuen Endpunkt für die Anwendung, die den Namespace-Namen und die Regions-ID enthält. Verwenden Sie folgende Syntax:
https://{object-storage-namespace}.compat.objectstorage.{region}.oraclecloud.com
-
Legen Sie eine der Oracle Cloud Infrastructure-Regionen als Zielregion fest.
Wichtig
Wenn Ihre Anwendung das Festlegen der Regions-ID auf die richtige Oracle Cloud Infrastructure-ID nicht unterstützt, müssen Sie entweder die Regionus-east-1
festlegen oder das Feld leer lassen. Mit dieser Konfiguration können Sie die Amazon S3-Kompatibilitäts-API nur in der Hauptregion von Oracle Cloud Infrastructure verwenden. Wenn Sie die Region manuell festlegen können, können Sie die Anwendung in jeder Oracle Cloud Infrastructure-Region verwenden. -
Konfigurieren Sie die Anwendung für die Verwendung eines Kunden-Secret-Keys. Der Kunden-Secret-Key besteht aus einem Schlüsselpaar aus Zugriffsschlüssel und Secret Key. Beide Schlüssel müssen der Anwendung bereitgestellt werden.
-
Fügen Sie einen pfadbasierten Zugriff in Ihre Anwendung ein. Verwenden Sie folgende Syntax:
https://{object-storage-namespace}.compat.objectstorage.{region}.oraclecloud.com/{bucket}
-
Virtueller Hostzugriff
-
AWS-Signaturversion 2 (SigV2)
Sie können jetzt die Amazon S3-Kompatibilitäts-API verwenden, um Object Storage in Oracle Cloud Infrastructure aufzurufen.