Buckets und User administrieren
Unsere Kundenschnittstelle Cockpit ermöglicht dir, unser Produkt "Object Storage" selbstständig zu beziehen und zu verwalten.
Begriffe
Bucket: Ein Bucket stellt eine Art Container dar, in dem du deine Daten speicherst.
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 du deinen Bucket für Backups verwenden möchtest. In diesem Fall ist es ratsam, den Bucket nicht im selben Rechenzentrum zu erstellen, in dem sich deine Systeme befinden.
Möchtest du den Bucket hingegen über ein Netzwerkprotokoll direkt an deine Systeme anbieten, wäre es aufgrund niedrigerer Latenzen ratsam, die "Location" zu wählen, in der sich deine Systeme befinden.
| API / Cockpit Name | Name | Standort | Notizen |
|---|---|---|---|
| nine-cz42 | ColoZüri 4.2 | Altstetten, Zürich | |
| nine-es34 | NTT Zürich 1 | Rümlang |
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
Benutzer erstellst du im Reiter Bucket Users in unserem Self-Service-Portal.
-
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
Ein Wechsel der Location ist nach Erstellung des Benutzers nicht möglich.
- 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.
Nach dem Erstellen eines Buckets kannst du 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
Buckets erstellst du im Reiter Bucket.
-
Stelle sicher, dass
nctlinstalliert ist. -
Authentifiziere dich mit unserer API über
nctl:nctl auth login -
Sobald nctl bereit ist, kannst du deinen 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 erhältst du mit:
nctl create bucket --helpnoteEinige Flags wie
--permissionsund--corskö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=ingestnctl 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=ingestnctl 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=ingestnctl 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: 3600nctl 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: 3600nctl 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
Du kannst die meisten Bucket-Einstellungen aktualisieren, jedoch kann der Standort eines Buckets nach der Erstellung nicht mehr geändert werden. Wenn du einen anderen Standort benötigst, erstelle bitte einen neuen Bucket und migriere deine Daten.
- Cockpit
- nctl
Du aktualisierst Buckets im Reiter Bucket.
-
Eine vollständige Beschreibung aller verfügbaren Flags und Optionen erhältst du mit:
nctl update bucket --help -
Beispiele
Permissions:
# Gemischte Nutzung: weitere Leser hinzufügen# Ergebnis:# reader=frontend,analytics,john,guest1,guest2# writer=ingestnctl 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 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=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 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
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. Solltest du mehr als 1 TB Speicherplatz benötigen, bitten wir dich, uns zu kontaktieren, um dein Kontingent anzupassen.