בקרת גישה באמצעות IAM

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

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

לפני שמתחילים

  • כדי להעניק תפקידים והרשאות ב-Cloud Marketplace באמצעות gcloud, צריך להתקין את ה-CLI של gcloud. בכל מקרה אחר, אפשר להקצות תפקידים באמצעות מסוף Google Cloud .

תפקידי IAM לרכישה ולניהול של מוצרים

מומלץ להקצות את תפקיד ה-IAM‏ Billing Account Administrator למשתמשים שרוכשים שירותים מ-Cloud Marketplace.

למשתמשים שרוצים לגשת לשירותים צריכה להיות לפחות הרשאת צפייה.

כדי לקבל שליטה פרטנית יותר בהרשאות של המשתמשים, אתם יכולים ליצור תפקידים בהתאמה אישית עם ההרשאות שאתם רוצים להעניק.

דרישות ספציפיות למוצר

כדי להשתמש בשירותים הבאים ב Google Cloud פרויקט, צריך להיות לכם תפקיד עורך הפרויקט:

  • ‫Google Cloud Dataprep by Trifacta
  • Neo4j Aura Professional
  • ‫Redis Enterprise Cloud

רשימה של תפקידים והרשאות ב-IAM

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

Role Permissions

(roles/commercebusinessenablement.admin)

Admin of Various Provider Configuration resources

bigquery.datasets.create

bigquery.datasets.get

bigquery.datasets.update

commercebusinessenablement.leadgenConfig.*

  • commercebusinessenablement.leadgenConfig.get
  • commercebusinessenablement.leadgenConfig.update

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.*

  • commercebusinessenablement.resellerConfig.get
  • commercebusinessenablement.resellerConfig.update

commercebusinessenablement.resellerRestrictions.*

  • commercebusinessenablement.resellerRestrictions.list
  • commercebusinessenablement.resellerRestrictions.update

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.operations.get

serviceusage.services.enable

serviceusage.services.get

(roles/commercebusinessenablement.viewer)

Viewer of Various Provider Configuration resource

commercebusinessenablement.leadgenConfig.get

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.get

commercebusinessenablement.resellerRestrictions.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.paymentConfigAdmin)

Administration of Payment Configuration resource

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.paymentConfig.*

  • commercebusinessenablement.paymentConfig.get
  • commercebusinessenablement.paymentConfig.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.paymentConfigViewer)

Viewer of Payment Configuration resource

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.paymentConfig.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.rebatesAdmin)

Provides admin access to rebates

commercebusinessenablement.operations.*

  • commercebusinessenablement.operations.cancel
  • commercebusinessenablement.operations.delete
  • commercebusinessenablement.operations.get
  • commercebusinessenablement.operations.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.refunds.*

  • commercebusinessenablement.refunds.cancel
  • commercebusinessenablement.refunds.create
  • commercebusinessenablement.refunds.delete
  • commercebusinessenablement.refunds.get
  • commercebusinessenablement.refunds.list
  • commercebusinessenablement.refunds.start
  • commercebusinessenablement.refunds.update

(roles/commercebusinessenablement.rebatesViewer)

Provides read-only access to rebates

commercebusinessenablement.operations.get

commercebusinessenablement.operations.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.refunds.get

commercebusinessenablement.refunds.list

(roles/commercebusinessenablement.resellerDiscountAdmin)

Provides admin access to reseller discount offers

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.get

commercebusinessenablement.resellerDiscountConfig.get

commercebusinessenablement.resellerDiscountOffers.*

  • commercebusinessenablement.resellerDiscountOffers.cancel
  • commercebusinessenablement.resellerDiscountOffers.create
  • commercebusinessenablement.resellerDiscountOffers.list

commercebusinessenablement.resellerPrivateOfferPlans.*

  • commercebusinessenablement.resellerPrivateOfferPlans.cancel
  • commercebusinessenablement.resellerPrivateOfferPlans.create
  • commercebusinessenablement.resellerPrivateOfferPlans.delete
  • commercebusinessenablement.resellerPrivateOfferPlans.get
  • commercebusinessenablement.resellerPrivateOfferPlans.list
  • commercebusinessenablement.resellerPrivateOfferPlans.publish
  • commercebusinessenablement.resellerPrivateOfferPlans.update

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.resellerDiscountViewer)

Provides read-only access to reseller discount offers

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.get

commercebusinessenablement.resellerDiscountConfig.get

