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.

Details…

Nach oben scrollen