WORM-Storage-Buckets für Projekte erstellen

Auf dieser Seite wird beschrieben, wie Sie WORM-Buckets für die Air-Gap-Speicherung in Google Distributed Cloud (GDC) erstellen.

Hinweise

In einem Projektnamespace werden Bucket-Ressourcen auf dem Management API-Server verwaltet. Sie benötigen ein Projekt, um mit Buckets und Objekten arbeiten zu können.

Außerdem benötigen Sie die entsprechenden Bucket-Berechtigungen, um den folgenden Vorgang auszuführen. Weitere Informationen finden Sie unter Bucket-Zugriff gewähren.

WORM-Bucket erstellen

Ein WORM-Bucket sorgt dafür, dass Objekte nicht überschrieben werden und für einen Mindestzeitraum aufbewahrt werden. Die Audit-Protokollierung ist ein Beispiel für einen WORM-Bucket.

So erstellen Sie einen WORM-Bucket:

  1. Legen Sie beim Erstellen des Buckets einen Aufbewahrungszeitraum fest. Der folgende Beispiel-Bucket hat beispielsweise eine Aufbewahrungsdauer von 365 Tagen.

    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. Weisen Sie allen Nutzern, die Lesezugriff benötigen, die Rolle project-bucket-object-viewer zu:

    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. Weisen Sie Nutzern, die Inhalte in den Bucket schreiben müssen, die Rolle project-bucket-object-admin zu:

    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