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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. פותחים את הדף IAM במסוף Google Cloud
    פותחים את הדף IAM
    אפשר גם להעביר את מצביע העכבר מעל שם הפרויקט בכרטיסייה נכסים בכלי לעריכת קוד וללחוץ על הסמל .
  2. לוחצים על select a project ובוחרים את הפרויקט (אם פתחתם את דף IAM מכלי עריכת הקוד, אתם כבר אמורים להיות שם).
  3. לוחצים על הוספה בחלק העליון ומוסיפים את כתובת האימייל של המשתמש או הקבוצה כחברים חדשים, או לוחצים על הסמל ליד החבר הקיים בפרויקט.
  4. בתפריט הנפתח תפקיד, מחפשים את התפקיד 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 לא מאפשר שימוש בו עם משאבים ולקוחות בתוך perimeter של שירות. משתמשים ב- Earth Engine Python API יחד עם הספרייה geemap.
נכסים מדור קודם לא מוגנים על ידי VPC Service Controls. שימוש בנכסים שמאוחסנים בפרויקטים ב-Cloud.
ייצוא ל-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. מידע נוסף על הרשאות ותפקידים בפרויקט ב-Cloud זמין במאמרי העזרה של Google Cloud.

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

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

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

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

גישה מלאה ל-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 Resource Viewer (roles/earthengine.viewer) או
    • Earth Engine Resource Writer ‏ (roles/earthengine.writer) או
    • אדמין של משאבים ב-Earth Engine (roles/earthengine.admin)
  • OAuth Config Editor (roles/oauthconfig.editor) נדרש גם למשתמשים שניגשים ל-Earth Engine דרך סביבת מחברת ומשתמשים ב-Notebook Authenticator. פרטים נוספים מופיעים במאמר בנושא אימות מחברת Colab או JupyterLab.
הערות כדי להשתמש בפרויקט כפרויקט פעיל כשמפעילים ממשקי API, צריך להקצות את התפקיד Service Usage Consumer ב-Google Cloud. אם לא תהיה הרשאה כזו בפרויקט X, הפעולה ee.Initialize(project=X) תיכשל. בנוסף, תוכלו לבחור את הפרויקט הזה ב-Cloud Console כדי להציג את השימוש שלכם במשאבים.

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

נותנים למשתמש אחד מתפקידי ה-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) וגם
    צרכן של שימוש בשירות (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, צריך את Project Mover.

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

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

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

כדי להשתמש ברמת התמחור Contributor, צריך חשבון לחיוב תקין בפרויקט.

נדרשות הרשאות
  • billing.accounts.get
תפקידים מוצעים
  • צפייה בחשבון לחיוב (roles/billing.viewer)

הרשמה לפרויקט מסחרי

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

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

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

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

ההרשאות שנדרשות
בחשבון לחיוב
  • billing.subscriptions.create (כדי לשנות תוכנית של Earth Engine)
  • billing.subscriptions.list (כדי לראות את התוכנית הנוכחית של Earth Engine)
תפקידים מוצעים
בחשבון לחיוב
  • צפייה בחשבון לחיוב (roles/billing.viewer), כדי לראות את התוכנית הנוכחית של Earth Engine
  • אדמין של חשבון לחיוב (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. לכן, זהויות מסוימות נוספות במהלך יצירת האפליקציה בתור Service Account Token Creator ‏(roles/iam.serviceAccountTokenCreator) בחשבונות השירות.
  • במקרה של אפליקציית Earth Engine ציבורית, הזהות שמקבלת את התפקיד הזה היא earth-engine-public-apps@appspot.gserviceaccount.com. במקרה של אפליקציות מוגבלות, הזהות היא קבוצת Google להגבלת הגישה שהוגדרה על ידי יוצר האפליקציה.

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

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