Questa pagina mostra come creare bucket WORM di archiviazione air-gapped di Google Distributed Cloud (GDC).
Prima di iniziare
I bucket di archiviazione sono risorse con ambito ristretto a un progetto specifico. Il progetto funge da container, raggruppando i bucket e consentendone la gestione tramite il server API di gestione. Prima di poter eseguire le operazioni descritte in questa pagina, devi creare un nuovo progetto o selezionarne uno esistente in cui disponi di autorizzazioni sufficienti.
Ruoli IAM richiesti
Contatta l'amministratore del progetto IAM per richiedere i seguenti ruoli nello spazio dei nomi del progetto:
- Amministratore bucket progetto (
project-bucket-admin): crea, aggiorna ed elimina i bucket di archiviazione. - Visualizzatore oggetti bucket progetto (
project-bucket-object-viewer): visualizza e controlla i dettagli dei bucket e degli oggetti di archiviazione.
Per maggiori informazioni, vedi Concedere l'accesso ai bucket.
Prepara l'ambiente
Per eseguire comandi sul server API di gestione o sul server API globale:
- Accedi e genera il file kubeconfig per il server API di gestione zonale, se non ne hai uno.
- Per i bucket a doppia zona:
- Verifica con l'operatore dell'infrastruttura (IO) che la risorsa personalizzata
BucketLocationConfigsia stata creata per le zone accoppiate. - Genera il file kubeconfig per il server API globale.
- Verifica con l'operatore dell'infrastruttura (IO) che la risorsa personalizzata
Crea un bucket WORM
Un bucket WORM garantisce che nient'altro sovrascriva gli oggetti e li conserva per un periodo di tempo minimo. La registrazione di audit è un esempio di caso d'uso per un bucket WORM.
Per creare un bucket WORM:
Imposta un periodo di conservazione quando crei il bucket. Il periodo di conservazione definisce per quanti giorni ogni versione dell'oggetto è bloccata per l'eliminazione o la modifica. Questo periodo di conservazione è diverso dalla durata minima di archiviazione della classe di archiviazione (ad esempio, il minimo di 30 giorni per la classe di archiviazione
Standard). Ad esempio, il seguente bucket imposta un periodo di conservazione di 365 giorni. Contatta l'operatore dell'infrastruttura (IO) se devi superare i limiti della policy di conservazione.apiVersion: object.gdc.goog/v1 kind: Bucket metadata: name: foo-logging-bucket namespace: foo-service spec: description: "Audit logs for foo" storageClass: Standard bucketPolicy: lockingPolicy: defaultObjectRetentionDays: 365Concedi il ruolo
project-bucket-object-viewera tutti gli utenti che hanno bisogno dell'accesso di sola lettura:apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: foo-service name: object-readonly-access roleRef: kind: Role name: project-bucket-object-viewer apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount namespace: foo-service name: foo-log-processor - kind: User name: bob@example.com apiGroup: rbac.authorization.k8s.ioConcedi il ruolo
project-bucket-object-adminagli utenti che devono scrivere contenuti nel bucket:apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: foo-service name: object-write-access roleRef: kind: Role name: project-bucket-object-admin apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount namespace: foo-service name: foo-service-account