יצירת קטגוריות אחסון מסוג WORM לפרויקטים

בדף הזה מוסבר איך ליצור קטגוריות אחסון WORM ב-Google Distributed Cloud ‏ (GDC) עם בידוד פיזי.

לפני שמתחילים

קטגוריות אחסון הן משאבים שמוגבלים לפרויקט ספציפי. הפרויקט משמש כמאגר שמקבץ את הדליים ומאפשר לנהל אותם באמצעות שרת Management API. כדי לבצע את הפעולות בדף הזה, צריך ליצור פרויקט חדש או לבחור פרויקט קיים שיש לכם בו הרשאות מספיקות.

התפקידים שצריך ב-IAM

פנו לאדמין של פרויקט IAM כדי לבקש את התפקידים הבאים במרחב השמות של הפרויקט:

  • אדמין של קטגוריות בפרויקט (project-bucket-admin): יצירה, עדכון ומחיקה של קטגוריות אחסון.
  • ‫Project Bucket Object Viewer (project-bucket-object-viewer): צפייה בפרטים של קטגוריות ואובייקטים באחסון ובדיקתם.

מידע נוסף זמין במאמר בנושא מתן גישה לקטגוריות.

הכנת הסביבה

כדי להריץ פקודות מול שרת ה-API לניהול או שרת ה-API הגלובלי, צריך לבצע את הפעולות הבאות:

  1. נכנסים לחשבון ויוצרים את קובץ ה-kubeconfig עבור שרת ה-API של ניהול אזורים, אם אין לכם כזה.
  2. לקטגוריות בשני אזורים, מבצעים את הפעולות הבאות:
    • מוודאים עם מפעיל התשתית (IO) שנוצר BucketLocationConfig משאב בהתאמה אישית עבור האזורים המזווגים.
    • יוצרים את קובץ ה-kubeconfig לשרת ה-API הגלובלי.

יצירת קטגוריה מסוג WORM

קטגוריית WORM מבטיחה ששום דבר לא ידרוס אובייקטים ושומרת אותם למשך תקופה מינימלית. רישום ביומן ביקורת הוא תרחיש שימוש לדוגמה לקטגוריית WORM.

כדי ליצור קטגוריה מסוג WORM:

  1. מגדירים תקופת שמירה כשיוצרים את הקטגוריה. תקופת השמירה מגדירה כמה ימים כל גרסת אובייקט נעולה מפני מחיקה או שינוי. תקופת השמירה הזו שונה ממשך האחסון המינימלי של סוג האחסון (למשל, המינימום של 30 יום לסוג האחסון Standard). לדוגמה, בקטגוריה הבאה מוגדרת תקופת שמירה של 365 ימים. אם אתם צריכים לחרוג ממגבלות מדיניות שמירת הנתונים, אתם יכולים לפנות למפעיל התשתית (IO).

    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. הקצאת התפקיד project-bucket-object-viewer לכל המשתמשים שזקוקים לגישת קריאה בלבד:

    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. מקצים את התפקיד project-bucket-object-admin למשתמשים שצריכים לכתוב תוכן לקטגוריה:

    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