כדי ש-Firebase Extension יבצע את הפעולות שצוינו, Firebase מעניק לכל מופע של תוסף מותקן גישה מוגבלת לפרויקט ונתונים דרך חשבון שירות.
מה זה חשבון שירות?
חשבון שירות הוא סוג מיוחד של חשבון משתמש ב-Google. הוא מייצג משתמש לא אנושי מורשה לגשת לנתונים באמצעות ממשקי API של Google.
במהלך התקנת התוסף, מערכת Firebase יוצרת חשבון שירות פרויקט. לכל מופע מותקן של תוסף יש חשבון שירות משלו.
מערכת Firebase מגבילה את הגישה לפרויקט ולנתונים שלכם על ידי הקצאת תפקידים (חבילות של הרשאות) ספציפיים לחשבון השירות של התוסף. התפקידים הנדרשים לתוסף כדי נקבעות על ידי Firebase במהלך פיתוח התוסף. בשעה במהלך ההתקנה, Firebase מקצה את התפקידים האלה לחשבון שירות של תוסף, ואסור לשנות, להוסיף או למחוק את התפקידים שהוקצו להם, (אחרת התוסף שמותקן לא יפעל כצפוי). אבל אתם יכולים: להסיר את התוסף, שמוחק את השירות החשבון (והגישה אליו).
חשבונות שירות שנוצרו עבור תוספים מופיעים בפורמט:
ext-extension-instance-id@project-id.iam.gserviceaccount.com
אתם יכולים לראות את כל חשבונות השירות שמשויכים לפרויקט Firebase שלכם בקטע
ה
חשבונות שירות
בכרטיסייה
הרשאות ותפקידים
במהלך הפיתוח של תוסף, מערכת Firebase קובעת את רמת הגישה שתוסף מסוים צריך לפעול.
מערכת Firebase מגדירה את רמת הגישה הזו על ידי פירוט התפקידים באופן מפורש (חבילות של הרשאות) שמערכת Firebase צריכה להקצות לתוסף חשבון שירות במהלך התקנת התוסף.
כל תפקיד (וההרשאות שמובנות בו) מבוסס על מוצר ספציפי או
לאחר השיפור. דוגמאות לתפקידים: firebasehosting.admin
, bigquery.dataEditor
,
ו-firebasedatabase.admin
. ב-Firebase מפורטים התפקידים הנדרשים לתוסף
בקובץ המפרט של התוסף
קובץ אחד (extension.yaml
)).
המערכת של Firebase בודקת ביסודיות את הרשימה הזו של תוספים רשמיים של Firebase
כדי להבטיח שהגישה של תוסף מוגבלת אך ורק להיקף של
המשימות של התוסף. אפשר גם לבדוק ולאשר בעצמך הגישה
הוענקה לתוסף על ידי הצגת דף הפרטים של התוסף
מרכז הבקרה של Firebase Extensions או שהוא
קובץ README
.
מידע על ההרשאות שכלולות בכל תפקיד:
מה קורה כאשר מסירים התקנה של תוסף?
אחרי ש הסרת התקנה של תוסף מהפרויקט שלכם, מערכת Firebase מוחקת את חשבון השירות שנוצר עבור המופע הזה של התוסף. לאחר מחיקת השירות החשבון, התוסף לא יכול לפעול בפרויקט שלך כי כבר אין בו הרשאות גישה לפרויקט או לנתונים שלכם.