שליטה בגישה למשאבים

אתם יכולים לשתף את הנכסים או את מכסת המחשוב של הפרויקט שמופעל בו Earth Engine עם משתמשים אחרים ב-Earth Engine ברמת הפרויקט. אפשר לשתף נכסים או משאבי מחשוב של Earth Engine עם משתמש אחר או עם קבוצת משתמשים. אם רוצים לשתף עם קבוצת משתמשים, יוצרים קבוצה חדשה ב-Google Groups ורושמים את כתובת האימייל שלה (זמינה מהקישור About בדף הקבוצה). בדף הזה מוסבר איך לתת גישה למשאבים לאדם פרטי או לקבוצה, ומהם התפקידים וההרשאות שנדרשים לפעילויות שונות.

הגדרת השימוש בשירות Earth Engine

כדי להשתמש ב-Earth Engine API בפרויקט בענן, צריך להפעיל את ה-API בפרויקט, ולמשתמש צריכות להיות לפחות ההרשאות שבתפקיד צפייה במשאבים של Earth Engine (מידע נוסף על תפקידי IAM מוגדרים מראש ב-Earth Engine). בנוסף, למשתמש צריכה להיות לפחות הרשאת serviceusage.services.use בפרויקט. אפשר לתת את ההרשאה הזו באמצעות התפקידים Project Owner או עריכה בפרויקט, או באמצעות התפקיד הספציפי Service Usage Consumer. אם למשתמש אין את ההרשאות הנדרשות ל-Earth Engine ולשימוש בשירות בפרויקט שנבחר, תופיע הודעת שגיאה.

הגדרת הרשאות גישה לנכסים

הגדרת הרשאות ברמת הנכס

יש כמה אפשרויות לעדכון ההרשאות ברמת הנכס.

  • משתמשים במנהל הנכסים בעורך הקוד.
  • משתמשים בשורת הפקודה של Earth Engine.
  • משתמשים בספריית לקוח, למשל ee.data.setAssetAcl().
  • או לשלוח קריאה ישירות ל-API בארכיטקטורת REST.

הגדרת הרשאות לנכסים ברמת הפרויקט

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

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

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

הגדרת הרשאות ברמת הפרויקט

כדי להגדיר הרשאות ברמת הפרויקט, מקצים תפקיד IAM בפרויקט למשתמש או לקבוצת משתמשים:

  1. פותחים את הדף IAM במסוף Google Cloud
    לפתיחת הדף IAM
    או מעבירים את הסמן מעל שם הפרויקט בכרטיסייה Assets של עורך הקוד ולוחצים על הסמל .
  2. לוחצים על select a project ובוחרים את הפרויקט (אם פתחתם את דף ה-IAM מ-Code Editor, אתם כבר אמורים להיות שם).
  3. לוחצים על ADD בחלק העליון ומוסיפים את כתובת האימייל של המשתמש או הקבוצה כחבר חדש, או לוחצים על הסמל ליד החבר הקיים בפרויקט.
  4. בתפריט הנפתח Role, מחפשים את התפקיד Earth Engine Resource שרוצים להקצות. פרטים נוספים זמינים במאמר תפקידי IAM מוגדרים מראש ב-Earth Engine.
  5. לוחצים על הכפתור שמירה.

VPC Service Controls

ב-Earth Engine יש תמיכה ב-VPC Service Controls, אמצעי אבטחה של Google Cloud שעוזר למשתמשים לאבטח את המשאבים שלהם ולצמצם את הסיכון לזליגת נתונים. הוספת משאבים לגבולות גזרה לשירות של VPC מאפשרת שליטה רבה יותר בפעולות הקריאה והכתיבה של נתונים.

מידע נוסף על התכונות וההגדרה של VPC-SC

מגבלות

להפעלת VPC Service Controls במשאבים יש כמה מגבלות, ולכן סיפקנו דוגמאות לפתרונות עקיפים:

מגבלה דוגמה לאפשרות אחרת
אין תמיכה בעורך הקוד, ו-VPC Service Controls לא מאפשר להשתמש בו עם משאבים ולקוחות בתוך גבולות הגזרה לשירות. משתמשים ב- Earth Engine API בשפת Python יחד עם הספרייה geemap.
נכסים מדור קודם לא מוגנים על ידי VPC Service Controls. שימוש בנכסים שמאוחסנים בפרויקטים בענן.
‫ Export to Google Drive לא נתמך ב-VPC Service Controls.
אין תמיכה ב אפליקציות של Earth Engine למשאבים וללקוחות בתוך גבולות גזרה לשירות. אין פתרון עקיף.

