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

בדף הזה מתוארות אפשרויות בקרת הגישה ב-Bigtable.

סקירה כללית

‫Bigtable משתמש בניהול זהויות והרשאות גישה (IAM) לבקרת גישה. כדי לקבוע למי יש גישה לאילו משאבים, צריך להגדיר מדיניות IAM למשאבים.

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

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

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

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

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

דוגמאות לשימוש בבקרת גישה ברמת המופע:

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

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

  • אפשרות למשתמש לכתוב לטבלה אבל לא לקרוא ממנה.
  • מאפשרת למשתמש לקרוא מטבלה אבל לא לכתוב לטבלה.

דוגמאות לשימוש בבקרת גישה ברמת הגיבוי:

  • למנוע ממשתמש למחוק גיבוי.
  • למנוע ממשתמש לשחזר מהגיבוי.

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

  • לאפשר למשתמש לקרוא תצוגה מורשית אבל לא לשנות אותה.
  • אפשר לאפשר למשתמש לצפות בנתונים רק מאחת מכמה תצוגות מורשות של טבלה.

דוגמאות לשימוש בבקרת גישה ברמה של תצוגה חומרית מתמשכת:

  • לאפשר למשתמש לקרוא מתצוגה חומרית רציפה אבל לא לשנות את הטבלה הבסיסית.

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

ב-Bigtable, אי אפשר להעניק גישה לסוגים הבאים של חשבונות משתמשים:

בסעיפים הבאים מפורטות רשימות של ההרשאות והתפקידים שנתמכים ב-Bigtable.

הפעלת Bigtable API

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

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

כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

להפעלת ה-API

הרשאות

בקטע הזה מפורטות ההרשאות שנתמכות ב-Bigtable.

הרשאות מאפשרות למשתמשים לבצע פעולות ספציפיות במשאבי Bigtable. לדוגמה, ההרשאה bigtable.instances.list מאפשרת למשתמשים להציג רשימה של כל מופעי Bigtable בפרויקט. אתם לא מעניקים הרשאות למשתמשים באופן ישיר, אלא מקצים לכל משתמש תפקיד מוגדר מראש או תפקיד בהתאמה אישית, שמעניק הרשאה אחת או יותר.

בטבלאות הבאות מפורטות הרשאות ה-IAM שמשויכות ל-Bigtable:

