בדף הזה מוסבר איך לגשת למסד נתונים של Spanner כשאתם משתמשים בבקרת גישה ברמת גרנולריות גבוהה.
למידע נוסף על בקרת גישה מדויקת, ראו אודות בקרת גישה מדויקת.
כמשתמש עם בקרת גישה פרטנית, אתם צריכים לבחור תפקיד במסד הנתונים כדי להריץ הצהרות ושאילתות של SQL, ולבצע פעולות על שורות במסד הנתונים. התפקיד שתבחרו יישאר לאורך כל הסשן, עד שתשנו אותו.
כששולחים שאילתה, DML או פעולה בשורה, Spanner בודק את ההרשאה באמצעות הכללים הבאים:
- מסוףGoogle Cloud
קודם כל, מערכת Spanner בודקת אם יש לכם הרשאות לניהול זהויות והרשאות גישה (IAM) ברמת מסד הנתונים. אם כן, ב Google Cloud מסוף לא מוצג בורר תפקידים במסד הנתונים, והסשן ממשיך עם ההרשאות ברמת מסד הנתונים.
אם יש לכם הרשאות גישה פרטניות בלבד ואין לכם הרשאות ברמת מסד הנתונים ב-IAM, סימן שקיבלתם גישה לתפקיד המערכת
spanner_sys_readerאו לאחד מהתפקידים שמשויכים אליו. בוחרים תפקיד בדף סקירה כללית של מסד הנתונים כדי להמשיך את הסשן ב Google Cloud מסוף עם ההרשאות הנדרשות.
- Google Cloud SDK
אם מציינים תפקיד במסד נתונים כששולחים שאילתה, DML או פעולה בשורה, Spanner בודק את ההרשאות של בקרת גישה ברמת גרנולריות גבוהה. אם הבדיקה נכשלת, Spanner לא בודק הרשאות IAM ברמת מסד הנתונים והפעולה נכשלת.
אם לא מציינים תפקיד במסד הנתונים, Spanner בודק את הרשאות ה-IAM ברמת מסד הנתונים, ואם הבדיקות מצליחות, הסשן ממשיך עם ההרשאות ברמת מסד הנתונים.
אפשר להשתמש בשיטות האלה כדי לציין תפקיד במסד נתונים כשניגשים למסד נתונים של Spanner:
המסוף
בוחרים מסד נתונים, ואז בדף סקירה כללית של מסד הנתונים לוחצים על סמל שינוי תפקיד במסד הנתונים (עיפרון) לצד השדה התפקיד הנוכחי.
כברירת מחדל, כשמשתמש עם בקרת גישה מפורטת מתחבר לחשבון, הערך בשדה הזה הוא
public. למידע על תפקיד המערכתpublic, ראו תפקידי מערכת בקרת גישה מפורטים.בתיבת הדו-שיח Change database role, בוחרים תפקיד אחר מתוך רשימת התפקידים הזמינים.
לוחצים על עדכון.
התפקיד החדש מופיע בשדה תפקיד נוכחי.
gcloud
מוסיפים את האפשרות
--database-roleלפקודהgcloud spanner databases execute-sql, באופן הבא:gcloud spanner databases execute-sql DATABASE_NAME \ --instance=INSTANCE_NAME \ --sql="SELECT * from TABLE_NAME;" \ --database-role=ROLE_NAME
ספריות לקוח
C++
C#
Go
Java
Node.js
PHP
Python
Ruby