השימוש ב-Earth Engine עם משאבים בתוך גבולות גזרה מאובטחים לשירות של VPC זמין רק בתוכניות התמחור Professional ו-Premium. אם תנסו להשתמש ב-Earth Engine API עם פרויקט מאובטח של VPC-SC שמשויך לתוכנית התמחור Basic, תופיע הודעת שגיאה. במסמכי התיעוד הרשמיים תוכלו לקרוא מידע נוסף על התמחור של Earth Engine.

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

תפקידים והרשאות

בקטעים הבאים מפורטים התפקידים וההרשאות שנדרשים כדי לבצע פעולות ולגשת למשאבים של Earth Engine. במסמכי התיעוד של Google Cloud תוכלו לקרוא מידע נוסף על ההרשאות והתפקידים בפרויקט ב-Cloud.

תפקידי IAM מוגדרים מראש ב-Earth Engine

ב-Earth Engine יש תפקידים מוגדרים מראש שמאפשרים רמות שונות של שליטה במשאבים של Earth Engine בפרויקט. התפקידים האלה הם:

תפקיד כותרת תיאור
roles/earthengine.viewer כלי לצפייה במשאבים של Earth Engine הרשאה לצפות בנכסים ובמשימות ולהציג אותם ברשימה.
roles/earthengine.writer כתיבת משאבים ב-Earth Engine התפקיד הזה מאפשר לקרוא, ליצור, לשנות ולמחוק נכסים, לייבא תמונות וטבלאות, לקרוא ולעדכן משימות, לבצע חישובים אינטראקטיביים וליצור משימות ייצוא ארוכות.
roles/earthengine.admin אדמין ב-Earth Engine הרשאה לכל המשאבים של Earth Engine, כולל שינוי של אמצעי בקרת הגישה לנכסים של Earth Engine.
roles/earthengine.appsPublisher מפרסם אפליקציות של Earth Engine הרשאה ליצור חשבון שירות לשימוש באפליקציית Earth Engine. בנוסף, הרשאה לערוך ולמחוק אפליקציות בבעלות הפרויקט בפרויקט ב-Cloud.

שימו לב שאפשר להגדיר תפקיד פרימיטיבי או בהתאמה אישית אם התפקידים המוגדרים מראש של Earth Engine לא עונים על הצרכים שלכם. כדי לראות את חבילת ההרשאות שמשויכת לכל תפקיד, בדף IAM Roles מסננים לתפקיד ספציפי ולוחצים עליו.

הפעלת Earth Engine API

כדי להפעיל את Earth Engine API בפרויקט ב-Cloud, המשתמש צריך את התפקיד אדמין של שימוש בשירות (roles/serviceusage.serviceUsageAdmin) או תפקיד אחר שכולל את ההרשאה serviceusage.services.enable (כמו בעלים או עורך של פרויקט).

נדרשות הרשאות
  • serviceusage.services.enable
  • serviceusage.services.get
תפקידים מומלצים
  • אדמין של שימוש בשירות (roles/serviceusage.serviceUsageAdmin) או
  • בעלים (roles/owner) או
  • עריכה (roles/editor)

גישה מלאה ל-Earth Engine API

כדי לתת למשתמשים גישה מלאה לשירות Earth Engine, ישירות דרך ה-API בארכיטקטורת REST, דרך עורך הקוד או דרך ספריית לקוח, המשתמשים צריכים הרשאה לבצע פעולות כמו:

  • מריץ ביטויים של Earth Engine
  • הרצת חישובים באצווה (ייצוא)
  • קבלת תוצאות אינטראקטיביות (מפות אונליין, תמונות ממוזערות, תרשימים וכו')
  • יצירה או מחיקה של נכסי Earth Engine
  • שימוש באימות OAuth באמצעות ספריית לקוח כדי להתחבר ל-Earth Engine
נדרשות הרשאות
  • clientauthconfig.clients.listWithSecrets
  • earthengine.assets.get
  • earthengine.assets.getIamPolicy
  • earthengine.assets.list
  • earthengine.computations.create
  • earthengine.operations.get
  • earthengine.operations.list
  • monitoring.timeSeries.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.operations.get
  • serviceusage.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • serviceusage.services.use
תפקידים מומלצים
  • Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) ואחד מהתפקידים הבאים:
    • צפייה במשאבים של Earth Engine (roles/earthengine.viewer) או
    • כותב משאבים ב-Earth Engine (roles/earthengine.writer) או
    • אדמין של משאבי Earth Engine‏ (roles/earthengine.admin)
  • OAuth Config Editor (roles/oauthconfig.editor) נדרש גם למשתמשים שניגשים ל-Earth Engine דרך סביבת Notebook ומשתמשים ב-Notebook Authenticator. פרטים נוספים זמינים במאמר אימות של Colab או JupyterLab notebook.
