Membuat bucket WORM penyimpanan untuk project

Halaman ini menunjukkan cara membuat bucket WORM penyimpanan Google Distributed Cloud (GDC) dengan air gap.

Sebelum memulai

Bucket penyimpanan adalah resource yang dicakup dalam project tertentu. Project bertindak sebagai penampung, yang mengelompokkan bucket Anda dan memungkinkan pengelolaannya melalui server Management API. Sebelum dapat melakukan operasi di halaman ini, Anda harus membuat project baru atau memilih project yang sudah ada dan memiliki izin yang memadai.

Peran IAM yang diperlukan

Hubungi IAM Project Admin Anda untuk meminta peran berikut di namespace project Anda:

  • Bucket Project Admin (project-bucket-admin): membuat, memperbarui, dan menghapus bucket penyimpanan.
  • Bucket Object Project Viewer (project-bucket-object-viewer): melihat dan memeriksa detail bucket dan objek penyimpanan.

Untuk mengetahui informasi selengkapnya, lihat Memberikan akses bucket.

Menyiapkan lingkungan Anda

Untuk menjalankan perintah terhadap server API pengelolaan atau server API global, lakukan hal berikut:

  1. Login dan buat file kubeconfig untuk server API pengelolaan zona jika Anda belum memilikinya.
  2. Untuk bucket dual-zone, lakukan hal berikut:
    • Pastikan dengan Operator Infrastruktur (IO) Anda bahwa resource kustom BucketLocationConfig telah dibuat untuk zona yang disambungkan.
    • Buat file kubeconfig untuk server API global.

Membuat bucket WORM

Bucket WORM memastikan tidak ada hal lain yang menimpa objek dan mempertahankan objek tersebut selama jangka waktu minimum. Logging audit adalah contoh kasus penggunaan untuk bucket WORM.

Lakukan langkah-langkah berikut untuk membuat bucket WORM:

  1. Menetapkan periode retensi saat membuat bucket. Periode retensi menentukan jumlah hari setiap versi objek dikunci agar tidak dihapus atau diubah. Periode retensi ini berbeda dengan durasi penyimpanan minimum kelas penyimpanan (seperti minimum 30 hari untuk kelas penyimpanan Standard). Misalnya, bucket berikut menetapkan periode retensi selama 365 hari. Hubungi Operator Infrastruktur (IO) jika Anda perlu melampaui batas kebijakan retensi.

    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. Berikan peran project-bucket-object-viewer kepada semua pengguna yang memerlukan akses hanya baca:

    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. Berikan peran project-bucket-object-admin kepada pengguna yang perlu menulis konten ke 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