בדף הזה מוגדרים המאפיינים, האילוצים והשימוש המיועד של שלושת תפקידי המערכת המוגדרים מראש, שמאפשרים בקרת גישה פרטנית לכל מסד נתונים. לכל תפקיד מערכת יש קבוצה שונה של הרשאות, שלא ניתן לבטל. המידע הזה רלוונטי גם למסדי נתונים של ניב GoogleSQL וגם למסדי נתונים של ניב PostgreSQL.
תפקיד בהגדרת מערכתpublic
כברירת מחדל, לכל המשתמשים עם בקרת גישה ברמת דיוק גבוהה יש חברות ב-IAM ב-
public.כל התפקידים במסד הנתונים מקבלים בירושה הרשאות מהתפקיד הזה.
בשלב הראשון, לתפקיד
publicאין הרשאות, אבל אפשר להעניק לו הרשאות. אם מעניקים הרשאה ל-public, היא זמינה לכל תפקידי מסד הנתונים, כולל תפקידים שנוצרו לאחר מכן.
תפקיד בהגדרת מערכתspanner_info_reader
לתפקיד הזה יש הרשאה
SELECTבתצוגותINFORMATION_SCHEMAבמסדי נתונים של GoogleSQL ובמסדי נתונים של PostgreSQL, ובתצוגותinformation_schemaבמסדי נתונים של PostgreSQL.אי אפשר להעניק הרשאות אחרות ל-
spanner_info_reader.צריך להעניק חברות בתפקיד הזה לכל תפקיד במסד הנתונים שצריך לקבל גישת קריאה לא מסוננת לתצוגות
INFORMATION_SCHEMA(מסדי נתונים של ניב GoogleSQL) או לתצוגותinformation_schema(מסדי נתונים של ניב PostgreSQL).
תפקיד בהגדרת מערכתspanner_sys_reader
לתפקיד הזה יש הרשאת
SELECTבטבלאותSPANNER_SYS.אי אפשר להעניק הרשאות אחרות ל-
spanner_sys_reader.נותנים חברות בתפקיד הזה לכל תפקיד במסד הנתונים שצריכה להיות לו גישת קריאה לסכימה
SPANNER_SYS.
הגבלות על תפקידים במערכת
אי אפשר למחוק תפקיד מערכת באמצעות הצהרת
DROP ROLE.תפקידים במערכת לא יכולים להיות חברים בתפקידים אחרים במסד הנתונים. כלומר, ההצהרה הבאה ב-GoogleSQL לא חוקית:
GRANT ROLE pii_access TO ROLE spanner_info_reader;אי אפשר להעניק חברות בתפקיד
publicלתפקידים במסד הנתונים. לדוגמה, גם ההצהרה הבאה ב-GoogleSQL לא תקינה:GRANT ROLE public TO ROLE pii_access;עם זאת, אתם יכולים להעניק חברות בתפקידים
spanner_info_readerו-spanner_sys_reader. לדוגמה, ההצהרות הבאות הן תקפות.GoogleSQL
GRANT ROLE spanner_info_reader TO ROLE pii_access; GRANT ROLE spanner_sys_reader TO ROLE pii_access; ```PostgreSQL
GRANT spanner_info_reader TO pii_access; GRANT spanner_sys_reader TO pii_access;