ניהול תגי מדיניות במיקומים שונים
במאמר הזה מוסבר איך לנהל תגי מדיניות במיקומים אזוריים שונים כדי להשתמש באבטחה ברמת העמודה ובאנונימיזציה דינמית של נתונים ב-BigQuery.
BigQuery מספק בקרת גישה פרטנית ואנונימיזציה דינמית של נתונים לעמודות רגישות בטבלה באמצעות תגי מדיניות, ותומך בסיווג מבוסס-סוג של נתונים.
אחרי שיוצרים טקסונומיה לסיווג נתונים ומחילים תגי מדיניות על הנתונים, אפשר לנהל את תגי המדיניות במיקומים שונים.
שיקולים בקשר למיקום
טקסונומיות הן משאבים אזוריים, כמו מערכי נתונים וטבלאות ב-BigQuery. כשיוצרים טקסונומיה, מציינים את האזור או המיקום של הטקסונומיה.
אפשר ליצור טקסונומיה ולהחיל תגי מדיניות על טבלאות בכל האזורים שבהם BigQuery זמין. עם זאת, כדי להחיל תגי מדיניות מטקסונומיה על עמודה בטבלה, הטקסונומיה והטבלה צריכות להיות באותו מיקום אזורי.
אי אפשר להחיל תג מדיניות על עמודה בטבלה שנמצאת במיקום אחר, אבל אפשר להעתיק את הטקסונומיה למיקום אחר על ידי שכפול שלה שם.
שימוש בטקסונומיות במיקומים שונים
אתם יכולים להעתיק (או לשכפל) טקסונומיה והגדרות של תגי מדיניות שלה למיקומים נוספים, בלי שתצטרכו ליצור ידנית טקסונומיה חדשה בכל מיקום. כשמשכפלים טקסונומיות, אפשר להשתמש באותם תגי מדיניות לאבטחה ברמת העמודה בכמה מיקומים, וכך לפשט את הניהול שלהם.
כשמשכפלים אותם, הטקסונומיה ותגי המדיניות שומרים על אותם מזהים בכל מיקום.
אפשר לסנכרן מחדש את הטקסונומיה ואת תגי המדיניות כדי לשמור על אחידות שלהם בכמה מיקומים. שכפול מפורש של טקסונומיה מתבצע באמצעות קריאה ל-API של Data Catalog. סנכרונים עתידיים של הטקסונומיה המשוכפלת משתמשים באותה פקודת API, שדוחפת את הטקסונומיה הקודמת.
כדי לסנכרן את הטקסונומיה, אפשר להשתמש ב-Cloud Scheduler כדי לבצע סנכרון תקופתי של הטקסונומיה באזורים שונים, לפי לוח זמנים מוגדר או בלחיצה על לחצן ידני. כדי להשתמש ב-Cloud Scheduler, צריך להגדיר חשבון שירות.
שכפול טקסונומיה במיקום חדש
ההרשאות הנדרשות
לפרטי הכניסה של המשתמש או לחשבון השירות שמשכפלים את הטקסונומיה צריך להיות תפקיד אדמין של תגי מדיניות ב-Data Catalog.
מידע נוסף על מתן התפקיד Policy Tag Admin זמין במאמר הגבלת הגישה באמצעות אבטחה ברמת העמודה ב-BigQuery.
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
כדי לשכפל טקסונומיה בכמה מיקומים:
API
קוראים ל-method projects.locations.taxonomies.import של Data Catalog API, ומספקים בקשת POST ואת השם של פרויקט היעד והמיקום במחרוזת ה-HTTP.
POST https://datacatalog.googleapis.com/{parent}/taxonomies:import
פרמטר הנתיב parent הוא פרויקט היעד והמיקום שאליהם רוצים להעתיק את הטקסונומיה. לדוגמה:
projects/MyProject/locations/eu
סנכרון של טקסונומיה משוכפלת
כדי לסנכרן טקסונומיה שכבר שוכפלה במיקומים שונים, חוזרים על הקריאה ל-Data Catalog API כמו שמתואר במאמר שכפול טקסונומיה במיקום חדש.
אפשר גם להשתמש בחשבון שירות וב-Cloud Scheduler כדי לסנכרן את הטקסונומיה לפי לוח זמנים מוגדר. הגדרת חשבון שירות ב-Cloud Scheduler מאפשרת גם להפעיל סנכרון לפי דרישה (לא מתוזמן) דרך הדף Cloud Scheduler במסוף Cloud de Confiance או באמצעות Google Cloud CLI.
סנכרון טקסונומיה משוכפלת באמצעות Cloud Scheduler
כדי לסנכרן טקסונומיה משוכפלת בין מיקומים באמצעות Cloud Scheduler, צריך חשבון שירות.
חשבונות שירות
אפשר להעניק הרשאות לסנכרון השכפול לחשבון שירות קיים, או ליצור חשבון שירות חדש.
במאמר יצירת חשבונות שירות מוסבר איך יוצרים חשבון שירות חדש.
ההרשאות הנדרשות
לחשבון השירות שמסנכרן את הטקסונומיה צריך להיות התפקיד Data Catalog Policy Tag Admin. למידע נוסף, תוכלו לקרוא על התפקיד 'אדמין של תגי מדיניות ב-Data Catalog'.
הגדרת סנכרון טקסונומיה באמצעות Cloud Scheduler
כדי לסנכרן טקסונומיה משוכפלת בין מיקומים באמצעות Cloud Scheduler:
המסוף
קודם יוצרים את משימת הסנכרון ואת לוח הזמנים שלה.
פועלים לפי ההוראות ליצירת משימה ב-Cloud Scheduler.
במאמר יצירת משימה לתזמון עם אימות מוסבר איך להגדיר Target.
בשלב הבא, מוסיפים את האימות שנדרש לסנכרון המתוזמן.
לוחצים על פרטים נוספים כדי להציג את שדות האימות.
בקטע Auth header, בוחרים באפשרות 'Add OAuth token' (הוספת טוקן OAuth).
מוסיפים את פרטי חשבון השירות.
בשדה Scope (היקף), מזינים https://www.googleapis.com/auth/cloud-platform.
לוחצים על יצירה כדי לשמור את הסנכרון המתוזמן.
עכשיו צריך לבדוק שהמשימה מוגדרת בצורה נכונה.
אחרי שיוצרים את העבודה, לוחצים על הפעלה עכשיו כדי לבדוק שהעבודה מוגדרת בצורה נכונה. לאחר מכן, Cloud Scheduler מפעיל את בקשת ה-HTTP על סמך לוח הזמנים שציינתם.
gcloud
תחביר:
gcloud scheduler jobs create http "JOB_ID" --schedule="FREQUENCY" --uri="URI" --oath-service-account-email="CLIENT_SERVICE_ACCOUNT_EMAIL" --time-zone="TIME_ZONE" --message-body-from-file="MESSAGE_BODY"
מחליפים את מה שכתוב בשדות הבאים:
-
${JOB_ID}הוא שם המשימה. הוא חייב להיות ייחודי בפרויקט. שימו לב: אי אפשר להשתמש שוב בשם של משימה בפרויקט, גם אם מוחקים את המשימה המשויכת. -
${FREQUENCY}הוא לוח הזמנים, שנקרא גם מרווח הזמן של העבודה, שמציין את התדירות שבה העבודה צריכה לפעול. לדוגמה, "כל 3 שעות". המחרוזת שאתם מציינים כאן יכולה להיות כל מחרוזת שתואמת ל-crontab. לחלופין, מפתחים שמכירים את cron מדור קודם של App Engine יכולים להשתמש בתחביר של App Engine Cron. -
${URI}היא כתובת ה-URL המוגדרת במלואה של נקודת הקצה. -
--oauth-service-account-emailמגדיר את סוג הטוקן. שימו לב שממשקי Google API שמארחים ב-*.googleapis.comמצפים לטוקן OAuth. -
${CLIENT_SERVICE_ACCOUNT_EMAIL}היא כתובת האימייל של חשבון השירות של הלקוח. -
${MESSAGE_BODY}הוא הנתיב לקובץ שמכיל את גוף בקשת ה-POST.
יש פרמטרים נוספים לאפשרויות, שמתוארים בהפניה ל-Google Cloud CLI.
דוגמה:
gcloud scheduler jobs create http cross_regional_copy_to_eu_scheduler --schedule="0 0 1 * *" --uri="https://datacatalog.googleapis.com/v1/projects/my-project/locations/eu/taxonomies:import" --oauth-service-account-email="policytag-manager-service-acou@my-project.s3ns.iam.gserviceaccount.com" --time-zone="America/Los_Angeles" --message-body-from-file=request_body.json
המאמרים הבאים
- סקירה כללית של אבטחה ברמת העמודה באמצעות תגי מדיניות זמינה במאמר מבוא לאבטחה ברמת העמודה ב-BigQuery.
- מידע נוסף על יצירה והחלה של תגי מדיניות זמין במאמר הגבלת גישה באמצעות אבטחה ברמת העמודה ב-BigQuery.
- כדי לקבל מידע על ההשפעה על פעולות כתיבה כשמשתמשים באבטחה ברמת העמודה ב-BigQuery, אפשר לעיין במאמר ההשפעה על פעולות כתיבה עם אבטחה ברמת העמודה ב-BigQuery.
- מידע על שיטות מומלצות לשימוש בתגי מדיניות זמין במאמר שימוש בתגי מדיניות ב-BigQuery.