Crea bucket WORM di archiviazione

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

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 gestiscono le impostazioni di conformità e conservazione dei dati per i bucket di archiviazione negli ambienti isolati 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.

Crea un bucket WORM

Un bucket WORM garantisce che nessun 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