הערות כדי להשתמש בפרויקט כפרויקט הפעיל כשמפעילים ממשקי API, צריך את התפקיד Service Usage Consumer ב-Google Cloud. בלי ההרשאה הזו בפרויקט X, הפעולה של ee.Initialize(project=X) תיכשל. בנוסף, תוכלו לבחור את הפרויקט הזה במסוף Cloud כדי להציג את השימוש שלכם במשאבים.

שיתוף נכסים בלבד

מקצים למשתמש את אחד מהתפקידים המוגדרים מראש ב-IAM של Earth Engine עם הרשאות מינימליות לביצוע הפעילות הנדרשת. חשוב לזכור שהמשתמשים לא יוכלו להשתמש במשאבי הפרויקט בלי ההרשאות הנדרשות ב-serviceusage.

ניהול פרויקטים

להציג רשימה של הפרויקטים הזמינים

זה קורה כשמשתמשים בעורך הקוד כדי לעיין בפרויקטים זמינים.

נדרשות הרשאות
  • resourcemanager.projects.get
  • resourcemanager.folders.list
  • resourcemanager.folders.get
  • resourcemanager.organizations.get (לא נפוץ)
תפקידים מומלצים
  • צפייה (roles/viewer) או
    צפייה במשאבים של Earth Engine (roles/earthengine.viewer) בפרויקטים רלוונטיים או
    דפדפן (roles/browser, מומלץ במקרים של ארגונים מתקדמים)
  • צפייה בתיקיות (roles/resourcemanager.folderViewer) בתיקיות הרלוונטיות

בחירת פרויקט לשימוש בעורך הקוד

נדרשות הרשאות
  • resourcemanager.projects.get
  • serviceusage.services.get
אם הפרויקט לא הוגדר בעבר

בפעם הראשונה שבוחרים פרויקט דרך Code Editor, הפרויקט עובר אתחול לשימוש עם Earth Engine. אם לא עשיתם את זה בעבר, תצטרכו את התפקידים האלה כדי להשלים את ההגדרה.

  • resourcemanager.projects.update וגם
  • serviceusage.services.enable
תפקידים מומלצים
  • צפייה (roles/viewer) או
  • צפייה במשאבים של Earth Engine ‏(roles/earthengine.viewer) וגם
    Service Usage Consumer ‏(roles/serviceusage.serviceUsageConsumer)
תפקידים נוספים (אם הפרויקט לא הוגדר בעבר)
  • עריכה (roles/editor) או
  • העברת פרויקטים (roles/resourcemanager.projectMover) וגם
    אדמין IAM בפרויקט (roles/resourcemanager.projectIamAdmin) וגם
    אדמין לשימוש בשירות (roles/serviceusage.serviceUsageAdmin)

יצירת פרויקט באמצעות עורך הקוד

נדרשות הרשאות
  • resourcemanager.projects.get
  • resourcemanager.projects.create
  • resourcemanager.projects.update
  • serviceusage.services.get
  • serviceusage.services.enable
תפקידים מומלצים
  • עריכה (roles/editor) או
  • העברת פרויקטים (roles/resourcemanager.projectMover) וגם
    יצירת פרויקטים (roles/resourcemanager.projectCreator) וגם
    אדמין של שימוש בשירות (roles/serviceusage.serviceUsageAdmin)
הערות יכול להיות שהארגון שלכם לא ייתן לכם את התפקיד עריכה, ולכן יכול להיות שתצטרכו את התפקידים המפורטים יותר. התפקיד העברת פרויקטים נדרש כדי לכסות את ההרשאה projects.update.

בחירת רמה לא מסחרית

ההרשאות והתפקידים המוצעים הבאים קשורים להגדרת רמה לא מסחרית.

בחירת רמה
נדרשות הרשאות
  • earthengine.config.update
תפקידים מומלצים
  • כתיבת משאבים ב-Earth Engine ‏(roles/earthengine.writer)
שיוך של חשבון לחיוב לפרויקט

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

נדרשות הרשאות
חשבון לחיוב
  • billing.resourceAssociations.create
פרויקט בענן
  • resourcemanager.projects.createBillingAssignment
