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. חבילות שירות מדור קודם כוללות:

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

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

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

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

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

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

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

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

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

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

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

    דרישה לסוכן שירות של Firestore לייבוא או לייצוא (firestore.requireP4SAforImportExport).

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

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

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