Buckets und User administrieren
Unsere Kundenschnittstelle Cockpit ermöglicht dir, unser Produkt "Object Storage" selbstständig zu beziehen und zu verwalten.
Alle Standorte befinden sich physisch in der Schweiz — siehe Rechenzentrums-Standorte für Details.
Benutzer verwalten
Benutzer können über das Cockpit, nctl oder die API verwaltet werden.
Ein Benutzer kann nur Zugriff auf jene Buckets erhalten, die sich in derselben Location befinden.
Benutzer erstellen
- Cockpit
- nctl
Benutzer erstellst du im Reiter Bucket Users im Cockpit.
-
Stelle sicher, dass
nctlinstalliert ist. -
Authentifiziere dich mit unserer API über
nctl:nctl auth login -
Erstelle einen neuen Benutzer:
nctl create bucketuser <name>noteFalls du einen Standort angeben möchtest – standardmässig wird nine-cz42 verwendet.
Beispiel:
nctl create bucketuser <name> --location=nine-cz42
Benutzer aktualisieren
- Cockpit
- nctl
Du aktualisierst Benutzer im Reiter Bucket Users.
-
Beispiele:
Zugangsdaten zurücksetzen:
nctl update bucketuser <name> --reset-credentials
Benutzer löschen
Du kannst Benutzer jederzeit über das Cockpit oder über nctl löschen.
Bitte beachte, dass Benutzer, die noch Zugriff auf Buckets haben, gegebenenfalls zuerst aus diesen entfernt werden müssen.
- Cockpit
- nctl
Benutzer löschst du im Reiter Bucket Users im Self-Service-Portal.
-
Beispiel:
nctl delete bucketuser <name>
Buckets verwalten
Buckets erstellen
Buckets können über das Cockpit, nctl oder die API verwaltet werden. Beim Erstellen eines Buckets musst du immer einen eindeutigen Namen und einen Standort angeben.
Die folgenden Einstellungen kannst du optional vornehmen:
- Versionierung: Die Dateien werden versioniert abgelegt. Dadurch wird mehr Speicherplatz belegt, die Daten sind bspw. aber vor ungewolltem Überschreiben geschützt.
- Öffentlich lesbar: Die Daten des Buckets können ohne Authentifizierung abgerufen oder heruntergeladen werden.
- Öffentlich auflisten: Über die angegebene öffentliche URL kann eine Liste der Dateien im Bucket abgerufen werden. Die Option setzt voraus, dass "Öffentlich lesbar" aktiviert wurde.
- Location: Definiert den Standort der Daten.
Alle Optionen, mit Ausnahme der "Location", können zu einem späteren Zeitpunkt nach Bedarf angepasst werden.
- Cockpit
- nctl
Buckets erstellst du im Reiter Bucket.
-
Stelle sicher, dass
nctlinstalliert ist. -
Authentifiziere dich mit unserer API über
nctl:nctl auth login -
Erstelle einen Bucket mit Angabe des erforderlichen Standorts:
nctl create bucket my-bucket --location=nine-cz41 -
Eine vollständige Beschreibung aller verfügbaren Flags und Optionen erhältst du mit:
nctl create bucket --help
Bucket-Berechtigungen
Nach dem Erstellen eines Buckets kannst du festlegen, welche Benutzer Zugriff auf den Bucket erhalten sollen. Benutzern kann Lesezugriff (reader) oder Schreibzugriff (writer) gewährt werden. Es können nur Benutzer aus derselben Location gewählt werden, in der der Bucket angelegt wurde.
- Cockpit
- nctl
Berechtigungen verwaltest du im Reiter Bucket, indem du einen Bucket auswählst und die Zugriffsrechte anpasst.
Das --permissions-Flag kann mehrfach verwendet werden. Die Werte werden deterministisch zusammengeführt und Duplikate automatisch entfernt. Schlüssel werden mit ; getrennt, mehrere Werte mit ,.
-
Beispiele beim Erstellen eines Buckets:
# Mehrere Flags mit jeweils einer Permission (deterministisch zusammengeführt, Duplikate entfernt)# Ergebnis: reader=frontend,analytics,john; writer=ingestnctl create bucket my-bucket --permissions reader=frontend,analytics \--permissions writer=ingest \--permissions reader=john# Mehrere Permissions in einem Flagnctl create bucket my-bucket --permissions reader=frontend,analytics;writer=ingest;reader=john -
Beispiele beim Aktualisieren eines bestehenden Buckets:
# Weitere Leser hinzufügennctl update bucket my-bucket \--permissions reader=frontend,analytics;writer=ingest;reader=john \--permissions reader=guest1,guest2# Bestimmte Rollen/Nutzer entfernennctl update bucket my-bucket \--delete-permissions reader=john;writer=ingest
Lifecycle-Policies
Lifecycle-Policies ermöglichen dir das automatische Festlegen von Ablauf- und Aufbewahrungsregeln für Objekte in einem Bucket basierend auf Präfixen.
Lifecycle-Policies können über nctl oder die API verwaltet werden. Sie sind derzeit nicht im Cockpit konfigurierbar.
- nctl
Jedes --lifecycle-policy-Flag erstellt eine eigene, separate Policy. Schlüssel-Wert-Paare innerhalb einer Policy werden mit ; getrennt.
-
Bucket mit Lifecycle-Policies erstellen:
# Eine Policy (z. B. für `logs/`)nctl create bucket my-bucket --lifecycle-policy prefix=logs/;expire-after-days=7;is-live=true# Mehrere Policies (Flag wiederholen)nctl create bucket my-bucket --lifecycle-policy prefix=tmp/;expire-after=72h;is-live=true \--lifecycle-policy prefix=archive/;expire-after-days=365;is-live=false -
Lifecycle-Policies bei einem bestehenden Bucket aktualisieren oder entfernen:
# Eine bestimmte Policy nach exakter Definition entfernennctl update bucket my-bucket \--delete-lifecycle-policy prefix=tmp/;expire-after=72h;is-live=true# Alle Policies löschen und zwei neue in einem Durchlauf hinzufügennctl update bucket my-bucket \--clear-lifecycle-policies \--lifecycle-policy prefix=logs/;expire-after-days=7;is-live=true \--lifecycle-policy prefix=archive/;expire-after-days=365;is-live=false
CORS-Konfiguration
Cross-Origin Resource Sharing (CORS) definiert, wie Webanwendungen von einer anderen Domain aus auf Ressourcen in deinem Bucket zugreifen dürfen.
- nctl
Das --cors-Flag kann mehrfach verwendet werden. Einträge werden deterministisch zusammengeführt. Schlüssel-Wert-Paare werden mit ; getrennt, mehere Werte mit ,.
-
Bucket mit CORS-Konfiguration erstellen:
# Ein einzelnes Flagnctl create bucket my-bucket --cors origins=https://example.com,https://app.example.com;response-headers=X-My-Header,ETag;max-age=3600# Mehrere Flags (deterministisch zusammengeführt)nctl create bucket my-bucket --cors origins=https://example.com;response-headers=ETag \--cors origins=https://app.example.com;response-headers=X-My-Header \--cors max-age=3600 -
CORS-Konfiguration bei einem bestehenden Bucket aktualisieren oder löschen:
# CORS-Konfiguration aktualisierennctl update bucket my-bucket \--cors origins=https://example.com;response-headers=ETag \--cors origins=https://app.example.com;response-headers=X-My-Header \--cors max-age=3600# Bestimmte CORS-Einträge entfernen (nach Schlüssel/Wert)nctl update bucket my-bucket \--delete-cors origins=https://app.example.com;response-headers=ETag
Custom Hostnames
Du kannst eigene Domainnamen für deinen Bucket festlegen und verwalten.
- nctl
-
Custom Hostnames aktualisieren:
# Einen Hostname entfernennctl update bucket my-bucket \--delete-custom-hostnames assets.example.com# Alle Hostnamen entfernen und einen neuen in einem Durchlauf setzennctl update bucket my-bucket \--clear-custom-hostnames \--custom-hostnames media.example.com
Bucket-Details abrufen
Die Konfiguration eines Buckets kann jederzeit über das Cockpit, nctl oder die API eingesehen werden.
- Cockpit
- nctl
Bucket-Details findest du im Reiter Bucket.
-
Verwende
get, um die Konfiguration und den Status eines Buckets zu überprüfen. Standardmässig wird eine Zusammenfassung (Name, Standort, Tier, Public-Flags, Versionierung usw.) angezeigt. Du kannst auch detaillierte Informationen mit den--print-*-Flags ausgeben:nctl get bucket <name> [flags] -
Eine vollständige Beschreibung aller verfügbaren Flags und Optionen erhältst du mit:
nctl get bucket --help
Bucket Zugriff
Auf Buckets kann über die S3-kompatible API oder per HTTP zugegriffen werden. Hierfür bieten sich verschiedene Open-Source-Tools und Frameworkintegrationen an.