Membuat bucket WORM penyimpanan untuk project

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

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