Crea bucket WORM di archiviazione

Questa pagina ti guida nella creazione di bucket di archiviazione Write Once Read Many (WORM) negli ambienti di appliance air-gapped di Google Distributed Cloud (GDC). Vengono illustrati i prerequisiti e i passaggi per creare un bucket WORM con un periodo di conservazione definito e per concedere le autorizzazioni di accesso utilizzando i binding dei ruoli. Queste informazioni ti consentono di applicare pratiche di conservazione dei dati e immutabilità rigorose, fornendo un'archiviazione dei dati solida e conforme per record e casi d'uso come la registrazione degli audit.

Questa pagina è rivolta a utenti come gli amministratori IT del gruppo di operatori dell'infrastruttura o gli sviluppatori del gruppo di operatori dell'applicazione che gestiscono le impostazioni di conservazione e conformità dei dati per i bucket di archiviazione negli ambienti air-gapped di GDC.

Prima di iniziare

Uno spazio dei nomi del progetto gestisce le risorse dei bucket nel server 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 ai bucket.

Per eseguire comandi sul server API di gestione, accedi e genera il file kubeconfig per il server API di gestione, se non ne hai uno.

Creare un bucket WORM

Un bucket WORM garantisce che nient'altro sovrascriva gli oggetti e li conserva per un periodo di tempo minimo. La registrazione degli audit è un esempio di caso d'uso per un bucket WORM.

Per creare un bucket WORM:

  1. Imposta un periodo di conservazione durante la creazione del bucket. Ad esempio, il seguente bucket di esempio ha un periodo di conservazione di 365 giorni.

    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: 365
    
  2. Concedi il ruolo project-bucket-object-viewer a 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.io
    
  3. Concedi il ruolo project-bucket-object-admin agli 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-viewer
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: ServiceAccount
      namespace: foo-service
      name: foo-service-account