commercebusinessenablement.resellerDiscountOffers.list

commercebusinessenablement.resellerPrivateOfferPlans.get

commercebusinessenablement.resellerPrivateOfferPlans.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

הענקת תפקידי IAM למשתמשים

מבין התפקידים בטבלה שלמעלה, צריך להקצות את התפקידים consumerprocurement.orderAdmin ו-consumerprocurement.orderViewer ברמת החשבון לחיוב או ברמת הארגון, ואת התפקידים consumerprocurement.entitlementManager ו-consumerprocurement.entitlementViewer ברמת הפרויקט או ברמת הארגון.

כדי להקצות תפקידים למשתמשים באמצעות gcloud, מריצים אחת מהפקודות הבאות:

ארגון

כדי להקצות תפקידים ברמת הארגון, צריך להיות לכם התפקיד resourcemanager.organizationAdmin.

gcloud organizations add-iam-policy-binding organization-id \
--member=member --role=role-id

הערכים הזמניים לשמירת מקום (placeholders) הם:

  • organization-id: המזהה המספרי של הארגון שרוצים להעניק לו את התפקיד.
  • member: המשתמש שרוצים להעניק לו גישה.
  • role-id: מזהה התפקיד, מהטבלה הקודמת.

חשבון לחיוב

כדי להקצות תפקידים ברמת החשבון לחיוב, צריך להיות לכם תפקיד billing.admin.

gcloud beta billing accounts set-iam-policy account-id \
policy-file

הערכים הזמניים לשמירת מקום (placeholders) הם:

  • account-id: מספר החשבון לחיוב, שאפשר למצוא בדף 'ניהול חשבונות לחיוב'.
  • policy-file: קובץ מדיניות IAM בפורמט JSON או YAML. קובץ המדיניות צריך להכיל את מזהי התפקידים מהטבלה הקודמת, ואת המשתמשים שאתם מקצים להם את התפקידים.

פרויקט

כדי להקצות תפקידים ברמת הפרויקט, צריך להיות לכם תפקיד resourcemanager.folderAdmin.

gcloud projects add-iam-policy-binding project-id \
--member=member --role=role-id

הערכים הזמניים לשמירת מקום (placeholders) הם:

  • project-id: הפרויקט שבו אתם מעניקים את התפקיד.
  • member: המשתמש שרוצים להעניק לו גישה.
  • role-id: מזהה התפקיד, מהטבלה הקודמת.

במאמר בנושא IAM הענקה, שינוי וביטול גישה למשתמשים מוסבר איך להקצות תפקידים למשתמשים באמצעות Google Cloud המסוף.

שימוש בתפקידים בהתאמה אישית ב-Cloud Marketplace

אם אתם רוצים שליטה פרטנית בהרשאות שאתם מעניקים למשתמשים, אתם יכולים ליצור תפקידים בהתאמה אישית עם ההרשאות שאתם רוצים להעניק.

אם אתם יוצרים תפקיד בהתאמה אישית למשתמשים שרוכשים שירותים מ-Cloud Marketplace, התפקיד צריך לכלול את ההרשאות האלה בחשבון לחיוב שבו הם משתמשים כדי לרכוש שירותים:

גישה לאתרים של שותפים באמצעות כניסה יחידה (SSO)

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

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

בנוסף, למשתמש צריכות להיות הרשאות IAM מספיקות בפרויקט שנבחר. לרוב המוצרים נדרש כרגע התפקיד roles/consumerprocurement.entitlementManager (או roles/editor תפקיד בסיסי).

הרשאות מינימליות למוצרים ספציפיים

המוצרים הבאים יכולים לפעול עם קבוצה שונה של הרשאות לגישה ליכולות של SSO:

  • ‫Apache Kafka ב-Confluent Cloud
  • ‫DataStax Astra for Apache Cassandra
  • Elastic Cloud
  • Neo4j Aura Professional
  • ‫Redis Enterprise Cloud

עבור המוצרים האלה, אפשר להשתמש בהרשאות המינימליות הבאות:

  • consumerprocurement.entitlements.get
  • consumerprocurement.entitlements.list
  • serviceusage.services.get
  • serviceusage.services.list
  • resourcemanager.projects.get

ההרשאות האלה מוענקות בדרך כלל עם התפקידים roles/consumerprocurement.entitlementManager או roles/consumerprocurement.entitlementViewer.