VPC Service Controls

בעזרת VPC Service Controls ארגונים יכולים להגדיר גבולות גזרה מסביב למשאבי Google Cloud כדי לצמצם את הסיכונים לזליגת נתונים. בעזרת VPC Service Controls אפשר ליצור גבולות גזרה שמגנים על המשאבים ועל הנתונים של שירותים שאתם מגדירים באופן מפורש.

חבילות של שירותי Cloud Firestore

ממשקי ה-API הבאים כלולים ב-VPC Service Controls:

  • firestore.googleapis.com
  • datastore.googleapis.com
  • firestorekeyvisualizer.googleapis.com

כשמגבילים את השירות firestore.googleapis.com בגבול גזרה, הגבול מגביל גם את השירותים datastore.googleapis.com ו-firestorekeyvisualizer.googleapis.com.

הגבלת הגישה לשירות datastore.googleapis.com

השירות datastore.googleapis.com כלול בחבילה של השירות firestore.googleapis.com. כדי להגביל את השירות datastore.googleapis.com, צריך להגביל את השירות firestore.googleapis.com באופן הבא:

  • כשיוצרים גבולות גזרה לשירות באמצעות מסוף Google Cloud, מוסיפים את Cloud Firestore בתור השירות המוגבל.
  • כשיוצרים גבולות גזרה לשירות באמצעות Google Cloud CLI, משתמשים ב-firestore.googleapis.com במקום ב-datastore.googleapis.com.

    --perimeter-restricted-services=firestore.googleapis.com
    

App Engine חבילות שירותים קודמות ל-Datastore

שירותים בחבילות מדור קודם של App Engine ל-Datastore לא תומכים במתחמי אבטחה. הגנה על שירות Datastore באמצעות גבולות גזרה לשירות חוסמת תעבורת נתונים משירותים מאוגדים מדור קודם של App Engine. שירותים מדור קודם בחבילה כוללים:

הגנה על תעבורת נתונים יוצאת (egress) בפעולות ייבוא וייצוא

Cloud Firestore תומך ב-VPC Service Controls, אבל נדרשת הגדרה נוספת כדי לקבל הגנה מלאה על תעבורת נתונים יוצאת (egress) בפעולות ייבוא וייצוא. כדי לאשר פעולות ייבוא וייצוא, צריך להשתמש בסוכן השירות Cloud Firestore במקום בחשבון השירות שמוגדר כברירת מחדל App Engine. כדי להציג ולהגדיר את חשבון ההרשאה לפעולות ייבוא וייצוא, פועלים לפי ההוראות הבאות.

Cloud Firestore סוכן שירות

Cloud Firestore משתמש בסוכן שירות של Cloud Firestore כדי לאשר פעולות ייבוא וייצוא, במקום להשתמש בחשבון השירות של App Engine. סוכני השירות וחשבונות השירות פועלים לפי מוסכמות השמות הבאות:

Cloud Firestore סוכן שירות
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Cloud Firestore השתמש בעבר בחשבון השירות שמוגדר כברירת מחדל App Engine במקום בסוכן השירות Cloud Firestore. אם מסד הנתונים שלכם עדיין משתמש בחשבון השירות App Engine כדי לייבא או לייצא נתונים, מומלץ לפעול לפי ההוראות שבקטע הזה כדי לעבור לשימוש בסוכן השירות Cloud Firestore.

App Engine חשבון שירות
PROJECT_ID@appspot.gserviceaccount.com

סוכן השירות Cloud Firestore עדיף כי הוא ספציפי ל-Cloud Firestore. חשבון השירות App Engine משותף ליותר משירות אחד.

הצגת חשבון ההרשאה

בדף Import/Export במסוף Google Cloud אפשר לראות באיזה חשבון נעשה שימוש בפעולות הייבוא והייצוא כדי לאשר בקשות. אפשר גם לראות אם מסד הנתונים כבר משתמש בסוכן השירות Cloud Firestore.

  1. החשבון המורשה מוצג ליד התווית הפעלת משימות ייבוא/ייצוא בתור.

אם הפרויקט שלכם לא משתמש בסוכן השירות Cloud Firestore, אתם יכולים להעביר אותו לסוכן השירות Cloud Firestore באחת מהשיטות הבאות:

הטכניקה הראשונה עדיפה כי היא מצמצמת את היקף ההשפעה לפרויקט Cloud Firestore אחד. השיטה השנייה פחות מומלצת כי היא לא מעבירה את ההרשאות הקיימות של דלי Cloud Storage. עם זאת, הוא מציע תאימות לאבטחה ברמת הארגון.

העברה על ידי בדיקה ועדכון של הרשאות בקטגוריית Cloud Storage

תהליך ההעברה כולל שני שלבים:

  1. מעדכנים את ההרשאות של קטגוריית Cloud Storage. פרטים נוספים מופיעים בקטע הבא.
  2. מאשרים את ההעברה לסוכן השירות Cloud Firestore.

הרשאות של סוכן שירות לקטגוריה

לכל פעולות ייצוא או ייבוא שמשתמשות בדלי Cloud Storage בפרויקט אחר, עליך להעניק לסוכן השירות Cloud Firestore הרשאות עבור הדלי הזה. לדוגמה, פעולות שמעבירות נתונים לפרויקט אחר צריכות לגשת לקטגוריה באותו פרויקט. אחרת, הפעולות האלה ייכשלו אחרי המעבר לCloud Firestoreסוכן השירות.

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

