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
- Klicken Sie im Navigationsmenü auf Object Storage.
- Wählen Sie in der Projektauswahl das Projekt aus, in dem Sie den Bucket erstellen möchten.
- Klicken Sie auf Bucket erstellen.
- Weisen Sie im Bucket-Erstellungsprozess einen Namen zu, der für alle Buckets im Projekt eindeutig ist.
- Geben Sie eine Beschreibung ein.
- Wählen Sie unter Speicherklasse die Option Standard oder Nearline aus. Die Option Nearline ist nur sichtbar, wenn Nearline Storage aktiviert ist.
- 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.
- 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.
Erstellung von Buckets und zugehörigen Ressourcen prüfen
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