בקרת גישה

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. פותחים את הדף IAM במסוף Google Cloud
    פתיחת הדף IAM
    לחלופין, מעבירים את הסמן מעל שם הפרויקט בכרטיסייה נכסים של Code Editor ולוחצים על הסמל .
  2. לוחצים על select a project ובוחרים את הפרויקט (אם פתחתם את דף IAM מ-Code Editor, כבר אמורה להופיע שם האפשרות הזו).
  3. לוחצים על הוספה בחלק העליון ומזינים את כתובת האימייל של המשתמש או הקבוצה כחבר/ה החדש/ה, או לוחצים על הסמל לצד המשתמש הקיים בפרויקט.
  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 למשאבים יש כמה מגבלות, ולכן סיפקנו דוגמאות לדרכים לעקיפת הבעיה:

מגבלה דוגמה לאפשרות אחרת
לא ניתן להשתמש ב-Code Editor, ו-VPC Service Controls לא מאפשר להשתמש בו עם משאבים ולקוחות בתוך גבולות הגזרה של השירות. משתמשים ב- 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. במסמכי העזרה של 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 Apps Publisher הרשאה ליצירת חשבון שירות לשימוש באפליקציה של Earth Engine. בנוסף, הרשאה לערוך ולמחוק אפליקציות בבעלות הפרויקט בפרויקט ב-Cloud.

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

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

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

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

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

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

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

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

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

נדרשות הרשאות
  • resourcemanager.projects.get
  • resourcemanager.folders.list
  • resourcemanager.folders.get
  • resourcemanager.organizations.get (לא נפוץ)
הצעות לתפקידים
  • Viewer (roles/viewer) או
    Earth Engine Resource Viewer (roles/earthengine.viewer) בפרויקטים הרלוונטיים או
    Browser (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) או
  • Project Mover (roles/resourcemanager.projectMover) וגם
    אדמין IAM בפרויקט (roles/resourcemanager.projectIamAdmin) וגם
    אדמין של שימוש בשירות (roles/serviceusage.serviceUsageAdmin)

יצירת פרויקט דרך Code Editor

נדרשות הרשאות
  • 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.

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

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

נדרשות הרשאות
חשבון לחיוב
  • 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)