מעדכנים את ההרשאות של מאגרי Cloud Storage מפרויקטים אחרים כדי לתת גישה לסוכן השירות service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com. נותנים לסוכן השירות את התפקיד Firestore Service Agent.

התפקיד Firestore Service Agent מעניק הרשאות קריאה וכתיבה לקטגוריית Cloud Storage. אם אתם צריכים להעניק הרשאות קריאה בלבד או הרשאות כתיבה בלבד, השתמשו בתפקיד בהתאמה אישית.

תהליך ההעברה שמתואר בקטע הבא עוזר לכם לזהות Cloud Storageבאקטים שאולי צריך לעדכן בהם את ההרשאות.

העברת פרויקט לסוכן השירות של Firestore

כדי לעבור מחשבון השירות App Engine לסוכן השירות Cloud Firestore, צריך לבצע את השלבים הבאים. אחרי שההעברה מסתיימת, אי אפשר לבטל אותה.

  1. אם הפרויקט שלכם עדיין לא הועבר לסוכן השירות Cloud Firestore, יוצג באנר עם תיאור של ההעברה ולחצן Check Bucket Status (בדיקת הסטטוס של קטגוריית היעד). בשלב הבא נסביר איך לזהות ולתקן שגיאות אפשריות בהרשאות.

    לוחצים על Check Bucket Status (בדיקת סטטוס מאגר).

    יופיע תפריט עם האפשרות להשלים את ההעברה ורשימה של קטגוריות Cloud Storage. יכול להיות שיחלפו כמה דקות עד שהרשימה תיטען.

    הרשימה הזו כוללת קטגוריות שהיו בשימוש לאחרונה בפעולות ייבוא וייצוא, אבל כרגע לא מוקצות להן הרשאות קריאה וכתיבה לסוכן השירות Cloud Firestore.

  2. רושמים את שם חשבון המשתמש של סוכן השירות Cloud Firestore של הפרויקט. שם סוכן השירות מופיע מתחת לתווית Service agent to give access to.
  3. לכל קטגוריה ברשימה שבה תשתמשו בעתיד לפעולות ייבוא או ייצוא, צריך לבצע את השלבים הבאים:

    1. בשורה של הדלי בטבלה, לוחצים על Fix (תיקון). ייפתח דף ההרשאות של מאגר הנתונים בכרטיסייה חדשה.

    2. לוחצים על הוספה.
    3. בשדה New principals, מזינים את השם של סוכן השירות Cloud Firestore.
    4. בשדה Select a role בוחרים באפשרות Service Agents > Firestore Service Agent.
    5. לוחצים על שמירה.
    6. חוזרים לכרטיסייה עם הדף Cloud Firestore ייבוא/ייצוא.
    7. חוזרים על השלבים האלה לגבי דליים אחרים ברשימה. חשוב לעיין בכל הדפים של הרשימה.
  4. לוחצים על Migrate to Firestore Service Agent (מעבר לסוכן שירות של Firestore). אם עדיין יש לכם מאגרי מידע שבהם בדיקות ההרשאות נכשלו, אתם צריכים לאשר את ההעברה על ידי לחיצה על העברה.

    תקבלו התראה כשההעברה תסתיים. אי אפשר לבטל את ההעברה אחרי שהיא התחילה.

הצגת סטטוס ההעברה

כדי לבדוק את סטטוס ההעברה של הפרויקט:

  1. חפשו את הישות המורשית לצד התווית הפעלת משימות ייבוא/ייצוא.

    אם העיקרון הוא service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com, הפרויקט כבר הועבר לסוכן השירות Cloud Firestore. אי אפשר לבטל את המיגרציה.

    אם הפרויקט לא הועבר, יופיע באנר בחלק העליון של הדף עם לחצן Check Bucket Status (בדיקת סטטוס המאגר). כדי להשלים את המיגרציה, אפשר לעיין במאמר בנושא מיגרציה לסוכן השירות של Firestore.

הוספת אילוץ מדיניות ברמת הארגון

  • צריך להגדיר את ההגבלה הבאה במדיניות של הארגון:

    Require Firestore Service Agent for import/export (firestore.requireP4SAforImportExport).

    בגלל המגבלה הזו, פעולות ייבוא וייצוא צריכות להשתמש בסוכן השירות Cloud Firestore כדי לאשר בקשות. הוראות להגדרת האילוץ הזה מופיעות במאמר יצירה וניהול של מדיניות הארגון .

החלת ההגבלה הזו של מדיניות ארגונית לא מעניקה באופן אוטומטי את הרשאות הגישה המתאימות לדלי Cloud Storage לסוכן השירות Cloud Firestore.

אם האילוץ יוצר שגיאות הרשאה בתהליכי עבודה של ייבוא או ייצוא, אפשר להשבית אותו כדי לחזור לשימוש בחשבון שירות שמוגדר כברירת מחדל. אחרי בדיקה ועדכון של הרשאות הגישה לדלי Cloud Storage, אפשר להפעיל מחדש את האילוץ.