Membuat bucket WORM penyimpanan

Halaman ini memandu Anda cara membuat bucket penyimpanan Write Once Read Many (WORM) di lingkungan air gap Google Distributed Cloud (GDC). Bagian ini mencakup prasyarat dan langkah-langkah untuk membuat bucket WORM dengan periode retensi data yang ditentukan, dan untuk memberikan izin akses menggunakan binding peran. Informasi ini memungkinkan Anda menerapkan praktik retensi dan keabadian data yang ketat, sehingga menyediakan penyimpanan data yang andal dan sesuai untuk catatan dan kasus penggunaan seperti audit logging.

Halaman ini ditujukan untuk audiens seperti administrator IT dalam grup operator infrastruktur atau developer dalam grup operator aplikasi yang mengelola setelan retensi dan kepatuhan data untuk bucket penyimpanan di lingkungan GDC dengan air gap. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.

Sebelum memulai

Bucket penyimpanan adalah resource yang dicakup ke project tertentu. Project bertindak sebagai penampung, 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 dengan izin yang memadai.

Peran IAM yang diperlukan

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

  • Project Bucket Admin (project-bucket-admin): membuat, memperbarui, dan menghapus bucket penyimpanan.
  • Project Bucket Object 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 zonal jika Anda belum memilikinya.
  2. Untuk bucket dual-zona, lakukan hal berikut:
    • Verifikasi dengan Operator Infrastruktur (IO) Anda bahwa resource kustom BucketLocationConfig telah dibuat untuk zona yang dipasangkan.
    • Buat file kubeconfig untuk server API global.

Membuat bucket WORM

Bucket WORM memastikan bahwa tidak ada yang menimpa objek dan mempertahankan objek tersebut selama jangka waktu minimum. Pencatatan log audit adalah contoh kasus penggunaan untuk bucket WORM.

Lakukan langkah-langkah berikut untuk membuat bucket WORM:

  1. Tetapkan periode retensi saat membuat bucket. Periode retensi menentukan berapa hari setiap versi objek dikunci agar tidak dihapus atau dimodifikasi. Periode retensi data ini berbeda dengan durasi penyimpanan minimum kelas penyimpanan (seperti minimum 30 hari untuk kelas penyimpanan Standard). Misalnya, bucket berikut menetapkan periode retensi 365 hari. Hubungi Operator Infrastruktur (IO) Anda 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 baca-saja:

    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