תפקידים קובעים אילו שירותים ופעולות זמינים לחשבון משתמש או לחשבון שירות. התפקידים הבאים מעניקים גישה ל-App Engine:
תפקידים בסיסיים שחלים על כל השירותים והמשאבים בפרויקט, כולל, בין היתר, App Engine. לדוגמה, חשבון עם תפקיד עריכה יכול לשנות את ההגדרות של App Engine וגם את ההגדרות של Cloud Storage.
תפקידים מוגדרים מראש ב-App Engine, שמאפשרים גישה פרטנית ל-App Engine. לכל שירות בGoogle Cloud פרויקט יש תפקידים מוגדרים מראש משלו. לדוגמה, חשבון שיש לו רק את התפקיד 'פריסה ב-App Engine' יכול לפרוס אפליקציות של App Engine, אבל לא יכול להציג או ליצור אובייקטים ב-Cloud Storage. בנוסף, בחשבון כזה צריך להיות תפקיד מוגדר מראש ב-Cloud Storage כדי ליצור אובייקטים ב-Cloud Storage או לצפות בהם.
תפקידים בהתאמה אישית, שמאפשרים גישה פרטנית בהתאם לרשימת ההרשאות שאתם מציינים.
אתם יכולים להשתמש בתפקידים בסיסיים כשאתם עובדים על פרויקטים קטנים יותר עם צרכים פחות מורכבים. כדי להגדיר בקרת גישה פרטנית יותר, משתמשים בתפקידים מוגדרים מראש.
תפקידים בסיסיים
תפקידים בסיסיים חלים על כל השירותים והמשאבים בפרויקט. לדוגמה, לחשבון עם תפקיד עורך יש אפשרות לשנות את ההגדרות של App Engine וגם את ההגדרות של Cloud Storage.
| תפקיד | Google Cloud הרשאות ב-Play Console | הרשאות לכלים |
|---|---|---|
Owner |
נדרש כדי ליצור אפליקציות של App Engine. כל ההרשאות של צפייה ועריכה, בנוסף לאפשרות לראות את קוד המקור שנפרס, להזמין משתמשים, לשנות את תפקידי המשתמשים ולמחוק אפליקציה. | נדרש כדי ליצור אפליקציות של App Engine. אפשר גם לפרוס קוד אפליקציה ולעדכן את כל ההגדרות. |
Editor |
צפייה בפרטי האפליקציה ועריכה של הגדרות האפליקציה. | פריסת קוד האפליקציה, עדכון אינדקסים, תורים או משימות cron. |
Viewer |
צפייה בפרטי האפליקציה. | יומני בקשות |
תפקידים מוגדרים מראש ב-App Engine
| Role | Permissions |
|---|---|
App Engine Admin( Read/Write/Modify access to all application configuration and settings. To deploy new versions, a principal must have the
Service Account User
( Lowest-level resources where you can grant this role:
|
|
App Engine Creator( Ability to create the App Engine resource for the project. Lowest-level resources where you can grant this role:
|
|
App Engine Viewer( Read-only access to all application configuration and settings. Lowest-level resources where you can grant this role:
|
|
App Engine Code Viewer( Read-only access to all application configuration, settings, and deployed source code. Lowest-level resources where you can grant this role:
|
|
App Engine Managed VM Debug Access( Ability to read or manage v2 instances. |
|
App Engine Deployer( Read-only access to all application configuration and settings. To deploy new versions, you must also have the
Service Account User
( Cannot modify existing versions other than deleting versions that are not receiving traffic. Lowest-level resources where you can grant this role:
|
|
App Engine Memcache Data Admin( Can get, set, delete, and flush App Engine Memcache items. |
|
App Engine Service Admin( Read-only access to all application configuration and settings. Write access to module-level and version-level settings. Cannot deploy a new version. Lowest-level resources where you can grant this role:
|
|
App Engine Standard Environment Service Agent( Give App Engine Standard Envirnoment service account access to managed resources. Includes access to service accounts. |
|
התפקידים האלה מספקים גישה רק ל-App Engine. אם הפרויקט כולל שירותים אחרים, כמו Cloud Storage או Cloud SQL, תצטרכו להקצות תפקידים נוספים כדי להעניק גישה לשירותים האחרים.
השוואה בין תפקידים מוגדרים מראש ב-App Engine
בטבלה הבאה מוצגת השוואה מלאה בין היכולות של כל תפקיד מוגדר מראש ב-App Engine.
| יכולת | App Engine Admin | אדמין של שירות App Engine | פריסה ב-App Engine | App Engine Viewer | כלי להצגת קוד ב-App Engine |
|---|---|---|---|---|---|
| הצגת רשימה של כל השירותים, הגרסאות והמופעים | כן | כן | כן | כן | כן |
| הצגת כל ההגדרות של האפליקציה, השירות, הגרסה והמופע | כן | כן | כן | כן | כן |
| הצגת מדדים של זמן ריצה, כמו שימוש במשאבים, פרטי עומס ופרטי שגיאות | כן | כן | כן | כן | כן |
| הצגת קוד המקור של האפליקציה | לא | לא | לא | לא | כן |
| פריסת גרסה חדשה של אפליקציה | כן, אם נותנים גם את התפקיד Service Account User | לא | כן, אם נותנים גם את התפקיד Service Account User | לא | לא |
| חלוקה או העברה של תנועת הגולשים | כן | כן | לא*** | לא | לא |
| איך מתחילים ומפסיקים גרסה | כן | כן | לא | לא | לא |
| מחיקת גרסה | כן | כן | כן | לא | לא |
| מחיקת שירות שלם | כן | כן | לא | לא | לא |
| שימוש ב-SSH כדי להתחבר למכונה וירטואלית בסביבה הגמישה | כן | לא | לא | לא | לא |
| כיבוי של מכונה | כן | לא | לא | לא | לא |
| השבתה והפעלה מחדש של אפליקציית App Engine | כן | לא | לא | לא | לא |
| מטפלי גישה עם הגבלה מסוג login:admin (זמינים רק בסביבות זמן ריצה מהדור הראשון) | כן | לא | לא | לא | לא |
| עדכון כללי השליחה | כן | לא | לא | לא | לא |
| עדכון הגדרות ה-DoS | כן | לא | לא | לא | לא |
| עדכון של לוחות זמנים של cron | לא | לא | לא | לא | לא |
| עדכון ברירת המחדל של תוקף קובצי Cookie | כן | לא | לא | לא | לא |
| עדכון מקורות התנועה | כן | לא | לא | לא | לא |
| עדכון של שולחים מורשים ב-Email API | כן | לא | לא | לא | לא |
פרטים על הרשאות IAM ספציפיות שניתנות לכל תפקיד מופיעים בקטע Roles ב-Admin API.
תפקיד מומלץ לפריסת אפליקציות
אם יש לכם חשבון שאחראי רק על פריסת גרסאות חדשות של אפליקציה, מומלץ להקצות לו את התפקידים הבאים:
- תפקיד פריסה ב-App Engine (
roles/appengine.deployer) התפקיד 'משתמש בחשבון שירות' (
roles/iam.serviceAccountUser)התפקיד 'משתמש בחשבון שירות' מאפשר לחשבון להתחזות לחשבון השירות שמשמש כברירת המחדל של App Engine במהלך תהליך הפריסה.
אם משתמשים בפקודות
gcloudלפריסה בחשבון, צריך להוסיף גם את התפקידים האלה:- אדמין של אובייקטים באחסון (
roles/storage.objectAdmin) - עריכה ב-Cloud Build (
roles/cloudbuild.builds.editor)
- אדמין של אובייקטים באחסון (
כדי לגשת לנתונים שמאוחסנים ב-Datastore או לעדכן אינדקסים, צריך להפעיל את התפקיד 'אדמין של אינדקסים ב-Cloud Datastore' (
roles/datastore.indexAdmin).
פרטים על מתן ההרשאות הנדרשות זמינים במאמר בנושא יצירת חשבון משתמש.
הפרדה בין תפקידים שקשורים לפריסה ולניתוב תנועה
ארגונים רבים מעדיפים להפריד בין המשימה של פריסת גרסת אפליקציה לבין המשימה של הגדלת נפח התנועה לגרסה החדשה שנוצרה, ושהמשימות האלה יבוצעו על ידי תפקידים שונים. התפקידים 'פריסה ב-App Engine' ו'אדמין שירות של App Engine' מספקים את ההפרדה הזו:
- התפקידים App Engine Deployer ו-Service Account User – החשבונות מוגבלים לפריסת גרסאות חדשות ולמחיקת גרסאות ישנות שלא משרתות תנועה. בחשבון עם התפקידים האלה לא תהיה אפשרות להגדיר תנועה לאף גרסה, וגם לא לשנות הגדרות ברמת האפליקציה, כמו כללי ניתוב או תחום אימות.
- תפקיד אדמין שירות App Engine – חשבונות לא יכולים לפרוס גרסה חדשה של אפליקציה או לשנות הגדרות ברמת האפליקציה. עם זאת, לחשבונות האלה יש הרשאות לשנות את המאפיינים של שירותים וגרסאות קיימים, כולל שינוי הגרסאות שיכולות להעביר תעבורה. תפקיד האדמין של שירות App Engine מתאים במיוחד למחלקת תפעול או IT שמטפלת בהגדלת נפח התנועה לגרסאות חדשות שנפרסו.
המגבלות של התפקידים המוגדרים מראש
אף אחד מהתפקידים המוגדרים מראש של App Engine לא מעניק גישה לפריטים הבאים:
- הצגה והורדה של יומני אפליקציות.
- הצגת תרשימי Monitoring במסוף Google Cloud .
- הפעלה והשבתה של החיוב.
- מריצים סריקות אבטחה ב-Cloud Security Scanner.
- הגדרת גישה או נתונים שמאוחסנים ב-Datastore, בתורי משימות, ב-Cloud Search או בכל מוצר אחסון אחר של Cloud Platform.