Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa pagina ti guida alla creazione di un bucket di archiviazione per i tuoi progetti air-gap di Google Distributed Cloud (GDC). Vengono trattati i prerequisiti, i passaggi di creazione e verifica e le linee guida per la denominazione. In questo modo, puoi stabilire uno spazio di archiviazione degli oggetti conforme e ben configurato che soddisfi le esigenze delle tue implementazioni isolate.
Questa pagina è rivolta a segmenti di pubblico come gli amministratori IT all'interno del gruppo di operatori dell'infrastruttura o gli sviluppatori all'interno del gruppo di operatori dell'applicazione che vogliono eseguire il provisioning e gestire i bucket di archiviazione degli oggetti per i progetti all'interno degli ambienti air-gap di GDC. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gapped.
Prima di iniziare
Uno spazio dei nomi del progetto gestisce le risorse bucket nel server API Management. Per utilizzare bucket e oggetti, devi disporre di un progetto.
Devi inoltre disporre delle autorizzazioni del bucket appropriate per eseguire la seguente operazione. Consulta Concedere l'accesso al bucket.
Linee guida per la denominazione dei bucket di archiviazione
I nomi dei bucket devono rispettare le seguenti convenzioni di denominazione:
Essere univoco all'interno del progetto. Un progetto aggiunge un prefisso univoco al nome del bucket, garantendo che non si verifichino conflitti all'interno dell'organizzazione. Nel raro
caso di 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" (nome del bucket in uso).
Evita di includere informazioni che consentono l'identificazione personale (PII).
Essere conforme al DNS.
Deve contenere almeno 1 e non più di 55 caratteri.
Inizia con una lettera e utilizza solo lettere, numeri e trattini.
Crea un bucket
Console
Nel menu di navigazione, fai clic su Object Storage.
Fai clic su Crea bucket.
Nel flusso di creazione del bucket, assegna un nome univoco per tutti i bucket all'interno del progetto.
Inserisci una descrizione.
(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 dei criteri di conservazione.
Fai clic su Crea. Viene visualizzato un messaggio di operazione riuscita e viene reindirizzato alla 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 venga aggiornato da Not ready a Ready.
Interfaccia a riga di comando
Per creare un bucket, applica una specifica del bucket allo spazio dei nomi del progetto:
kubectlapply-fbucket.yaml
Di seguito è riportato un esempio di specifica del bucket:
Tieni presente che solo la crittografia V2 è supportata per i bucket dual-zone e tutte le operazioni per la creazione, l'aggiornamento o l'eliminazione di una risorsa bucket dual-zone devono essere eseguite sul server API globale.
Verifica la creazione del bucket e delle risorse correlate
Una volta creato il bucket, puoi eseguire questo comando per confermare e controllare i dettagli del bucket:
kubectldescribebucketsBUCKET_NAME-nNAMESPACE_NAME
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 la chiave AEAD 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:
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.
Dopo aver creato un bucket, puoi gestirlo per conto degli operatori delle applicazioni (AO) creando un file di policy quando concedi l'accesso al bucket e assegnando la policy a un bucket.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[[["\u003cp\u003eThis page details how to create Google Distributed Cloud (GDC) air-gapped storage buckets, which must be unique within a project and adhere to specific naming conventions.\u003c/p\u003e\n"],["\u003cp\u003eCreating a bucket requires a project namespace and appropriate bucket permissions, with the bucket being automatically encrypted using either \u003ccode\u003ev1\u003c/code\u003e or the recommended default \u003ccode\u003ev2\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eBuckets can be created either through the Console interface, where you specify the bucket name and other attributes, or using the command-line interface (CLI) by applying a bucket specification YAML file.\u003c/p\u003e\n"],["\u003cp\u003eOnce a bucket is created, its status can be verified by checking if the state changes from \u003ccode\u003eNot ready\u003c/code\u003e to \u003ccode\u003eReady\u003c/code\u003e and by examining the encryption details within its status section, which includes the key reference.\u003c/p\u003e\n"],["\u003cp\u003eThe management of the created bucket can also be done, by creating a policy file when granting bucket access and assigning it.\u003c/p\u003e\n"]]],[],null,["# Create storage buckets\n\nThis page guides you through how to create a storage bucket for your Google Distributed Cloud (GDC) air-gapped projects. It covers prerequisites, creation and verification steps, and naming guidelines. This helps you establish compliant and well-configured object storage that meets the needs of your isolated deployments.\n\nThis page is for audiences such as IT admins within the infrastructure operator group or developers within the application operator group who are looking to provision and manage object storage buckets for projects within GDC air-gapped environments. For more information, see [Audiences for GDC air-gapped documentation](/distributed-cloud/hosted/docs/latest/gdch/resources/audiences).\n\nBefore you begin\n----------------\n\nA project namespace manages bucket resources in the Management API server. You\nmust have a [project](/distributed-cloud/hosted/docs/latest/gdch/platform/pa-user/project-management) to work with buckets and objects.\n\nYou must also have the appropriate bucket permissions to perform the following\noperation. See [Grant bucket access](/distributed-cloud/hosted/docs/latest/gdch/platform/pa-user/grant-obtain-storage-access#grant_bucket_access).\n\nStorage bucket naming guidelines\n--------------------------------\n\nBucket names must adhere to the following naming conventions:\n\n- Be unique within the project. A project appends a unique prefix to the bucket name, ensuring there aren't clashes within the organization. In the unlikely event of a prefix and bucket name clash across organizations, the bucket creation fails with a \"bucket name in use\" error.\n- Refrain from including any personally identifiable information (PII).\n- Be DNS-compliant.\n- Have at least 1 and no more than 55 characters.\n- Start with a letter and use only letters, numbers, and hyphens.\n\nCreate a bucket\n---------------\n\n**Note:** The bucket that is created will be automatically encrypted with either version `v1` or `v2`. `v2` will be the default if the `encryption-version` label is not specified since `v2` bucket is strongly recommended as it has better encryption and security. `v1` is only recommended if you need higher performance for many small objects. \n\n### Console\n\n1. In the navigation menu, click **Object Storage**.\n2. Click **Create Bucket**.\n3. In the bucket creation flow, assign a name unique across all buckets within the project.\n4. Enter a description.\n5. Optional: Click the toggle_off toggle to set a retention policy and enter your preferred number of days. Contact your IO if you need to exceed retention policy limits.\n6. Click **Create** . A success message appears and you are directed back to the **Buckets** page.\n\nTo verify that you have successfully created a new bucket, refresh the **Buckets** page after a few minutes and check that the bucket state updates from `Not ready` to `Ready`.\n\n### CLI\n\nTo create a bucket, apply a bucket specification to your project namespace: \n\n kubectl apply -f bucket.yaml\n\nThe following is an example of a bucket specification: \n\n apiVersion: object.gdc.goog/v1\n kind: Bucket\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eBUCKET_NAME\u003c/span\u003e\u003c/var\u003e\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eNAMESPACE_NAME\u003c/span\u003e\u003c/var\u003e\n spec:\n description: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eDESCRIPTION\u003c/span\u003e\u003c/var\u003e\n storageClass: Standard\n bucketPolicy:\n lockingPolicy:\n defaultObjectRetentionDays: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eRETENTION_DAY_COUNT\u003c/span\u003e\u003c/var\u003e\n\nThe following is an example of a bucket specification with encryption version as `v1`: \n\n apiVersion: object.gdc.goog/v1\n kind: Bucket\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eBUCKET_NAME\u003c/span\u003e\u003c/var\u003e\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eNAMESPACE_NAME\u003c/span\u003e\u003c/var\u003e\n labels:\n object.gdc.goog/encryption-version: v1\n spec:\n description: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eDESCRIPTION\u003c/span\u003e\u003c/var\u003e\n storageClass: Standard\n bucketPolicy:\n lockingPolicy:\n defaultObjectRetentionDays: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eRETENTION_DAY_COUNT\u003c/span\u003e\u003c/var\u003e\n\nFor more details, see the [Bucket API reference](../../apis/storage-krm-api.md).\n\nThe following is an example of a dual-zone bucket in org-admin global API: \n\n apiVersion: object.global.gdc.goog/v1\n kind: Bucket\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eBUCKET_NAME\u003c/span\u003e\u003c/var\u003e\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePROJECT_NAME\u003c/span\u003e\u003c/var\u003e\n spec:\n location: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eLOCATION_NAME\u003c/span\u003e\u003c/var\u003e\n description: Sample DZ Bucket\n storageClass: Standard\n\nNote that only V2 encryption is supported for dual-zone buckets and all operations for creating, updating, or deleting a dual-zone bucket resource must be performed against the global API server.\n\n### gdcloud\n\nTo create a bucket with gdcloud, follow [gdcloud storage buckets create](/distributed-cloud/hosted/docs/latest/gdch/resources/gdcloud-reference/gdcloud-storage-buckets-create).\n\nVerify bucket and related resource creation\n-------------------------------------------\n\nOnce the bucket is created, you can run the following command to confirm and check the details of the bucket: \n\n kubectl describe buckets \u003cvar translate=\"no\"\u003eBUCKET_NAME\u003c/var\u003e -n \u003cvar translate=\"no\"\u003eNAMESPACE_NAME\u003c/var\u003e\n\nThe **Status** section has two important fields: **Encryption** (for encryption details) and **Fully Qualified Name** (which contains the \u003cvar translate=\"no\"\u003eFULLY_QUALIFIED_BUCKET_NAME\u003c/var\u003e). \n\n### Encryption v1\n\nThe information is about the AEADKey named as `obj-`\u003cvar translate=\"no\"\u003eFULLY_QUALIFIED_BUCKET_NAME\u003c/var\u003e, which serves as a reference to the encryption key employed for encrypting objects stored within the bucket. Here is an example: \n\n Status:\n Encryption:\n Key Ref:\n Kind: AEADKey\n Name: obj-\u003cvar translate=\"no\"\u003eFULLY_QUALIFIED_BUCKET_NAME\u003c/var\u003e\n Namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eNAMESPACE_NAME\u003c/span\u003e\u003c/var\u003e\n Type: CMEK\n\n### Encryption v2\n\nThe information pertains to the Secret named as `kek-ref-`\u003cvar translate=\"no\"\u003eFULLY_QUALIFIED_BUCKET_NAME\u003c/var\u003e, which acts as a reference for active default AEADKeys. Active default AEADKeys are randomly selected from to encrypt objects uploaded to the bucket when specific AEADKey is not specified.\n| **Note:** Inactive default AEADKeys are those that are no longer referenced in the Secret. See the Manage Encryption Resources section for more info.\n\nHere is an example: \n\n Status:\n Encryption:\n Key Ref:\n Kind: Secret\n Name: kek-ref-\u003cvar translate=\"no\"\u003eFULLY_QUALIFIED_BUCKET_NAME\u003c/var\u003e\n Namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eNAMESPACE_NAME\u003c/span\u003e\u003c/var\u003e\n Type: CMEK\n\nYou can also run the following command to verify needed AEADKeys are created: \n\n kubectl get aeadkeys -n \u003cvar translate=\"no\"\u003eNAMESPACE_NAME\u003c/var\u003e -l cmek.security.gdc.goog/resource-name=\u003cvar translate=\"no\"\u003eFULLY_QUALIFIED_BUCKET_NAME\u003c/var\u003e\n\nAfter creating a bucket, you can manage it on behalf of Application Operators (AOs) by creating a policy file when granting bucket access and assign the policy to a bucket."]]