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.

Hinweis

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

  1. Registrieren Sie sich für Oracle Cloud Infrastructure, und rufen Sie einen eindeutigen Namespace ab.

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

  3. 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 Symbol für Profilmenü 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.

Anwendung ändern

  1. 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
  2. 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 Region us-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.
  3. 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.

  4. Fügen Sie einen pfadbasierten Zugriff in Ihre Anwendung ein. Verwenden Sie folgende Syntax:

    https://{object-storage-namespace}.compat.objectstorage.{region}.oraclecloud.com/{bucket}
Hinweis

Die folgenden Elemente werden nicht unterstützt:
  • 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.