תפקידים מומלצים
חשבון לחיוב
  • משתמש בחשבון לחיוב (roles/billing.user)
פרויקט בענן
  • Project Billing Manager (roles/billing.projectManager)

רישום פרויקט מסחרי

ההרשאות הבאות קשורות לרישום פרויקטים לשימוש בתשלום.

נדרשות הרשאות
חשבון לחיוב
  • billing.accounts.get
  • billing.subscriptions.list
כמו כן:
  • billing.subscriptions.create (ליצירת תוכנית Basic או Professional חדשה)
פרויקט בענן
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
תפקידים מומלצים
חשבון לחיוב
  • Billing Account Viewer (roles/billing.viewer), כדי ליצור תוכנית מוגבלת חדשה
  • Billing Account Administrator (roles/billing.admin), כדי ליצור תוכנית Basic או Professional חדשה
פרויקט בענן
  • כתיבת משאבים ב-Earth Engine ‏(roles/earthengine.writer)
  • אדמין של שימוש בשירות (roles/serviceusage.serviceUsageAdmin)

ניהול תוכנית מסחרית ב-Earth Engine

ההרשאות הבאות קשורות לניהול תוכניות התמחור של Earth Engine.

ההרשאות שצריך
בחשבון לחיוב
  • billing.accounts.get
  • billing.subscriptions.list
כמו כן:
  • ‫billing.subscriptions.create (לשדרוג מתוכנית Limited לתוכנית Basic או Professional)
  • billing.subscriptions.update (כדי לעבור בין תוכניות Basic ו-Professional, או כדי לשדרג לאחור תוכנית Basic או Professional ל-Limited)
תפקידים מומלצים
בחשבון לחיוב
  • Billing Account Viewer (roles/billing.viewer), כדי לראות את התוכנית הנוכחית של Earth Engine
  • Billing Account Administrator (roles/billing.admin), כדי לשנות תוכנית ב-Earth Engine

ניהול משימות באצווה

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

הצגת המגבלות על משימות באצווה ברמת הפרויקט

ההרשאות הנדרשות
בחשבון Cloud
earthengine.config.get

הגדרת מגבלות למשימות באצווה ברמת הפרויקט

ההרשאות הנדרשות
בחשבון Cloud
earthengine.config.update
הערה: ההרשאה הזו כוללת גם את האפשרות לראות את המגבלות ברמת התוכנית שמוגדרות בחשבון לחיוב.
ההרשאות שצריך
בחשבון לחיוב
billing.subscriptions.list

ניהול אפליקציות

הצגת פרטי האפליקציה

נדרשות הרשאות
  • iam.serviceAccounts.get
  • ‫iam.serviceAccounts.getIamPolicy, אם האפליקציה מוגבלת (פחות נפוץ)
תפקידים מומלצים צפייה (roles/viewer) או
בעל הרשאת פרסום של אפליקציות Earth Engine (roles/earthengine.appsPublisher)

פרסום או עדכון של האפליקציה

נדרשות הרשאות
  • iam.serviceAccounts.get
  • iam.serviceAccounts.create
  • iam.serviceAccounts.enable
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy
  • ‫iam.serviceAccounts.disable, אם האפליקציה מועברת מפרויקט אחד לאחר (לא נפוץ)
תפקידים מומלצים בעל תוכן דיגיטלי של אפליקציות Earth Engine ‏(roles/earthengine.appsPublisher) או
אדמין של חשבון שירות ‏(roles/iam.serviceAccountAdmin)
הערות
  • בנוסף, חשבונות השירות של אפליקציית Earth Engine מזדהים בשרתי Earth Engine באמצעות הצגת אסימון גישה של OAuth. לכן, זהויות מסוימות מתווספות במהלך יצירת האפליקציה בתור יצירת אסימונים בחשבון שירות (roles/iam.serviceAccountTokenCreator) בחשבונות השירות.
  • באפליקציית Earth Engine ציבורית, הזהות שקיבלה את התפקיד הזה היא earth-engine-public-apps@appspot.gserviceaccount.com, ובאפליקציות מוגבלות הזהות היא קבוצת Google עם הגבלת גישה שהוגדרה על ידי יוצר האפליקציה.

מחיקת אפליקציה

נדרשות הרשאות iam.serviceAccounts.disable
תפקידים מומלצים בעל תוכן דיגיטלי של אפליקציות Earth Engine ‏(roles/earthengine.appsPublisher) או
אדמין של חשבון שירות ‏(roles/iam.serviceAccountAdmin)