בעזרת ניהול זהויות והרשאות גישה (IAM) תוכלו לתת גישה פרטנית למשאבים ספציפיים ב-Firebase וב-Google, ולמנוע גישה לא רצויה למשאבים אחרים. בעזרת IAM תוכלו לשמור על עקרון האבטחה של הרשאות מינימליות, וכך לתת רק למי שצריך את רמת הגישה שצריך למשאבים השונים.
למידע מפורט על IAM, תוכלו לעיין במסמכי העזרה של IAM ב-Google Cloud.
סקירה כללית על IAM ב-Firebase
ב-Firebase יש אפשרויות IAM נוספות שספציפיות לפרויקטים ב-Firebase ולחברים בפרויקטים.
כשחבר מאומת בפרויקט מבקש פעולה Firebase, IAM מקבל החלטה לגבי סטטוס האישור של חבר הפרויקט יש לו הרשאה לבצע את הפעולה המבוקשת במשאב. האפשרות של חברי הפרויקט לבצע את הבקשה תלויה בתפקיד שהוקצה להם. כל תפקיד הוא אוסף של הרשאות, וכשאתם מקצים תפקיד למשתמש בפרויקט, אתם מעניקים לו את כל ההרשאות של התפקיד הזה.
המשתמשים בפרויקט
באמצעות Firebase IAM, אתם מקצים תפקידים (וההרשאות הטבועות שלהם) לחברי הפרויקט. חברי הפרויקט יכולים להיות מהסוגים הבאים:
- חשבון Google
- חשבון שירות
- קבוצה ב-Google
תפקידים
ההרשאות מוענקות לחברי הפרויקט דרך תפקידים. תפקיד הוא אוסף של הרשאות. כשאתם מקצים תפקיד למשתמש חבר בפרויקט, עליך להעניק לחבר הפרויקט את כל ההרשאות שהתפקיד מכיל/ה.
מערכת IAM של Firebase תומכת בסוגי התפקידים הבאים:
תפקידים בסיסיים: תפקידים בסיסיים של בעלים, עריכה וצפייה (לשעבר, 'פרימיטיבי' תפקידים).
תפקידים מוגדרים מראש: תפקידים ספציפיים ל-Firebase שמאפשרים בקרת גישה פרטנית יותר מאשר התפקידים הבסיסיים. Firebase מציע:
תפקידים ברמת Firebase: תפקידים שמעניקים גישה מלאה לקריאה/כתיבה או גישה לקריאה בלבד לכל מוצרי Firebase.
תפקידים של קטגוריות מוצרים: תפקידים שמעניקים גישה מלאה לקריאה/כתיבה או גישה לקריאה בלבד לקבוצות של מוצרים. הם בנויים סביב Google Analytics וכללי קטגוריות מוצרים.
תפקידים ברמת המוצר: תפקידים שמעניקים הרשאת קריאה/כתיבה מלאה או הרשאת קריאה בלבד לתפקידים ספציפיים מוצרי Firebase
תפקידים בהתאמה אישית: תפקידים מותאמים אישית לחלוטין שאתם יוצרים כדי להתאים קבוצת הרשאות שמתאימה לדרישות הספציפיות של הארגון שלכם.
ניהול חברי הפרויקט והתפקידים שלהם
הצגת חברי הפרויקט והתפקידים שלהם
תוכלו לראות חלק גדול מחברי הפרויקט שלכם ואת התפקידים שלהם הכרטיסייה משתמשים והרשאות מתוך > הגדרות הפרויקט ב מסוף Firebase. שימו לב:- במסוף Firebase מפורטים רק חברי הפרויקט שהוקצה להם תפקיד בסיסי (בעלים, עריכה, Viewer) או תפקיד מוגדר מראש ב-Firebase. חברי הפרויקט שמפורטים בכרטיסייה הזו הם היחידים שיש להם גישה לפרויקט Firebase במסוף Firebase.
- במסוף Firebase לא מופיעה רשימה של חברי הפרויקט שהם שירות חשבונות. אפשר לראות את חברי הפרויקט האלה בדף IAM במסוף Google Cloud.
הקצאת תפקיד לחבר פרויקט
כדי לנהל את התפקידים שהוקצו לכל חבר בפרויקט, צריך להיות לכם הרשאת בעלים בפרויקט ב-Firebase (או שהוקצה לכם תפקיד עם ההרשאה resourcemanager.projects.setIamPolicy
).
אלה המקומות שבהם אפשר להקצות ולנהל תפקידים:
- במסוף Firebase יש דרך פשוטה להקצות תפקידים לחברי פרויקט בכרטיסייה משתמשים והרשאות בקטע > הגדרות הפרויקט. במסוף Firebase אפשר להקצות את כל התפקידים הבסיסיים (בעלים, עריכה, צפייה), את התפקידים 'אדמין' או 'צפייה' ב-Firebase או את כל התפקידים המוגדרים מראש לפי קטגוריית מוצרים ב-Firebase.
- במסוף Google Cloud יש מגוון רחב של כלים להקצאת תפקידים לחברי פרויקט בדף IAM. במסוף Cloud אפשר גם ליצור ולנהל תפקידים בהתאמה אישית, וגם לתת לחשבונות שירות גישה לפרויקט.
שימו לב שבמסוף Google Cloud, חברי הפרויקט נקראים חשבונות משתמשים.
אם הבעלים של הפרויקט כבר לא יכול לבצע את המשימות של הבעלים (לדוגמה, האדם עזב את החברה) והפרויקט שלך לא מנוהל דרך ארגון Google Cloud (יש לעיין בקטע הבא פסקה), אפשר פנייה לתמיכה של Firebase ולבדוק איתם איך לבקש גישה לפרויקט Firebase.
שימו לב: אם פרויקט Firebase הוא חלק מארגון Google Cloud, יכול להיות שאין לו בעלים. אם לא הצלחת למצוא בעלים בפרויקט Firebase, יש ליצור קשר עם מי שמנהל את ארגון אחד (Google Cloud) כדי להקצות בעלים לפרויקט.