ניהול זהויות והרשאות גישה (IAM) מאפשר לכם לשלוט בגישה של משתמשים וקבוצות למשאבי Spanner ברמת הפרויקט, ברמת מופע Spanner וברמת מסד הנתונים של Spanner. לדוגמה, אתם יכולים לציין שלמשתמש יש שליטה מלאה במסד נתונים ספציפי במופע ספציפי בפרויקט, אבל שהוא לא יכול ליצור, לשנות או למחוק מופעים בפרויקט. שימוש בבקרת גישה עם IAM מאפשר להעניק הרשאה למשתמש או לקבוצה בלי לשנות כל הרשאה של מופע או מסד נתונים של Spanner בנפרד.
במסמך הזה נתמקד בהרשאות של IAM שרלוונטיות ל-Spanner ובתפקידים של IAM שמעניקים את ההרשאות האלה. למידע מפורט על IAM והמאפיינים שלו, תוכלו לעיין במדריך למפתחים בנושא ניהול זהויות והרשאות גישה. כדאי לקרוא באופן ספציפי את הקטע ניהול מדיניות IAM.
הרשאות
הרשאות מאפשרות למשתמשים לבצע פעולות ספציפיות במשאבי Spanner. לדוגמה, ההרשאה spanner.databases.read מאפשרת למשתמש לקרוא מתוך מסד נתונים באמצעות ה-API לקריאה של Spanner, וההרשאה spanner.databases.select מאפשרת למשתמש להריץ הצהרת בחירה של SQL במסד נתונים. המשתמשים לא מקבלים הרשאות בצורה ישירה. כדי להעניק להם הרשאות, צריך להקצות להם תפקידים מוגדרים מראש או תפקידים בהתאמה אישית שמוגדרת להם הרשאה אחת או יותר.
בטבלאות הבאות מפורטות ההרשאות של IAM שמשויכות ל-Spanner.
הגדרות של מכונות
ההרשאות הבאות חלות על הגדרות של מופעי Spanner. מידע נוסף זמין בחומרי העזר בנושא הגדרות של מופעים של ממשקי REST ו-RPC.
| שם ההרשאה של הגדרת המופע | תיאור |
|---|---|
spanner.instanceConfigs.create |
יוצרים הגדרת מכונה בהתאמה אישית. |
spanner.instanceConfigs.delete |
מחיקה של הגדרת מופע בהתאמה אישית. |
spanner.instanceConfigs.get |
אחזור של הגדרת מופע |
spanner.instanceConfigs.list |
הצגת רשימה של הגדרות מופעים. |
spanner.instanceConfigs.update |
עדכון של הגדרות מותאמות אישית של מופע. |
פעולות בהגדרות של מכונה וירטואלית
ההרשאות הבאות חלות על פעולות של הגדרת מופע Spanner. מידע נוסף זמין במאמרי העזרה בנושא מופעים של ממשקי REST ו-RPC.
| שם ההרשאה להפעלה של הגדרת מופע | תיאור |
|---|---|
spanner.instanceConfigOperations.cancel |
ביטול פעולת הגדרה של מופע. |
spanner.instanceConfigOperations.delete |
מחיקת פעולה של הגדרת מופע. |
spanner.instanceConfigOperations.get |
אחזור פעולה של הגדרת מכונה. |
spanner.instanceConfigOperations.list |
הצגת רשימה של פעולות להגדרת מופעים. |
מכונות
ההרשאות הבאות חלות על מופעי Spanner. מידע נוסף זמין במאמרי העזרה בנושא הפניות למופעים של ממשקי REST ו-RPC.
| שם ההרשאה של המופע | תיאור |
|---|---|
spanner.instances.create |
יוצרים מופע. |
spanner.instances.delete |
מחיקת מכונה. |
spanner.instances.get |
אחזור ההגדרה של מופע ספציפי. |
spanner.instances.getIamPolicy |
קבלת מדיניות IAM של מופע. |
spanner.instances.list |
הצגת רשימה של מכונות. |
spanner.instances.setIamPolicy |
הגדרת מדיניות IAM של מופע. |
spanner.instances.update |
מעדכנים מופע. |
פעולות במכונה
ההרשאות הבאות חלות על פעולות של מופעי Spanner. מידע נוסף זמין במאמרי העזרה בנושא מופעים של ממשקי REST ו-RPC.
| שם ההרשאה של פעולת המופע | תיאור |
|---|---|
spanner.instanceOperations.cancel |
ביטול פעולה במופע. |
spanner.instanceOperations.delete |
מחיקה של פעולת מופע. |
spanner.instanceOperations.get |
קבלת פעולה ספציפית של מופע. |
spanner.instanceOperations.list |
הצגת רשימה של פעולות שבוצעו במופע. |
מחיצות של מכונות
ההרשאות הבאות חלות על מחיצות של מופעי Spanner. מידע נוסף זמין במאמרי העזרה בנושא חלוקת מופעים למחיצות עבור ממשקי REST ו-RPC.
| שם ההרשאה של המופע | תיאור |
|---|---|
spanner.instancePartitions.create |
יוצרים מחיצה של מופע. |
spanner.instancePartitions.delete |
מחיקה של מחיצת מופע. |
spanner.instancePartitions.get |
אחזור ההגדרה של מחיצת מופע ספציפית. |
spanner.instancePartitions.list |
הצגת רשימה של מחיצות של מכונות. |
spanner.instancePartitions.update |
עדכון של מחיצת מופע. |
פעולות על מחיצות של מכונות
ההרשאות הבאות חלות על פעולות של חלוקת מופע של Spanner. מידע נוסף זמין בחומרי העזר בנושא חלוקת מופעים למחיצות עבור ממשקי REST ו-RPC.
| שם ההרשאה של פעולת חלוקה למחיצות (partitioning) של מופע | תיאור |
|---|---|
spanner.instancePartitionOperations.cancel |
ביטול פעולה של חלוקת מופע למחיצות. |
spanner.instancePartitionOperations.delete |
מחיקה של פעולת חלוקה למחיצות של מופע. |
spanner.instancePartitionOperations.get |
קבלת פעולת חלוקה ספציפית של מופע. |
spanner.instancePartitionOperations.list |
רשימה של פעולות שקשורות למחיצות של מופעים. |
מסדי נתונים
ההרשאות הבאות חלות על מסדי נתונים ב-Spanner. מידע נוסף זמין במאמרי העזרה בנושא מסדי נתונים של ממשקי REST ו-RPC.
| שם ההרשאה של מסד הנתונים | תיאור |
|---|---|
spanner.databases.adapt |
מאפשרת ל-Spanner Adapter API ליצור אינטראקציה ישירות עם Spanner. |
spanner.databases.beginOrRollbackReadWriteTransaction |
מתחילים או מבטלים עסקת קריאה-כתיבה במסד נתונים של Spanner. |
spanner.databases.beginPartitionedDmlTransaction |
מריצים פקודת שפת טיפול בנתונים (DML) שחולקה למחיצות. מידע נוסף על שאילתות עם חלוקה למחיצות של מופעים זמין במאמר קריאת נתונים במקביל. |
spanner.databases.beginReadOnlyTransaction |
מתחילים עסקה עם הרשאת קריאה בלבד במסד נתונים של Spanner. |
spanner.databases.create |
יוצרים מסד נתונים. |
spanner.databases.createBackup |
יוצרים גיבוי ממסד הנתונים. נדרשת גם הרשאה של spanner.backups.create כדי ליצור את משאב הגיבוי. |
spanner.databases.drop |
מחיקה של מסד נתונים. |
spanner.databases.get |
אחזור מטא-נתונים של מסד נתונים. |
spanner.databases.getDdl |
אחזור סכימה של מסד נתונים. |
spanner.databases.getIamPolicy |
קבלת מדיניות IAM של מסד נתונים. |
spanner.databases.list |
הצגת רשימה של מסדי נתונים. |
spanner.databases.read |
קריאה ממסד נתונים באמצעות read API. |
spanner.databases.select |
הפעלת משפט SQL select במסד נתונים. |
spanner.databases.setIamPolicy |
הגדרת מדיניות IAM של מסד נתונים. |
spanner.databases.update |
עדכון המטא-נתונים של מסד נתונים. |
spanner.databases.updateDdl |
עדכון הסכימה של מסד נתונים. |
spanner.databases.useDataBoost |
אפשר להשתמש במשאבי החישוב של Spanner Data Boost כדי לעבד שאילתות של מופעים מחולקים. |
spanner.databases.useRoleBasedAccess |
שימוש בבקרת גישה פרטנית. |
spanner.databases.write |
כתיבה למסד נתונים. |
תפקידים במסד הנתונים
ההרשאות הבאות חלות על תפקידים במסד נתונים של Spanner. מידע נוסף זמין במאמרי העזרה בנושא מסדי נתונים של ממשקי REST ו-RPC.
| שם ההרשאה של תפקיד במסד הנתונים | תיאור |
|---|---|
spanner.databaseRoles.list |
הצגת רשימת התפקידים במסד הנתונים. |
spanner.databaseRoles.use |
שימוש בתפקיד ספציפי במסד הנתונים. |
פעולות במסד נתונים
ההרשאות הבאות חלות על פעולות במסד נתונים של Spanner. מידע נוסף זמין במאמרי העזרה בנושא מסדי נתונים של ממשקי REST ו-RPC.
| שם ההרשאה לפעולת מסד הנתונים | תיאור |
|---|---|
spanner.databaseOperations.cancel |
ביטול פעולה במסד נתונים. |
spanner.databaseOperations.get |
קבלת פעולה ספציפית במסד נתונים. |
spanner.databaseOperations.list |
רשימת מסדי נתונים ושחזור פעולות של מסדי נתונים. |
גיבויים
ההרשאות הבאות חלות על גיבויים של Spanner. מידע נוסף זמין במאמרי העזרה בנושא גיבויים של ממשקי REST ו-RPC.
| שם הרשאת הגיבוי | תיאור |
|---|---|
spanner.backups.create |
יוצרים גיבוי. נדרשת גם הרשאת spanner.databases.createBackup במסד הנתונים של המקור. |
spanner.backups.delete |
מחיקת גיבוי. |
spanner.backups.get |
לקבל גיבוי. |
spanner.backups.getIamPolicy |
קבלת מדיניות IAM של גיבוי. |
spanner.backups.list |
הצגת רשימת הגיבויים. |
spanner.backups.restoreDatabase |
שחזור מאגר נתונים מגיבוי. נדרשת גם הרשאה spanner.databases.create כדי ליצור את מסד הנתונים המשוחזר במופע היעד. |
spanner.backups.setIamPolicy |
הגדרת מדיניות IAM לגיבוי. |
spanner.backups.update |
עדכון של גיבוי. |
פעולות גיבוי
ההרשאות הבאות חלות על פעולות גיבוי ב-Spanner. מידע נוסף זמין במאמרי העזרה בנושא מסדי נתונים של ממשקי REST ו-RPC.
| שם ההרשאה של פעולת הגיבוי | תיאור |
|---|---|
spanner.backupOperations.cancel |
ביטול פעולת גיבוי. |
spanner.backupOperations.get |
קבלת פעולת גיבוי ספציפית. |
spanner.backupOperations.list |
הצגת רשימה של פעולות גיבוי. |
לוחות זמנים לגיבויים
ההרשאות הבאות חלות על לוחות זמנים לגיבוי ב-Spanner. מידע נוסף זמין במאמרי העזרה בנושא מסדי נתונים של ממשקי REST ו-RPC.
| שם ההרשאה של לוח הזמנים לגיבוי | תיאור |
|---|---|
spanner.backupSchedules.create |
יוצרים לוח זמנים לגיבוי. נדרשת גם הרשאת spanner.databases.createBackup במסד הנתונים של המקור. |
spanner.backupSchedules.delete |
מחיקת לוח זמנים לגיבוי. |
spanner.backupSchedules.get |
לקבלת לוח זמנים לגיבוי. |
spanner.backupSchedules.list |
מציגים את לוחות הזמנים של הגיבויים. |
spanner.backupSchedules.update |
עדכון של לוח זמנים לגיבוי. |
סשנים
ההרשאות הבאות חלות על סשנים של Spanner. מידע נוסף זמין במאמרי העזרה בנושא מסדי נתונים של ממשקי REST ו-RPC.
| שם ההרשאה של הסשן | תיאור |
|---|---|
spanner.sessions.create |
יוצרים סשן. |
spanner.sessions.delete |
למחוק פעילות. |
spanner.sessions.get |
מקבלים סשן. |
spanner.sessions.list |
הצגת רשימת הסשנים. |
תפקידים מוגדרים מראש
תפקיד מוגדר מראש הוא חבילה של הרשאה אחת או יותר. לדוגמה, התפקיד המוגדר מראש roles/spanner.databaseUser מכיל את ההרשאות spanner.databases.read ו-spanner.databases.write. יש שני סוגים של תפקידים מוגדרים מראש ב-Spanner:
- תפקידים של אנשים: תפקידים שמוקצים למשתמשים או לקבוצות, ומאפשרים להם לבצע פעולות על המשאבים בפרויקט.
- תפקידי מכונה: תפקידים שמוענקים לחשבונות שירות, ומאפשרים למכונות שפועלות כחשבונות השירות האלה לבצע פעולות על המשאבים בפרויקט.
בטבלה הבאה מפורטת בקרת הגישה באמצעות תפקידים מוגדרים מראש ב-IAM, כולל רשימה של ההרשאות שמשויכות לכל תפקיד:
| Role | Permissions |
|---|---|
Cloud Spanner Admin( Has complete access to all Spanner resources in a Google Cloud project. A principal with this role can:
Lowest-level resources where you can grant this role:
|
|
Cloud Spanner Backup Admin( A principal with this role can:
This role cannot restore a database from a backup. Lowest-level resources where you can grant this role:
|
|
Cloud Spanner Backup Writer( This role is intended to be used by scripts that automate backup creation. A principal with this role can create backups, but cannot update or delete them. Lowest-level resources where you can grant this role:
|
|
Cloud Spanner Database Admin( A principal with this role can:
Lowest-level resources where you can grant this role:
|
|
Cloud Spanner Database Reader( A principal with this role can:
Lowest-level resources where you can grant this role:
|
|
Cloud Spanner Database Reader with DataBoost( Includes all permissions in the spanner.databaseReader role enabling access to read and/or query a Cloud Spanner database using instance resources, as well as the permission to access the database with Data Boost, a fully managed serverless service that provides independent compute resources. Lowest-level resources where you can grant this role:
|
|
Cloud Spanner Database Role User( In conjunction with the IAM role Cloud Spanner Fine-grained Access User, grants permissions to individual Spanner database roles. Add a condition for each desired Spanner database role that includes the resource type of `spanner.googleapis.com/DatabaseRole` and the resource name ending with `/YOUR_SPANNER_DATABASE_ROLE`. Lowest-level resources where you can grant this role:
|
|
Cloud Spanner Database User( A principal with this role can:
Lowest-level resources where you can grant this role:
|
|
Cloud Spanner Fine-grained Access User( Grants permissions to use Spanner's fine-grained access control framework. To grant access to specific database roles, also add the `roles/spanner.databaseRoleUser` IAM role and its necessary conditions. Lowest-level resources where you can grant this role:
|
|
Cloud Spanner Restore Admin( A principal with this role can restore databases from backups. If you need to restore a backup to a different instance, apply this role at the project level or to both instances. This role cannot create backups. Lowest-level resources where you can grant this role:
|
|
Cloud Spanner API Service Agent( Cloud Spanner API Service Agent |
|
Cloud Spanner Viewer( A principal with this role can:
For example, you can combine this role with the This role is recommended at the Google Cloud project level for users interacting with Cloud Spanner resources in the Google Cloud console. Lowest-level resources where you can grant this role:
|
|
תפקידים בסיסיים
תפקידים בסיסיים הם תפקידים ברמת הפרויקט שקדמו ל-IAM. פרטים נוספים מופיעים במאמר בנושא תפקידים בסיסיים.
למרות ש-Spanner תומך בתפקידים הבסיסיים הבאים, מומלץ להשתמש באחד מהתפקידים המוגדרים מראש שמופיעים למעלה, בכל הזדמנות. תפקידים בסיסיים כוללים הרשאות רחבות שחלות על כל המשאבים שלכם ב- Google Cloud . לעומת זאת, תפקידים מוגדרים מראש ב-Spanner כוללים הרשאות מפורטות שחלות רק על Spanner.
| תפקיד בסיסי | תיאור |
|---|---|
roles/editor |
יכול לבצע את כל הפעולות שמשתמש roles/viewer יכול לבצע. יכול גם ליצור מופעים ומסדי נתונים ולכתוב נתונים במסד נתונים. |
roles/owner |
יכולים לעשות את כל מה שroles/editor יכולים לעשות. יכולים גם לשנות את הגישה למסדי נתונים ולמופעים. |
roles/viewer |
אפשר להציג רשימה של סכימות ומופעים ולקבל את המטא-נתונים שלהם. יכול גם לקרוא ולבצע שאילתות באמצעות SQL במסד נתונים. |
תפקידים בהתאמה אישית
אם התפקידים המוגדרים מראש ב-Spanner לא עונים על הדרישות העסקיות שלכם, אתם יכולים להגדיר תפקידים בהתאמה אישית עם הרשאות שאתם מציינים.
לפני שיוצרים תפקיד בהתאמה אישית, צריך לזהות את המשימות שרוצים לבצע. אחר כך תוכלו לזהות את ההרשאות שנדרשות לכל משימה ולהוסיף אותן לתפקיד בהתאמה אישית.
תפקידים בהתאמה אישית למשימות של חשבון שירות
ברוב המקרים, ברור אילו הרשאות צריך להוסיף לתפקיד בהתאמה אישית כדי לבצע משימות. לדוגמה, אם רוצים שחשבון השירות יוכל ליצור מסד נתונים, מוסיפים את ההרשאה spanner.databases.create לתפקיד בהתאמה אישית.
עם זאת, כשקוראים או כותבים נתונים בטבלת Spanner, צריך להוסיף כמה הרשאות שונות לתפקיד המותאם אישית. בטבלה הבאה מפורטות ההרשאות שנדרשות לקריאה ולכתיבה של נתונים.
| משימה של חשבון שירות | ההרשאות הנדרשות |
|---|---|
| יצירת גיבוי | spanner.backups.createspanner.databases.createBackup |
| קריאת נתונים | spanner.databases.selectspanner.sessions.createspanner.sessions.delete |
| שחזור מסד נתונים | spanner.backups.restoreDatabasespanner.databases.create |
| הוספה, עדכון או מחיקה של נתונים | spanner.databases.beginOrRollbackReadWriteTransactionspanner.sessions.createspanner.sessions.deletespanner.databases.write |
תפקידים בהתאמה אישית למשימות במסוף Google Cloud
כדי לזהות את רשימת ההרשאות שנדרשות למשימה מסוימת במסוףGoogle Cloud , צריך לקבוע את תהליך העבודה של המשימה הזו ולרכז את ההרשאות שנדרשות לתהליך העבודה. לדוגמה, כדי להציג את הנתונים בטבלה, צריך לבצע את השלבים הבאים במסוף Google Cloud :
| שלב | הרשאות |
|---|---|
| 1. גישה לפרויקט | resourcemanager.projects.get |
| 2. הצגת רשימת המקרים | spanner.instances.list |
| 3. בחירת מכונה | spanner.instances.get |
| 4. צפייה ברשימת מסדי הנתונים | spanner.databases.list |
| 5. בחירת מסד נתונים וטבלה | spanner.databases.getDdl |
| 6. הצגת הנתונים בטבלה | spanner.databases.select, spanner.sessions.create, spanner.sessions.delete |
בדוגמה הזו, נדרשות ההרשאות הבאות:
resourcemanager.projects.getspanner.databases.getDdlspanner.databases.listspanner.databases.selectspanner.instances.getspanner.instances.listspanner.sessions.createspanner.sessions.delete
בטבלה הבאה מפורטות ההרשאות שנדרשות לביצוע פעולות בGoogle Cloud מסוף.
| הרשאות | פעולה |
|---|---|
spanner.databases.setIamPolicy |
מוסיפים ישויות בכרטיסייה 'הרשאות' בדף הפרטים של מסד הנתונים |
spanner.instances.setIamPolicy |
הוספת ישויות בכרטיסייה Permissions (הרשאות) בדף Instance (מופע) |
spanner.backups.createspanner.databases.createBackupspanner.databases.list1spanner.backupOperations.list1 |
יצירת גיבוי |
spanner.backupSchedules.createspanner.databases.createBackup |
יצירת לוח זמנים לגיבוי |
spanner.databases.create |
יצירת מסד נתונים |
spanner.instancePartitions.listspanner.instancePartitionOperations.getspanner.instancePartitions.create |
יצירת מחיצה של מופע |
spanner.databaseOperations.getspanner.databaseOperations.listspanner.databases.updateDdl |
יצירת טבלה עדכון סכימת טבלה |
spanner.instanceConfigs.listspanner.instanceOperations.getspanner.instances.create |
יצירת מופע |
spanner.backups.delete |
מחיקת גיבוי |
spanner.backupSchedules.delete |
מחיקה של תזמון גיבוי |
spanner.databases.drop |
מחיקה של מסד נתונים |
spanner.instancePartitions.delete |
מחיקת מחיצה של מכונה |
spanner.instances.delete |
מחיקת מכונה |
spanner.instancePartitionOperations.getspanner.instancePartitions.update |
שינוי של מחיצת מופע |
spanner.instanceOperations.getspanner.instances.update |
שינוי של מופע |
spanner.databases.beginOrRollbackReadWriteTransactionspanner.databases.selectspanner.databases.writespanner.sessions.createspanner.sessions.delete |
שינוי נתונים בטבלה |
spanner.instanceConfigs.listspanner.instances.getspanner.backups.getspanner.backups.restoreDatabasespanner.instances.listspanner.databases.create |
שחזור מסד נתונים מגיבוי |
spanner.databases.getspanner.databases.getDdl |
בוחרים מסד נתונים מהרשימה של מסדי הנתונים ומציגים את הסכימה בדף פרטי מסד הנתונים. |
spanner.instances.get |
בוחרים מופע מרשימת המופעים כדי להציג את הדף Instance Details (פרטי המופע). |
spanner.backups.update |
עדכון גיבוי |
spanner.backupSchedules.update |
עדכון לוח זמנים לגיבוי |
spanner.databases.selectspanner.sessions.createspanner.sessions.delete |
צפייה בנתונים בכרטיסייה 'נתונים' בדף הפרטים של מסד הנתונים יצירה והרצה של שאילתה |
spanner.backups.listspanner.backups.get |
הצגת הדף 'גיבוי/שחזור' |
monitoring.metricDescriptors.getmonitoring.metricDescriptors.listmonitoring.timeSeries.listspanner.instances.get |
צפייה בתרשימים בכרטיסייה 'מעקב' בדף הפרטים של המופע או בדף הפרטים של מסד הנתונים |
spanner.backupOperations.list |
צפייה ברשימת פעולות הגיבוי |
spanner.databases.list |
הצגת רשימת מסדי הנתונים בדף פרטי המופע |
resourcemanager.projects.getspanner.instances.list |
הצגת רשימת המכונות בדף Instances (מכונות) |
spanner.databaseOperations.list |
הצגת רשימת פעולות השחזור |
spanner.databases.getIamPolicy |
צפייה ברשימה בכרטיסייה Permissions (הרשאות) בדף פרטי מסד הנתונים |
spanner.instances.getIamPolicy |
צפייה ברשימה בכרטיסייה Permissions (הרשאות) בדף Instance (מופע) |
ניהול מדיניות IAM ב-Spanner
אפשר לקבל, להגדיר ולבדוק מדיניות IAM באמצעות ממשקי ה-API של REST או RPC במשאבי גיבוי, מסד נתונים ומופע Spanner.
מכונות
| API ל-REST | API ל-RPC |
|---|---|
projects.instances.getIamPolicy |
GetIamPolicy |
projects.instances.setIamPolicy |
SetIamPolicy |
projects.instances.testIamPermissions |
TestIamPermissions |
מסדי נתונים
| API ל-REST | API ל-RPC |
|---|---|
projects.instances.databases.getIamPolicy |
GetIamPolicy |
projects.instances.databases.setIamPolicy |
SetIamPolicy |
projects.instances.databases.testIamPermissions |
TestIamPermissions |
גיבויים
| API ל-REST | API ל-RPC |
|---|---|
projects.instances.backups.getIamPolicy |
GetIamPolicy |
projects.instances.backups.setIamPolicy |
SetIamPolicy |
projects.instances.backups.testIamPermissions |
TestIamPermissions |
המאמרים הבאים
- מידע נוסף על ניהול זהויות והרשאות גישה
- איך מקצים תפקידי IAM למסד נתונים, למופע או לפרויקט של Spanner. Google Cloud
- איך שולטים בגישה למשאבים של Google Cloud , כולל Spanner, מהאינטרנט