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

אתם יכולים לשתף את הנכסים או את מכסת השימוש ב-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 Apps למשאבים וללקוחות בתוך גבולות שירות. אין פתרון עקיף.

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

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

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

בקטעים הבאים מפורטות ההרשאות והתפקידים שנדרשים כדי לבצע פעולות ולגשת למשאבי Earth Engine. מידע נוסף על הרשאות ותפקידים בפרויקט בענן זמין במאמרי העזרה של 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)
הערות יכול להיות שהארגון שלכם לא ייתן לכם את התפקיד עורך, ולכן תצטרכו להשתמש בתפקידים עם הרשאות יותר ספציפיות. נדרשת הרשאה של Project Mover כדי לכסות את ההרשאה projects.update.

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

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

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

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

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

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

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

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

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

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