Kann ich Dateien aus Object Storage automatisch öffentlich freigeben?

Kann ich Dateien aus Object Storage automatisch öffentlich freigeben?

Ja, dies ist mit der S3-API möglich. Die Schritte zur Einrichtung finden Sie unten.


Wie kann ich Dateien aus Object Storage automatisch öffentlich freigeben?

  1. Richten Sie Ihr S3-Tool ein. Der einfachste Weg ist die Verwendung von aws cli. Bitte stellen Sie sicher, dass es richtig installiert und konfiguriert ist.
  2. Erstellen Sie eine Datei public-sharing-policy.json mit dem folgenden Inhalt:

    {
    „Id“: „ihr-schöner-name“,
    „Version“: „2012-10-17“,
    „Statement“: [
    {
    „Action“: [
    „s3:GetObject“
    ],
    „Effekt“: „Erlauben“,
    „Ressource“: [
    „arn:aws:s3:::foldername/file“
    ],
    „Principal“: „*“
    }
    ]
    }
    Dies ermöglicht (Effect) das Lesen von Objekten (s3:GetObject) durch jeden (Principal) für die angegebene Datei (Resource).
  3. Als nächstes müssen Sie die öffentliche Freigabe für einen Ordner und alle seine Unterelemente aktivieren. Erstellen Sie dazu eine Datei public-sharing-policy.json mit folgendem Inhalt:

    {
    „Id“: „ihr-schöner-name“,
    „Version“: „2012-10-17“,
    „Statement“: [
    {
    „Action“: [
    „s3:GetObject“
    ],
    „Effekt“: „Erlauben“,
    „Ressource“: [
    „arn:aws:s3:::foldername/*“
    ],
    „Principal“: „*“
    }
    ]
    }
    

  4. Bitte beachten Sie, dass der S3 Object Storage keine Dateiliste im Browser unterstützt. Die s3TenantId kann über die Contabo API abgefragt werden.

Der einzige Unterschied ist, dass Sie „*“ als Platzhalter für den Dateinamen verwenden. Natürlich können Sie auch Konstrukte 

wie „arn:aws:s3:::foldername1/foldername2/*“ verwenden.

Wie kann ich die öffentliche Freigabe über die S3-API deaktivieren?

Um die öffentliche Freigabe für eine Datei oder einen Ordner zu deaktivieren, müssen Sie zunächst die aktuelle Richtlinie abfragen:

aws --profile eu2 --endpoint-url https://eu2.contabostorage.com s3api get-bucket-policy --bucket foo

Entfernen Sie dann die Teile, die Sie entfernen möchten, und führen Sie put-bucket-policy erneut mit der geänderten Datei aus. Wenn es der letzte Eintrag darin ist, können Sie ihn auch komplett löschen:

aws --profile eu2 --endpoint-url https://eu2.contabostorage.com s3api delete-bucket-policy --bucket foo

Seien Sie jedoch vorsichtig, da dadurch alle Richtlinien für diesen Bucket gelöscht werden.

War dieser Artikel hilfreich?

Das ist großartig!

Vielen Dank für das Feedback

Leider konnten wir nicht helfen

Vielen Dank für das Feedback

Wie können wir diesen Artikel verbessern?

Wählen Sie wenigstens einen der Gründe aus
CAPTCHA-Verifikation ist erforderlich.

Feedback gesendet

Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren

Geändert am 02 Jul 2024

Sie konnten nicht finden, was Sie suchen?

Nehmen Sie Kontakt mit uns auf

Sie sind noch kein Kunde und haben eine Frage an uns?