בדף הזה מוסבר איך ליצור קטגוריות WORM לאחסון ב-Google Distributed Cloud (GDC) עם air gap.
לפני שמתחילים
קטגוריות אחסון הן משאבים שמוגדרים ברמת הפרויקט. הפרויקט פועל כמאגר, מקבץ את הקטגוריות ומאפשר לנהל אותן דרך שרת Management API. כדי לבצע את הפעולות שבדף הזה, צריך ליצור פרויקט חדש או לבחור פרויקט קיים שיש לכם בו מספיק הרשאות.
התפקידים שצריך ב-IAM
כדי לבקש את התפקידים הבאים במרחב השמות של הפרויקט, פנו לאדמין של הפרויקט ב-IAM:
- אדמין של פרויקט קטגוריות (
project-bucket-admin): יצירה, עדכון ומחיקה של קטגוריות אחסון. - צפייה בפרויקט של אובייקטים בקטגוריה (
project-bucket-object-viewer): צפייה בפרטים של קטגוריות ואובייקטים באחסון ובדיקה שלהם.
מידע נוסף זמין במאמר מתן גישה לקטגוריה.
הכנת הסביבה
כדי להריץ פקודות בשרת ה-Management API או בשרת ה-API הגלובלי:
- אם אין לכם קובץ kubeconfig לשרת ה-API של ניהול האזור, נכנסים לחשבון ויוצרים קובץ כזה.
- לקטגוריות בשני אזורים:
- מוודאים מול מפעיל התשתית (IO) שהמשאב המותאם אישית
BucketLocationConfigנוצר בשביל האזורים המותאמים. - יוצרים את הקובץ kubeconfig לשרת ה-API הגלובלי.
- מוודאים מול מפעיל התשתית (IO) שהמשאב המותאם אישית
יצירת קטגוריית WORM
קטגוריית WORM מבטיחה ששום דבר אחר לא יחליף את האובייקטים, ושומרת אותם למשך פרק זמן מינימלי. רישום ביומן ביקורת הוא דוגמה לתרחיש לדוגמה של קטגוריית WORM.
כדי ליצור קטגוריית WORM:
להגדיר תקופת שמירה כשיוצרים את הקטגוריה. תקופת השמירה מגדירה כמה ימים כל גרסת אובייקט נעולה מפני מחיקה או שינוי. תקופת השמירה הזו נפרדת ממשך האחסון המינימלי של סוג האחסון (למשל, מינימום של 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מקצים את התפקיד
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מקצים את התפקיד
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