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

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

הדף הזה מיועד לקהלים כמו אדמינים ממחלקת IT בקבוצת מפעיל התשתית או מפתחים בקבוצת אופרטור של אפליקציות שמנהלים את הגדרות שמירת נתונים והתאימות של מאגרי אחסון בסביבות GDC עם air gap. מידע נוסף זמין במאמר בנושא קהלים ב-GDC עם air gap.

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

קטגוריות אחסון הן משאבים שמוגבלים לפרויקט ספציפי. הפרויקט משמש כמאגר שמקבץ את הדליים ומאפשר לנהל אותם באמצעות שרת 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