Buckets und User administrieren
Unsere Kundenschnittstelle Cockpit ermöglicht Ihnen, unser Produkt "Object Storage" selbstständig zu beziehen und zu verwalten.
Begriffe
Bucket: Ein Bucket stellt eine Art Container dar, in dem Sie Ihre Daten speichern.
Bucket User: Jedem angelegten Benutzer kann Zugriff auf mehrere Buckets gewährt werden. Ein Benutzer verfügt jeweils über einen "access key" und einen "secret key". Diese Informationen sind zur Anmeldung am System erforderlich.
Welche "Location" soll ich wählen?
Die Wahl der "Location" spielt eine wichtige Rolle, wenn Sie Ihren Bucket für Backups verwenden möchten. In diesem Fall ist es ratsam, den Bucket nicht im selben Rechenzentrum zu erstellen, in dem sich Ihre Systeme befinden.
Möchten Sie den Bucket hingegen über ein Netzwerkprotokoll direkt an Ihre Systeme anbieten, wäre es aufgrund niedrigerer Latenzen ratsam, die "Location" zu wählen, in der sich Ihre Systeme befinden.
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.
- Cockpit
- nctl
Sie erstellen Benutzer im Reiter Bucket Users in unserem Self-Service-Portal.
-
Stellen Sie sicher, dass
nctl
installiert ist. -
Authentifizieren Sie sich mit unserer API über
nctl
:nctl auth login
-
Erstellen Sie einen neuen Benutzer:
nctl create bucketuser <name>
noteFalls Sie einen Standort angeben möchten – standardmässig wird nine-cz42 verwendet.
Beispiel:
nctl create bucketuser <name> --location=nine-cz42
Benutzer aktualisieren
Ein Wechsel der Location ist nach Erstellung des Benutzers nicht möglich.
- Cockpit
- nctl
Sie aktualisieren Benutzer im Reiter Bucket Users.
-
Beispiele:
Zugangsdaten zurücksetzen:
nctl update bucketuser <name> --reset-credentials
Benutzer löschen
Sie können Benutzer jederzeit über das Cockpit oder über nctl
löschen.
Bitte beachten Sie, dass Benutzer, die noch Zugriff auf Buckets haben, gegebenenfalls zuerst aus diesen entfernt werden müssen.
- Cockpit
- nctl
Sie löschen Benutzer 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 müssen Sie immer einen eindeutigen Namen und einen
Standort angeben.
Die folgenden Einstellungen können Sie 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.
Nach dem Erstellen eines Buckets können Sie festlegen, welche Benutzer Zugriff auf den neuen Bucket erhalten sollen. Benutzern kann ein Lesezugriff oder Schreibzugriff gewährt werden.
Es können nur Benutzer aus derselben Location gewählt werden, in der der Bucket angelegt wurde.
- Cockpit
- nctl
Sie erstellen Buckets im Reiter [Bucket](https://cockpit.nine.ch/de/ object_storage/storage/buckets).
-
Stellen Sie sicher, dass
nctl
installiert ist. -
Authentifizieren Sie sich mit unserer API über
nctl
:nctl auth login
-
Sobald nctl bereit ist, können Sie Ihren ersten Bucket erstellen. Für ein minimales Beispiel ist nur der Standort erforderlich.
nctl create bucket my-bucket --location=nine-cz41
-
Eine vollständige Beschreibung aller verfügbaren Flags und Optionen erhalten Sie mit:
nctl create bucket --help
noteEinige Flags wie
--permissions
und--cors
können mehrfach verwendet werden. Diese werden deterministisch zusammengeführt, wobei doppelte Einträge automatisch entfernt werden. Lifecycle-Policies verhalten sich anders, da jedes--lifecycle-policy
-Flag eine eigene, separate Policy erstellt.Die allgemeine Regel lautet: Schlüssel werden mit
;
getrennt, mehrere Werte mit,
. -
Beispiele
Permissions:
# Mehrere Flags mit jeweils eine Permission (deterministisch zusammengeführt, Duplikate entfernt)
# Ergebnis:
# reader=frontend,analytics,john
# writer=ingest
nctl create bucket my-bucket --permissions reader=frontend,analytics \
--permissions writer=ingest \
--permissions reader=john
# Mehrere Permissions in einem Flag (deterministisch zusammengeführt, Duplikate entfernt)
# Ergebnis:
# reader=frontend,analytics,john
# writer=ingest
nctl create bucket my-bucket --permissions reader=frontend,analytics;writer=ingest;reader=john
# Gemischte Nutzung: mehrere Flags, jeweils mit einzelnen oder mehreren Permissions
# Ergebnis:
# reader=frontend,analytics,john,guest1,guest2
# writer=ingest
nctl create bucket my-bucket --permissions reader=frontend,analytics;writer=ingest;reader=john \
--permissions reader=guest1,guest2Lifecycle Policy:
# Eine Policy
# Ergebnis: policy for `logs/`
nctl create bucket my-bucket --lifecycle-policy prefix=logs/;expire-after-days=7;is-live=true
# Mehrere Policies (Flag wiederholen)
# Ergebnis: zwei Policies: `tmp/` and `archive/`
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=falseCORS:
# Ein einzelnes Flag (deterministisch zusammengeführt, Duplikate entfernt)
# Ergebnis:
# origins: https://example.com,https://app.example.com
# response-headers: X-My-Header,ETag
# max-age: 3600
nctl create bucket my-bucket --cors origins=https://example.com,https://app.example.com;response-headers=X-My-Header,ETag;max-age=3600
# Oder mit doppelten Schlüsseln (zusammengeführt):
nctl create bucket my-bucket --cors origins=https://example.com;response-headers=X-My-Header;max-age=3600;origins=https://app.example.com;response-headers=ETag
# Mehrere Flags (deterministisch zusammengeführt, Duplikate entfernt)
# Ergebnis:
# origins: https://example.com,https://app.example.com
# response-headers: X-My-Header,ETag
# max-age: 3600
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
Buckets aktualisieren
Sie können die meisten Bucket-Einstellungen aktualisieren, jedoch kann der Standort eines Buckets nach der Erstellung nicht mehr geändert werden. Wenn Sie einen anderen Standort benötigen, erstellen Sie bitte einen neuen Bucket und migrieren Sie Ihre Daten.
- Cockpit
- nctl
Sie aktualisieren Buckets im Reiter Bucket.
-
Eine vollständige Beschreibung aller verfügbaren Flags und Optionen erhalten Sie mit:
nctl update bucket --help
-
Beispiele
Permissions:
# Gemischte Nutzung: weitere Leser hinzufügen
# Ergebnis:
# reader=frontend,analytics,john,guest1,guest2
# writer=ingest
nctl update bucket my-bucket \
--permissions reader=frontend,analytics;writer=ingest;reader=john \
--permissions reader=guest1,guest2
# Bestimmte Rollen/Nutzer entfernen
# Entfernt reader=john und writer=ingest (andere bleiben bestehen)
nctl update bucket my-bucket \
--delete-permissions reader=john;writer=ingestLifecycle Policies:
# Eine bestimmte Policy nach exakter Definition entfernen
nctl 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ügen
nctl 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=falseCORS:
# Mehrere Flags (deterministisch zusammengeführt)
nctl 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=ETagCustom Hostnames:
# Einen Hostname entfernen
nctl update bucket my-bucket \
--delete-custom-hostnames assets.example.com
# Alle Hostnamen entfernen und einen neuen in einem Durchlauf setzen
nctl 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 finden Sie im Reiter Bucket.
-
Verwenden Sie
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. Sie können auch detaillierte Informationen mit den--print-*
-Flags ausgeben.nctl get bucket <name> [flags]
-
Eine vollständige Beschreibung aller verfügbaren Flags und Optionen erhalten Sie mit:
nctl get bucket --help
Wie greife ich auf meine Buckets zu?
Auf Buckets kann über die S3-kompatible API oder per HTTP zugegriffen werden. Hierfür bieten sich verschiedene Open Source Tools und Frameworkintegrationen an.
Preise
per GB | v1 | v2 |
---|---|---|
Speicherplatz | 0,09 CHF | 0,03 CHF |
Ausgehender Datenverkehr | 0,02 CHF | 0,02 CHF |
Die Abrechnung des Speicherplatzes erfolgt je angebrochenem Gigabyte. Sollten Sie mehr als 1 TB Speicherplatz benötigen, bitten wir Sie, uns zu kontaktieren, um Ihr Kontingent anzupassen.