Crea bucket di archiviazione per i progetti

Questa pagina mostra come creare bucket di archiviazione air-gapped di Google Distributed Cloud (GDC).

Prima di iniziare

Uno spazio dei nomi del progetto gestisce le risorse dei bucket nel server dell'API di gestione. Devi avere un progetto per lavorare con bucket e oggetti.

Devi anche disporre delle autorizzazioni del bucket appropriate per eseguire la seguente operazione. Consulta Concedere l'accesso al bucket.

Indicazioni per la denominazione dei bucket di archiviazione

I nomi dei bucket devono rispettare le seguenti convenzioni di denominazione:

  • Essere univoci all'interno del progetto. Il server dell'API di gestione antepone un prefisso univoco al nome completo del bucket, assicurandosi che non ci siano conflitti all'interno dell'organizzazione. Nell'improbabile caso di un conflitto tra prefisso e nome del bucket tra le organizzazioni, la creazione del bucket non riesce e viene visualizzato l'errore "bucket name in use".
  • Non includere informazioni che consentono l'identificazione personale (PII).
  • Essere conformi al DNS.
  • Avere almeno 1 e non più di 55 caratteri.
  • Iniziare con una lettera e utilizzare solo lettere, numeri e trattini.

Crea un bucket

Per impostazione predefinita, i bucket utilizzano la classe di archiviazione Standard. Se l'operatore dell'infrastruttura (IO) ha attivato Nearline Storage, puoi anche selezionare la classe di archiviazione Nearline per i dati a cui si accede meno frequentemente. Nearline Storage è supportato sia per i bucket a zona singola sia per quelli a doppia zona.

Console

  1. Nel menu di navigazione, fai clic su Object Storage.
  2. Nel selettore del progetto, seleziona il progetto in cui vuoi creare il bucket.
  3. Fai clic su Crea bucket.
  4. Nel flusso di creazione del bucket, assegna un nome univoco a tutti i bucket all'interno del progetto.
  5. Inserisci una descrizione.
  6. In Classe di archiviazione, seleziona Standard o Nearline. L'opzione Nearline è visibile solo se Nearline Storage è attivato.
  7. (Facoltativo) Fai clic sul pulsante di attivazione/disattivazione toggle_off per impostare una policy di conservazione e inserisci il numero di giorni che preferisci. Contatta il tuo IO se devi superare i limiti della policy di conservazione.
  8. Fai clic su Crea. Viene visualizzato un messaggio di conferma e viene visualizzata di nuovo la pagina Bucket.

Per verificare di aver creato correttamente un nuovo bucket, aggiorna la pagina Bucket dopo qualche minuto e controlla che lo stato del bucket passi da Not ready a Ready.

API

Per creare un bucket, applica una specifica del bucket allo spazio dei nomi del progetto:

kubectl apply -f bucket.yaml

Di seguito è riportato un esempio di specifica del bucket che utilizza la classe di archiviazione 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

Di seguito è riportato un esempio di specifica del bucket che utilizza la classe di archiviazione 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

Di seguito è riportato un esempio di specifica del bucket con la versione di crittografia 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

Per ulteriori dettagli, consulta il riferimento API del bucket.

Di seguito è riportato un esempio di specifica del bucket a doppia zona nell'API globale di amministrazione dell'organizzazione:

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

Per creare un bucket a doppia zona utilizzando Nearline Storage, imposta storageClass: Nearline.

Tieni presente che per i bucket a doppia zona è supportata solo la crittografia V2 e tutte le operazioni per creare, aggiornare o eliminare una risorsa bucket a doppia zona devono essere eseguite sul server dell'API globale.

gdcloud

Per creare un bucket a zona singola con gdcloud utilizzando la classe di archiviazione Nearline:

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

Per creare un bucket a doppia zona con gdcloud utilizzando la località globale:

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

Se --storage-class viene omesso, viene utilizzato Standard per impostazione predefinita.

Per ulteriori dettagli, consulta gdcloud storage buckets create.

Una volta creato il bucket, puoi eseguire il seguente comando per confermare e controllare i dettagli del bucket:

kubectl describe buckets BUCKET_NAME -n PROJECT_NAMESPACE

La sezione Stato contiene due campi importanti: Crittografia (per i dettagli della crittografia) e Nome completo (che contiene FULLY_QUALIFIED_BUCKET_NAME).

Crittografia v1

Le informazioni riguardano AEADKey denominata obj-FULLY_QUALIFIED_BUCKET_NAME, che funge da riferimento alla chiave di crittografia utilizzata per criptare gli oggetti archiviati nel bucket. Ecco un esempio:

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

Crittografia v2

Le informazioni riguardano il secret denominato kek-ref-FULLY_QUALIFIED_BUCKET_NAME, che funge da riferimento per le chiavi AEAD predefinite attive. Le chiavi AEAD predefinite attive vengono selezionate in modo casuale per criptare gli oggetti caricati nel bucket quando non viene specificata una chiave AEAD specifica.

Ecco un esempio:

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

Puoi anche eseguire il seguente comando per verificare che le chiavi AEAD necessarie siano state create:

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