שם ההרשאה בפרופיל האפליקציה תיאור
bigtable.appProfiles.create יוצרים פרופיל אפליקציה ב-Bigtable.
bigtable.appProfiles.delete מחיקת פרופיל אפליקציה של Bigtable.
bigtable.appProfiles.get קבלת מידע על פרופיל אפליקציה של Bigtable.
bigtable.appProfiles.list רשימה של פרופילי אפליקציות Bigtable של מכונה.
bigtable.appProfiles.update מעדכנים את ההגדרות של פרופיל אפליקציית Bigtable.
שם ההרשאה של הגיבויים תיאור
bigtable.backups.create יוצרים גיבוי של Bigtable.
bigtable.backups.delete מחיקת גיבוי של Bigtable.
bigtable.backups.get קבלת מידע על גיבוי של Bigtable.
bigtable.backups.getIamPolicy קבלת מדיניות IAM של גיבוי.
bigtable.backups.list הצגת רשימת הגיבויים של Bigtable.
bigtable.backups.restore שחזור מגיבוי של Bigtable.
bigtable.backups.testIamPermissions קבלת ההרשאות של המתקשר בגיבוי ספציפי.
bigtable.backups.read קריאה מגיבוי של Bigtable.
bigtable.backups.setIamPolicy עדכון רשימות ACL של גיבויים.
bigtable.backups.update שינוי תאריך התפוגה של גיבוי Bigtable.
שם ההרשאה של האשכול תיאור
bigtable.clusters.create יוצרים אשכול Bigtable.
bigtable.clusters.delete מחיקת אשכול Bigtable.
bigtable.clusters.get קבלת מידע על אשכול Bigtable.
bigtable.clusters.list הצגת רשימה של אשכולות Bigtable של מכונה.
bigtable.clusters.update עדכון ההגדרות של אשכול Bigtable.
שם ההרשאה של טאבלטים חמים תיאור
bigtable.hotTablets.list תציג רשימה של טאבלטים פופולריים לאשכול.
שם ההרשאה בזיכרון (גרסת טרום-השקה (Preview)) תיאור
bigtable.memoryLayer.get הצגת מידע על רמת שירות של Bigtable בזיכרון.
bigtable.memoryLayer.list רשימת רמות Bigtable בזיכרון.
bigtable.memoryLayer.update הפעלה, השבתה או שינוי הגודל של רמת Bigtable בזיכרון.
שם ההרשאה של המופע תיאור
bigtable.instances.create יוצרים מופע Bigtable.
bigtable.instances.createTagBinding יוצרים תג.
bigtable.instances.delete מחיקת מכונה של Bigtable.
bigtable.instances.deleteTagBinding מחיקת תג.
bigtable.instances.get קבלת מידע על מכונת Bigtable.
bigtable.instances.getIamPolicy קבלת מדיניות IAM של מופע.
bigtable.instances.list הצגת רשימה של מכונות Bigtable בפרויקט.
bigtable.instances.listEffectiveTagBindings הצגת רשימה של כל התגים שבתוקף עבור מופע.
bigtable.instances.listTagBindings מציגים רשימה של התגים של מופע.
bigtable.instances.ping שליחת בקשות לחימום הערוץ.
bigtable.instances.executeQuery שליחת בקשות ExecuteQuery ו-PrepareQuery למופע.
bigtable.instances.setIamPolicy עדכון רשימות ACL.
bigtable.instances.update מעדכנים את ההגדרות של מופע Bigtable.
שם ההרשאה של Key Visualizer תיאור
bigtable.keyvisualizer.get אפשר לקבל מידע מ-Key Visualizer על טבלה, כולל מטא-נתונים על דפוסי גישה ועל חלוקת מפתחות השורות.
bigtable.keyvisualizer.list מציג מידע זמין של Key Visualizer לגבי טבלה.
שם הרשאת המיקום תיאור
bigtable.locations.list רשימת המיקומים של Bigtable.
שם ההרשאה של הטבלה תיאור
bigtable.tables.checkConsistency בודקים אם טבלה משוכפלת מעודכנת.
bigtable.tables.create יוצרים טבלה.
bigtable.tables.delete מחיקת טבלה.
bigtable.tables.generateConsistencyToken יצירת אסימון כדי לבדוק אם טבלה משוכפלת עדכנית.
bigtable.tables.get קבלת מידע על טבלה, כולל משפחות עמודות וההגדרות הספציפיות שלהן.
bigtable.tables.getIamPolicy קבלת מדיניות IAM של טבלה.
bigtable.tables.list הצגת רשימת הטבלאות במופע.
bigtable.tables.mutateRows לשנות שורות בטבלה או לקצץ את הטבלה.
bigtable.tables.readRows קריאת שורות מטבלה. המידע הזה כולל פרטים על הטבלה, כמו משפחות עמודות וההגדרות שלהן.
bigtable.tables.sampleRowKeys קבלת דוגמה של מפתחות השורות שמשמשים בטבלה.
bigtable.tables.setIamPolicy עדכון רשימות ACL של טבלאות.
bigtable.tables.undelete שחזור טבלה שנמחקה.
bigtable.tables.update מעדכנים את ההגדרות של טבלה, כולל משפחות עמודות וההגדרות הספציפיות שלהן.
שם הרשאת המיקום תיאור
bigtable.locations.list רשימת המיקומים של Bigtable.
שם ההרשאה של התצוגה המורשית תיאור
bigtable.authorizedViews.create יוצרים תצוגה מורשית.
bigtable.authorizedViews.delete מחיקת תצוגה מורשית.
bigtable.authorizedViews.get קבלת מידע על תצוגה מורשית.
bigtable.authorizedViews.getIamPolicy קבלת מדיניות IAM של תצוגה מורשית.
bigtable.authorizedViews.list הצגת תצוגות מורשות בטבלה.
bigtable.authorizedViews.mutateRows שינוי שורות בתצוגה מורשית.
bigtable.authorizedViews.readRows קריאת שורות מתצוגה מורשית.
bigtable.authorizedViews.sampleRowKeys קבלת דוגמה של מפתחות השורות שנעשה בהם שימוש בתצוגה מורשית.
bigtable.authorizedViews.setIamPolicy עדכון של מדיניות בקרת הגישה לתצוגה מורשית.
bigtable.authorizedViews.update מעדכנים את ההגדרות של תצוגה מורשית.
שם ההרשאה של תצוגה מהותית מתמשכת תיאור
bigtable.materializedViews.create ליצור תצוגה מהותית רציפה.
bigtable.materializedViews.delete מחיקה של תצוגה מהותית רציפה.
bigtable.materializedViews.get קבלת מידע על תצוגה מהותית רציפה.
bigtable.materializedViews.getIamPolicy קבלת מדיניות IAM של תצוגה מהותית רציפה.
bigtable.materializedViews.list הצגת רשימה של תצוגות מהותיות רציפות במופע.
bigtable.materializedViews.readRows קריאת שורות מתצוגה מהותית רציפה.
bigtable.materializedViews.sampleRowKeys קבלת דוגמה של מפתחות השורות שמשמשים בתצוגה מהותית רציפה.
bigtable.materializedViews.setIamPolicy עדכון של מדיניות בקרת גישה לתצוגה חומרית רציפה.
bigtable.materializedViews.update עדכון ההגדרות של תצוגה חומרית רציפה.

תפקידים מוגדרים מראש

כל תפקיד מוגדר מראש הוא חבילה של הרשאה אחת או יותר. לדוגמה, roles/bigtable.reader מספק גישת קריאה בלבד למידע על מופעי Bigtable, אשכולות, טבלאות ומשפחות עמודות, וגם לנתונים שכלולים בטבלאות. אתם מקצים תפקידים למשתמשים או לקבוצות, וכך מאפשרים להם לבצע פעולות על המשאבים בפרויקט.

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

Role Permissions

(roles/bigtable.admin)

Administers all Bigtable instances within a project, including the data stored within tables. Can create new instances. Intended for project administrators.

Lowest-level resources where you can grant this role:

  • Table

bigtable.*

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.appProfiles.update
  • bigtable.authorizedViews.create
  • bigtable.authorizedViews.createTagBinding
  • bigtable.authorizedViews.delete
  • bigtable.authorizedViews.deleteTagBinding
  • bigtable.authorizedViews.get
  • bigtable.authorizedViews.getIamPolicy
  • bigtable.authorizedViews.list
  • bigtable.authorizedViews.listEffectiveTags
  • bigtable.authorizedViews.listTagBindings
  • bigtable.authorizedViews.mutateRows
  • bigtable.authorizedViews.readRows
  • bigtable.authorizedViews.sampleRowKeys
  • bigtable.authorizedViews.setIamPolicy
  • bigtable.authorizedViews.update
  • bigtable.backups.create
  • bigtable.backups.delete
  • bigtable.backups.get
  • bigtable.backups.getIamPolicy
  • bigtable.backups.list
  • bigtable.backups.read
  • bigtable.backups.restore
  • bigtable.backups.setIamPolicy
  • bigtable.backups.update
  • bigtable.clusters.create
  • bigtable.clusters.delete
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.clusters.update
  • bigtable.hotTablets.list
  • bigtable.instances.create
  • bigtable.instances.createTagBinding
  • bigtable.instances.delete
  • bigtable.instances.deleteTagBinding
  • bigtable.instances.executeQuery
  • bigtable.instances.get
  • bigtable.instances.getIamPolicy
  • bigtable.instances.list
  • bigtable.instances.listEffectiveTags
  • bigtable.instances.listTagBindings
  • bigtable.instances.ping
  • bigtable.instances.setIamPolicy
  • bigtable.instances.update
  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list
  • bigtable.locations.list
  • bigtable.logicalViews.create
  • bigtable.logicalViews.delete
  • bigtable.logicalViews.get
  • bigtable.logicalViews.getIamPolicy
  • bigtable.logicalViews.list
  • bigtable.logicalViews.readRows
  • bigtable.logicalViews.setIamPolicy
  • bigtable.logicalViews.update
  • bigtable.materializedViews.create
  • bigtable.materializedViews.delete
  • bigtable.materializedViews.get
  • bigtable.materializedViews.getIamPolicy
  • bigtable.materializedViews.list
  • bigtable.materializedViews.readRows
  • bigtable.materializedViews.sampleRowKeys
  • bigtable.materializedViews.setIamPolicy
  • bigtable.materializedViews.update
  • bigtable.memoryLayers.get
  • bigtable.memoryLayers.list
  • bigtable.memoryLayers.update
  • bigtable.schemaBundles.create
  • bigtable.schemaBundles.delete
  • bigtable.schemaBundles.get
  • bigtable.schemaBundles.getIamPolicy
  • bigtable.schemaBundles.list
  • bigtable.schemaBundles.setIamPolicy
  • bigtable.schemaBundles.update
  • bigtable.tables.checkConsistency
  • bigtable.tables.create
  • bigtable.tables.delete
  • bigtable.tables.generateConsistencyToken
  • bigtable.tables.get
  • bigtable.tables.getIamPolicy
  • bigtable.tables.list
  • bigtable.tables.mutateRows
  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys
  • bigtable.tables.setIamPolicy
  • bigtable.tables.undelete
  • bigtable.tables.update

cloudkms.keyHandles.*

  • cloudkms.keyHandles.create
  • cloudkms.keyHandles.get
  • cloudkms.keyHandles.list

cloudkms.operations.get

cloudkms.projects.showEffectiveAutokeyConfig

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.editor)

Editor role for bigtable

bigtable.appProfiles.*

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.appProfiles.update

bigtable.authorizedViews.create

bigtable.authorizedViews.delete

bigtable.authorizedViews.get

bigtable.authorizedViews.getIamPolicy

bigtable.authorizedViews.list

bigtable.authorizedViews.listEffectiveTags

bigtable.authorizedViews.listTagBindings

bigtable.authorizedViews.mutateRows

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.authorizedViews.update

bigtable.backups.create

bigtable.backups.delete

bigtable.backups.get

bigtable.backups.getIamPolicy

bigtable.backups.list

bigtable.backups.read

bigtable.backups.restore

bigtable.backups.update

bigtable.clusters.*

  • bigtable.clusters.create
  • bigtable.clusters.delete
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.clusters.update

bigtable.hotTablets.list

bigtable.instances.create

bigtable.instances.delete

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.getIamPolicy

bigtable.instances.list

bigtable.instances.listEffectiveTags

bigtable.instances.listTagBindings

bigtable.instances.ping

bigtable.instances.update

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.logicalViews.create

bigtable.logicalViews.delete

bigtable.logicalViews.get

bigtable.logicalViews.getIamPolicy

bigtable.logicalViews.list

bigtable.logicalViews.readRows

bigtable.logicalViews.update

bigtable.materializedViews.create

bigtable.materializedViews.delete

bigtable.materializedViews.get

bigtable.materializedViews.getIamPolicy

bigtable.materializedViews.list

bigtable.materializedViews.readRows

bigtable.materializedViews.sampleRowKeys

bigtable.materializedViews.update

bigtable.memoryLayers.*

  • bigtable.memoryLayers.get
  • bigtable.memoryLayers.list
  • bigtable.memoryLayers.update

bigtable.schemaBundles.create

bigtable.schemaBundles.delete

bigtable.schemaBundles.get

bigtable.schemaBundles.getIamPolicy

bigtable.schemaBundles.list

bigtable.schemaBundles.update

bigtable.tables.checkConsistency

bigtable.tables.create

bigtable.tables.delete

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.getIamPolicy

bigtable.tables.list

bigtable.tables.mutateRows

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

bigtable.tables.undelete

bigtable.tables.update

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigtable.user)

Provides read-write access to the data stored within Bigtable tables. Intended for application developers or service accounts.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.mutateRows

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.logicalViews.get

bigtable.logicalViews.list

bigtable.logicalViews.readRows

bigtable.materializedViews.get

bigtable.materializedViews.list

bigtable.materializedViews.readRows

bigtable.materializedViews.sampleRowKeys

bigtable.memoryLayers.get

bigtable.memoryLayers.list

bigtable.schemaBundles.get

bigtable.schemaBundles.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.mutateRows

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.viewer)

Provides no data access. Intended as a minimal set of permissions to access the Google Cloud console for Bigtable.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.get

bigtable.instances.list

bigtable.instances.listEffectiveTags

bigtable.instances.listTagBindings

bigtable.locations.list

bigtable.logicalViews.get

bigtable.logicalViews.list

bigtable.materializedViews.get

bigtable.materializedViews.list

bigtable.memoryLayers.get

bigtable.memoryLayers.list

bigtable.schemaBundles.get

bigtable.schemaBundles.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.reader)

Provides read-only access to the data stored within Bigtable tables. Intended for data scientists, dashboard generators, and other data-analysis scenarios.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.logicalViews.get

bigtable.logicalViews.list

bigtable.logicalViews.readRows

bigtable.materializedViews.get

bigtable.materializedViews.list

bigtable.materializedViews.readRows

bigtable.materializedViews.sampleRowKeys

bigtable.memoryLayers.get

bigtable.memoryLayers.list

bigtable.schemaBundles.get

bigtable.schemaBundles.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

תפקידים בהתאמה אישית

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

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

Google Cloud משימת מסוף ההרשאות הנדרשות
גישה בסיסית למסוף Google Cloud
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • bigtable.tables.get
  • bigtable.tables.list
  • resourcemanager.projects.get
יצירת מופע או אשכול

הרשאות גישה בסיסיות, בנוסף:

  • bigtable.clusters.create
  • bigtable.instances.create
שינוי של מכונה או אשכול

הרשאות גישה בסיסיות, בנוסף:

  • bigtable.clusters.update
  • bigtable.instances.update
ניהול הגדרות השכפול

הרשאות גישה בסיסיות, בנוסף:

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.update
מחיקת מופע או אשכול

הרשאות גישה בסיסיות, בנוסף:

  • bigtable.clusters.delete
  • bigtable.instances.delete
מעקב אחרי מופע באמצעות צפייה בתרשימים

הרשאות גישה בסיסיות, בנוסף:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list
יצירה ועדכון של טבלה

הרשאות גישה בסיסיות, בנוסף:

  • bigtable.tables.create
  • bigtable.tables.update
שחזור גיבוי

הרשאות גישה בסיסיות, בנוסף:

  • bigtable.backups.list
  • bigtable.tables.create
  • bigtable.backups.restore

ניהול IAM

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

ניהול IAM ברמת הפרויקט

ברמת הפרויקט, אפשר להקצות, לשנות ולבטל תפקידי IAM באמצעות מסוף Google Cloud , ה-API של IAM או Google Cloud CLI. מידע נוסף זמין במאמר בנושא הענקה, שינוי וביטול של הרשאות גישה.

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

התפקידים הנדרשים

לפני שמגדירים למשתמש תפקידי IAM ברמת המופע, ברמת הטבלה, ברמת הגיבוי, ברמת התצוגה המפורטת המורשית או ברמת התצוגה המפורטת הרציפה, צריך לוודא שלמשתמש יש לפחות אחד מתפקידי ה-IAM הבאים ברמת הפרויקט:

  • Bigtable Viewer (מומלץ)
  • Bigtable Reader
  • Bigtable User
  • Bigtable Administrator

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

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

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

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

כדי להקצות תפקיד מוגדר מראש או תפקיד בהתאמה אישית למשתמש או לחשבון שירות ברמת המופע:

המסוף

  1. נכנסים לדף של מופעי Bigtable במסוףGoogle Cloud .

    כניסה לדף Instances

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

  3. בחלונית המידע, לוחצים על הרשאות.

  4. בקטע Add principals, מתחילים להקליד את כתובת האימייל של המשתמש או של חשבון השירות שרוצים להוסיף, ואז לוחצים על כתובת האימייל של המשתמש או של חשבון השירות.

  5. לוחצים על הרשימה Select a role ואז על Bigtable כדי לבחור תפקיד מוגדר מראש או על Custom כדי לבחור תפקיד בהתאמה אישית.

  6. לוחצים על השם של כל תפקיד שרוצים להקצות.

  7. לוחצים על הוספה. למשתמש או לחשבון השירות מוקצים התפקידים שציינתם ברמת המכונה.

gcloud

  1. אם אתם לא יודעים את מזהה המכונה, תוכלו להשתמש בפקודה bigtable instances list כדי לראות רשימה של המכונות בפרויקט:

    gcloud bigtable instances list
    
  2. משתמשים בפקודה bigtable instances set-iam-policy:

    gcloud bigtable instances set-iam-policy \
      INSTANCE_ID \
      POLICY_FILE
    

    עליך לספק את הפרטים הבאים:

    • INSTANCE_ID: המזהה הקבוע של המופע.
    • POLICY_FILE: הנתיב לקובץ JSON או YAML מקומי שמכיל מדיניות IAM תקינה.

הענקת תפקידי IAM ברמת הטבלה

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

כדי להעניק תפקיד מוגדר מראש או תפקיד בהתאמה אישית למשתמש או לחשבון שירות ברמת הטבלה:

המסוף

  1. נכנסים לדף של מופעי Bigtable במסוףGoogle Cloud .

    כניסה לדף Instances

  2. לוחצים על שם המופע שמכיל את הטבלה עם תפקידי ה-IAM שאתם מגדירים.

  3. בחלונית הניווט הימנית, בוחרים באפשרות טבלאות.

  4. מסמנים את התיבות לצד הטבלאות שרוצים לנהל את התפקידים שלהן. תופיע חלונית מידע.

  5. בחלונית המידע, לוחצים על הרשאות.

  6. בקטע Add principals, מתחילים להקליד את כתובת האימייל של המשתמש או של חשבון השירות שרוצים להוסיף, ואז לוחצים על כתובת האימייל של המשתמש או של חשבון השירות.

  7. לוחצים על הרשימה הנפתחת Select a role (בחירת תפקיד), ואז לוחצים על Bigtable כדי לבחור תפקיד מוגדר מראש או על Custom (בהתאמה אישית) כדי לבחור תפקיד בהתאמה אישית.

  8. לוחצים על השם של כל תפקיד שרוצים להקצות.

  9. לוחצים על הוספה. למשתמש או לחשבון השירות מוקצים התפקידים שצוינו ברמת הטבלה.

gcloud

  1. אם אתם לא יודעים את מזהה המכונה, תוכלו להשתמש בפקודה bigtable instances list כדי לראות רשימה של המכונות בפרויקט:

    gcloud bigtable instances list
    
  2. אם אתם לא יודעים את מזהי הטבלאות של המכונה, אתם יכולים להשתמש בפקודה bigtable instances tables list כדי לראות רשימה של הטבלאות במכונה.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    

    עליך לספק את הפרטים הבאים:

    • INSTANCE_ID: המזהה הקבוע של המופע.
  3. משתמשים בפקודה bigtable instances tables set-iam-policy:

    gcloud bigtable instances tables set-iam-policy \
      TABLE_ID \
      --instance=INSTANCE_ID \
      POLICY_FILE
    

    עליך לספק את הפרטים הבאים:

    • TABLE_ID: המזהה הקבוע של הטבלה.
    • INSTANCE_ID: המזהה הקבוע של המופע.
    • POLICY_FILE: הנתיב לקובץ JSON או YAML מקומי שמכיל מדיניות IAM תקינה.

מתן תפקידים ב-IAM ברמת הגיבוי

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

כדי להעניק תפקיד מוגדר מראש או תפקיד בהתאמה אישית למשתמש או לחשבון שירות ברמת הגיבוי:

gcloud

  1. אם אתם לא יודעים את מזהה המכונה, תוכלו להשתמש בפקודה bigtable instances list כדי לראות רשימה של המכונות בפרויקט:

    gcloud bigtable instances list
    
  2. אם אתם לא יודעים את מזהי הגיבויים במופע, תוכלו להשתמש בפקודה bigtable instances backups list כדי לראות רשימה של גיבויים במופע.

    gcloud bigtable backups list --instances=INSTANCE_ID
    

    עליך לספק את הפרטים הבאים:

    • INSTANCE_ID: המזהה הקבוע של המופע.
  3. משתמשים בפקודה gcloud bigtable backups set-iam-policy:

    gcloud bigtable backups set-iam-policy BACKUP_ID \
      --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID \
      POLICY_FILE
    

    עליך לספק את הפרטים הבאים:

    • BACKUP_ID: המזהה הקבוע של הגיבוי.
    • INSTANCE_ID: המזהה הקבוע של המופע.
    • TABLE_ID: המזהה הקבוע של הטבלה.
    • POLICY_FILE: הנתיב לקובץ JSON או YAML מקומי שמכיל מדיניות IAM תקינה.

הענקת תפקידי IAM ברמת התצוגה המורשית

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

כדי להעניק תפקיד מוגדר מראש או תפקיד בהתאמה אישית למשתמש או לחשבון שירות ברמת התצוגה המורשית, צריך לבצע את הפעולות הבאות:

המסוף

  1. פותחים את רשימת מופעי Bigtable במסוף Google Cloud .

    פתיחת רשימת המופעים

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

  3. בחלונית הניווט, לוחצים על Bigtable Studio.

  4. בכלי לבדיקת נתונים, מרחיבים את הטבלה ואת התצוגות המורשות.

  5. לצד התצוגה המורשית שרוצים לשנות, לוחצים על תפריט הפעולות more_vert ואז על Grant access.

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

  7. אופציונלי: כדי לתת גישה לעוד תפקידים, לוחצים על Add another role ואז מזינים את החשבון הראשי והתפקיד לכל תפקיד נוסף.

  8. לוחצים על Save.

gcloud

  1. אם אתם לא יודעים את מזהה המכונה, תוכלו להשתמש בפקודה bigtable instances list כדי לראות רשימה של המכונות בפרויקט:

    gcloud bigtable instances list
    
  2. אם אתם לא יודעים את מזהי הטבלאות של המכונה, אתם יכולים להשתמש בפקודה bigtable instances tables list כדי לראות רשימה של הטבלאות במכונה.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  3. אם אתם לא יודעים את מזהה התצוגה, אפשר להשתמש בפקודה bigtable authorized-views list כדי לראות רשימה של כל התצוגות המורשות של הטבלה.

    gcloud bigtable instances tables authorized-views list \
      --instance=INSTANCE_ID \
      --table=TABLE_ID
    
  4. משתמשים בפקודה bigtable authorized-views set-iam-policy:

    gcloud bigtable authorized-views set-iam-policy TABLE_ID{"</var>"}} \
      AUTHORIZED_VIEW_ID{"</var>"}} --instance=INSTANCE_ID{"</var>"}} POLICY_FILE{"</var>"}}
    

    עליך לספק את הפרטים הבאים:

    • INSTANCE_ID: המזהה הקבוע של המופע.
    • TABLE_ID: המזהה הקבוע של הטבלה.
    • AUTHORIZED_VIEW_ID: המזהה הקבוע של התצוגה.
    • POLICY_FILE: הנתיב לקובץ JSON או YAML מקומי שמכיל מדיניות IAM תקינה.

תנאים לניהול הזהויות והרשאות הגישה

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

ב-Bigtable, אפשר לאכוף גישה מותנית על סמך המאפיינים הבאים:

  • מאפייני תאריך/שעה: משמשים להגדרת גישה זמנית (עם תאריך תפוגה), מתוזמנת או לזמן מוגבל למשאבי Bigtable. לדוגמה, אתם יכולים לאפשר למשתמש לגשת לטבלה עד לתאריך מסוים.
  • מאפייני משאבים: משמשים להגדרת גישה מותנית על סמך מאפיינים של שם המשאב, סוג המשאב או שירות המשאב. ב-Bigtable, אפשר להשתמש במאפיינים של מופעים, אשכולות, טבלאות, גיבויים ותצוגות מורשות כדי להגדיר גישה מותנית. לדוגמה, אפשר לאפשר למשתמש לנהל טבלאות רק אם הן מתחילות בקידומת מסוימת, או לאפשר למשתמש לגשת רק לטבלה ספציפית.

מידע נוסף על תנאי IAM מופיע במאמר סקירה כללית על תנאים.

המאמרים הבאים

מידע נוסף על IAM