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

בעזרת הפלטפורמה לניהול זהויות והרשאות הגישה (IAM) תוכלו לנהל הרשאות פרטניות למשאבי Bigtable. ממשק IAM עוזר לכם לאכוף את העיקרון של הרשאות מינימליות ולאבטח את הנתונים שלכם בפרויקטים, במופעים ובטבלאות.

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

המשאבים של Bigtable מאורגנים בהיררכיה.Cloud de Confiance by S3NS פרויקט הוא ההורה של מופע Bigtable, שהוא ההורה של האשכולות והטבלאות שלו. טבלה היא ההורה של התצוגות המורשות שלה, ואילו אשכול הוא ההורה של הגיבויים שלו. אפשר להגדיר בקרת גישה בכל רמה.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

הפעלת Bigtable API

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

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

כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

להפעלת ה-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 לשנות את השורות בטבלה או לקצץ את הטבלה. גם פעולות כתיבה מותנית (CheckAndMutateRow) ופעולות קריאה-שינוי-כתיבה (ReadModifyWriteRow) דורשות bigtable.tables.readRows.
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 שינוי שורות בתצוגה מורשית. גם פעולות כתיבה מותנית (CheckAndMutateRow) ופעולות קריאה-שינוי-כתיבה (ReadModifyWriteRow) דורשות bigtable.authorizedViews.readRows.
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 Cloud de Confiance console for Bigtable.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.getIamPolicy

bigtable.authorizedViews.list

bigtable.authorizedViews.listEffectiveTags

bigtable.authorizedViews.listTagBindings

bigtable.backups.get

bigtable.backups.getIamPolicy

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.get

bigtable.instances.getIamPolicy

bigtable.instances.list

bigtable.instances.listEffectiveTags

bigtable.instances.listTagBindings

bigtable.locations.list

bigtable.logicalViews.get

bigtable.logicalViews.getIamPolicy

bigtable.logicalViews.list

bigtable.materializedViews.get

bigtable.materializedViews.getIamPolicy

bigtable.materializedViews.list

bigtable.memoryLayers.get

bigtable.memoryLayers.list

bigtable.schemaBundles.get

bigtable.schemaBundles.getIamPolicy

bigtable.schemaBundles.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.getIamPolicy

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 לא עונים על הדרישות העסקיות שלכם, אתם יכולים להגדיר תפקידים בהתאמה אישית עם הרשאות שאתם מציינים.

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

Cloud de Confiance משימת מסוף ההרשאות הנדרשות
גישה בסיסית למסוף Cloud de Confiance
  • 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 באמצעות מסוף Cloud de Confiance , ה-API של IAM או Google Cloud CLI. מידע נוסף זמין במאמר בנושא הענקה, שינוי וביטול של הרשאות גישה.

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

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

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

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

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

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

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

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

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

המסוף

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

    כניסה לדף 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 במסוףCloud de Confiance .

    כניסה לדף 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. במסוף Cloud de Confiance , פותחים את רשימת מופעי Bigtable.

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

  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

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

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

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

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

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

מידע נוסף על IAM