Storage-Buckets für Projekte erstellen

Auf dieser Seite wird beschrieben, wie Sie Google Distributed Cloud (GDC) mit Air Gap-Storage-Buckets erstellen.

Hinweis

Ein Projekt-Namespace verwaltet Bucket-Ressourcen auf dem Management API-Server. Sie benötigen ein Projekt, um mit Buckets und Objekten zu arbeiten.

Außerdem benötigen Sie die entsprechenden Bucket-Berechtigungen, um den folgenden Vorgang auszuführen. Weitere Informationen finden Sie unter Bucket-Zugriff gewähren.

Richtlinien für die Benennung von Storage-Buckets

Bucket-Namen müssen den folgenden Namenskonventionen entsprechen:

  • Sie müssen innerhalb des Projekts eindeutig sein. Der Management API-Server stellt dem voll qualifizierten Namen des Buckets ein eindeutiges Präfix voran, um Konflikte innerhalb der Organisation zu vermeiden. Im unwahrscheinlichen Fall eines Konflikts zwischen Präfix und Bucket-Namen über Organisationen hinweg schlägt die Bucket-Erstellung mit dem Fehler „Bucket-Name wird verwendet“ fehl.
  • Geben Sie keine personenidentifizierbaren Informationen an.
  • Sie müssen DNS-konform sein.
  • Sie müssen mindestens 1 und maximal 55 Zeichen lang sein.
  • Sie müssen mit einem Buchstaben beginnen und dürfen nur Buchstaben, Zahlen und Bindestriche enthalten.

Bucket erstellen

Standardmäßig verwenden Buckets die Speicherklasse Standard. Wenn Nearline-Speicher von Ihrem Infrastrukturadministrator aktiviert wurde, können Sie auch die Storage-Klasse Nearline für Daten auswählen, auf die seltener zugegriffen wird. Nearline Storage wird sowohl für Einzelzonen- als auch für Dualzonen-Buckets unterstützt.

Console

  1. Klicken Sie im Navigationsmenü auf Object Storage.
  2. Wählen Sie in der Projektauswahl das Projekt aus, in dem Sie den Bucket erstellen möchten.
  3. Klicken Sie auf Bucket erstellen.
  4. Weisen Sie im Bucket-Erstellungsprozess einen Namen zu, der für alle Buckets im Projekt eindeutig ist.
  5. Geben Sie eine Beschreibung ein.
  6. Wählen Sie unter Speicherklasse die Option Standard oder Nearline aus. Die Option Nearline ist nur sichtbar, wenn Nearline Storage aktiviert ist.
  7. Optional: Klicken Sie auf die Schaltfläche toggle_off, um eine Aufbewahrungsrichtlinie festzulegen, und geben Sie die gewünschte Anzahl von Tagen ein. Wenden Sie sich an Ihren Infrastrukturadministrator, wenn Sie die Grenzwerte für die Aufbewahrungsrichtlinie überschreiten müssen.
  8. Klicken Sie auf Erstellen. Eine Erfolgsmeldung wird angezeigt und Sie werden zur Seite Buckets zurückgeleitet.

Wenn Sie prüfen möchten, ob Sie einen neuen Bucket erstellt haben, aktualisieren Sie die Seite Buckets nach einigen Minuten und prüfen Sie, ob sich der Bucket-Status von Not ready in Ready geändert hat.

API

Wenn Sie einen Bucket erstellen möchten, wenden Sie eine Bucket-Spezifikation auf Ihren Projekt-Namespace an:

kubectl apply -f bucket.yaml

Im Folgenden finden Sie ein Beispiel für eine Bucket-Spezifikation mit der Speicherklasse Standard:

apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: DESCRIPTION
  storageClass: Standard
  bucketPolicy:
    lockingPolicy:
      defaultObjectRetentionDays: RETENTION_DAY_COUNT

Im Folgenden finden Sie ein Beispiel für eine Bucket-Spezifikation mit der Speicherklasse Nearline:

apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: DESCRIPTION
  storageClass: Nearline
  bucketPolicy:
    lockingPolicy:
      defaultObjectRetentionDays: RETENTION_DAY_COUNT

Im Folgenden finden Sie ein Beispiel für eine Bucket-Spezifikation mit der Verschlüsselungsversion v1:

apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
  labels:
    object.gdc.goog/encryption-version: v1
spec:
  description: DESCRIPTION
  storageClass: Standard
  bucketPolicy:
    lockingPolicy:
      defaultObjectRetentionDays: RETENTION_DAY_COUNT

Weitere Informationen finden Sie in der Bucket API-Referenz.

Im Folgenden finden Sie ein Beispiel für eine Dualzonen-Bucket-Spezifikation in der globalen API für Organisationsadministratoren:

apiVersion: object.global.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: PROJECT_NAME
spec:
  location: LOCATION_NAME
  description: Sample DZ Bucket
  storageClass: Standard

Wenn Sie einen Dualzonen-Bucket mit Nearline Storage erstellen möchten, legen Sie storageClass: Nearline fest.

Beachten Sie, dass für Dualzonen-Buckets nur die V2-Verschlüsselung unterstützt wird und alle Vorgänge zum Erstellen, Aktualisieren oder Löschen einer Dualzonen-Bucket-Ressource auf dem globalen API-Server ausgeführt werden müssen.

gdcloud

So erstellen Sie mit gdcloud einen Einzelzonen-Bucket mit der Speicherklasse Nearline:

gdcloud storage buckets create BUCKET_NAME \
    --location=ZONE_NAME \
    --location-type=SingleZone \
    --storage-class=Nearline

So erstellen Sie mit gdcloud einen Dualzonen-Bucket mit dem globalen Standort:

gdcloud storage buckets create BUCKET_NAME \
    --location=ZONE_1,ZONE_2 \
    --location-type=AsyncDualZone \
    --storage-class=Nearline

Wenn --storage-class nicht angegeben ist, wird standardmäßig Standard verwendet.

Weitere Informationen finden Sie unter gdcloud storage buckets create.

Nachdem der Bucket erstellt wurde, können Sie den folgenden Befehl ausführen, um die Details des Buckets zu bestätigen und zu prüfen:

kubectl describe buckets BUCKET_NAME -n PROJECT_NAMESPACE

Der Abschnitt Status enthält zwei wichtige Felder: Encryption (für Verschlüsselungsdetails) und Fully Qualified Name (mit dem FULLY_QUALIFIED_BUCKET_NAME).

Verschlüsselung v1

Die Informationen beziehen sich auf den AEADKey mit dem Namen obj-FULLY_QUALIFIED_BUCKET_NAME, der als Referenz auf den Verschlüsselungsschlüssel dient, der zum Verschlüsseln von Objekten verwendet wird, die im Bucket gespeichert sind. Hier ein Beispiel:

Status:
  Encryption:
    Key Ref:
      Kind: AEADKey
      Name: obj-FULLY_QUALIFIED_BUCKET_NAME
      Namespace: PROJECT_NAMESPACE
    Type: CMEK

Verschlüsselung v2

Die Informationen beziehen sich auf das Secret mit dem Namen kek-ref-FULLY_QUALIFIED_BUCKET_NAME, das als Referenz für aktive Standard-AEADKeys dient. Aktive Standard-AEADKeys werden zufällig aus ausgewählt, um Objekte zu verschlüsseln, die in den Bucket hochgeladen werden, wenn kein bestimmter AEADKey angegeben ist.

Hier ein Beispiel:

Status:
  Encryption:
    Key Ref:
      Kind: Secret
      Name: kek-ref-FULLY_QUALIFIED_BUCKET_NAME
      Namespace: PROJECT_NAMESPACE
    Type: CMEK

Sie können auch den folgenden Befehl ausführen, um zu prüfen, ob die erforderlichen AEADKeys erstellt wurden:

kubectl get aeadkeys -n PROJECT_NAMESPACE -l  cmek.security.gdc.goog/resource-name=FULLY_QUALIFIED_BUCKET_NAME