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?
- 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.
- 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). - 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“: „*“ } ] }
- 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
Feedback gesendet
Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren