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

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

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

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

מרחב שמות של פרויקט מנהל משאבי באקטים בשרת ה-API לניהול. כדי לעבוד עם קטגוריות ואובייקטים, צריך פרויקט.

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

כדי להריץ פקודות בשרת של Management API, צריך להיכנס וליצור את קובץ ה-kubeconfig של שרת Management API, אם אין לכם כזה.

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

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

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

  1. מגדירים תקופת שמירה כשיוצרים את הקטגוריה. לדוגמה, בקטגוריה הבאה מוגדרת תקופת שמירה של 365 ימים.

    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-viewer
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: ServiceAccount
      namespace: foo-service
      name: foo-service-account