כדי לשלוט בגישה למסדי הנתונים של AlloyDB ל-PostgreSQL, אתם יכולים ליצור ולנהל משתמשים, תפקידים וקבוצות של מסדי נתונים באמצעות אימות מובנה של PostgreSQL או אימות של ניהול זהויות והרשאות גישה (IAM).
איך פועל ניהול המשתמשים במסד הנתונים
ב-AlloyDB יש את אותם מושגים של תפקידים, משתמשים וקבוצות כמו ב-PostgreSQL. הסבר קצר על כל אחד מהם:
תפקיד: הכינוי ברמה העליונה שמתאר גם את משתמשי מסד הנתונים וגם את קבוצות המשתמשים של מסד הנתונים באשכול. תפקידים מספקים גישה לאובייקטים של מסד נתונים, כמו טבלאות ופונקציות, ומגבילים אותה.
משתמש: התפקיד שניתן למאפיין
LOGIN. המשתמשים יכולים לאמת את הזהות שלהם ולהיכנס לאשכולות של מסדי נתונים ב-AlloyDB.קבוצה: התפקיד שמוקצה למשתמש אחד או יותר. המטרה של קבוצות היא לשלוט בהרשאות שיש למשתמשים רבים כמכלול.
איך פועל אימות מסד הנתונים
יש שתי דרכים לאמת את הזהות ולהיכנס לאשכולות של מסדי הנתונים ב-AlloyDB:
- אימות מובנה מבוסס-סיסמה של PostgreSQL: כדי לאמת את זהות המשתמש, AlloyDB משווה בין פרטי הכניסה שסופקו לבין סיסמאות מגובבות (hashed) ששמורות במערכת. השיטות הנתמכות כוללות את
md5,scram-sha-256ו-password. - אימות IAM: מאפשר למשתמשי מסד הנתונים לבצע אימות באמצעות IAM. כך אפשר לשפר את האבטחה ולרכז את בקרת הגישה בשירותיGoogle Cloud אחרים.
תפקידים מוגדרים מראש
ב-PostgreSQL יש תפקידים מוגדרים מראש עם הרשאות שונות. בנוסף לתפקידים המוגדרים מראש האלה, ב-AlloyDB יש עוד כמה תפקידים מוגדרים מראש של משתמשים וקבוצות.
בטבלה הבאה מפורטים התפקידים וההרשאות של התפקידים ב-AlloyDB:
| שם התפקיד | הרשאות |
|---|---|
alloydbsuperuser |
CREATEROLE, CREATEDB וגם LOGIN. |
postgres |
CREATEROLE, CREATEDB וגם LOGIN. |
alloydbadmin |
SUPERUSER (כולל CREATEROLE, CREATEDB ו-LOGIN). |
alloydbimportexport |
CREATEROLE וגם CREATEDB. |
alloydbexport |
LOGIN וחבר/ה ב-pg_read_all_data. |
alloydbagent |
CREATEROLE וגם CREATEDB. |
alloydbmetadata |
LOGIN. כברירת מחדל, לתפקיד הזה אין הרשאות נוספות. |
alloydbobservability |
LOGIN וחבר/ה ב-pg_monitor. |
alloydbreplica |
REPLICATION. |
alloydbiamuser |
כברירת מחדל, לתפקיד הזה אין הרשאות. |
alloydbiamgroupuser |
כברירת מחדל, לתפקיד הזה אין הרשאות. |
בסעיפי המשנה הבאים מוסבר השימוש בתפקידים האלה.
תפקיד בקבוצה alloydbsuperuser
התפקיד alloydbsuperuser מאפשר להגדיר את מערכת מסד הנתונים ולבצע משימות אחרות של משתמש-על. לתפקיד הזה יש את ההרשאות הבאות:
- יצירת תוספים שדורשים הרשאות של משתמש-על
- יצירת טריגרים של אירועים
- יצירת משתמשי רפליקציה
- יצירת פרסומים ומינויים של רפליקציה
כיוון ש-AlloyDB הוא שירות מנוהל, אי אפשר להקצות למשתמשים את התפקיד superuser ב-PostgreSQL. במקום זאת, אתם יכולים לתת לכל משתמש במסד הנתונים הרשאות של משתמש-על ב-AlloyDB, אם תקצו לו את התפקיד alloydbsuperuser.
תפקיד המשתמש postgres
תפקיד המשתמש postgres הוא חלק מהתפקיד alloydbsuperuser. כשיוצרים אשכול AlloyDB, אפשר להקצות סיסמה למשתמש postgres כדי שתוכלו להיכנס למערכת באמצעות המשתמש postgres ולבצע משימות כמו יצירת מסדי נתונים או תפקידים נוספים.
תפקיד משתמש alloydbadmin
התפקיד alloydbadmin הוא תפקיד מערכת פנימי מוגדר מראש שמגדיר את מערכת מסד הנתונים, מתקין ומשדרג תוספים ומבצע משימות פנימיות אחרות של משתמש-על. שירות AlloyDB מנהל את התפקיד הזה, ואי אפשר להשתמש בו כדי להיכנס לחשבונות של מסדי נתונים או להקצות אותו באופן ידני.
תפקיד המשתמש alloydbimportexport
כשיוצרים אשכול AlloyDB, המערכת יוצרת את המשתמש alloydbimportexport עם קבוצת ההרשאות המינימלית שנדרשת לפעולות ייבוא וייצוא.
אתם יכולים ליצור משתמשים משלכם כדי לבצע את הפעולות האלה. אם לא יוצרים משתמש alloydbimportexport בהתאמה אישית, המערכת משתמשת במשתמש alloydbimportexport שמוגדר כברירת מחדל לפעולות ייבוא וייצוא.
המשתמש alloydbimportexport הוא משתמש מערכת. כלומר, אי אפשר להשתמש ישירות במשתמש alloydbimportexport כדי להיכנס או לבצע פעולות אחרות במסדי הנתונים של PostgreSQL.
תפקיד המשתמש alloydbexport
התפקיד alloydbexport הוא תפקיד פנימי של מערכת AlloyDB עם הרשאות pg_read_all_data, שמשמש לפעולות ייצוא פנימיות. שירות AlloyDB מנהל את התפקיד הזה, ואי אפשר להקצות אותו באופן ידני לחשבונות של מסדי נתונים.
תפקיד המשתמש alloydbagent
התפקיד alloydbagent הוא תפקיד פנימי של מערכת AlloyDB. שירות AlloyDB מנהל את התפקיד, ואי אפשר להקצות אותו באופן ידני לחשבונות של מסדי נתונים. הניהול הזה עוזר למסד הנתונים ולתכונות שלו לפעול בצורה תקינה.
תפקיד המשתמש alloydbmetadata
התפקיד alloydbmetadata הוא תפקיד פנימי במערכת AlloyDB עם הרשאות מינימליות, שמשמש לניהול טבלאות פנימיות של מטא-נתונים. התפקיד הזה מנוהל על ידי שירות AlloyDB, ואי אפשר להקצות אותו באופן ידני לחשבונות של מסדי נתונים.
תפקיד המשתמש alloydbobservability
התפקיד alloydbobservability הוא תפקיד פנימי במערכת AlloyDB עם הרשאות pg_monitor, שמשמש לאיסוף נתוני טלמטריה של מסד הנתונים, תובנות לגבי שאילתות ומדדי ניראות. התפקיד הזה מנוהל על ידי שירות AlloyDB, ואי אפשר להקצות אותו באופן ידני לחשבונות של מסדי נתונים.
תפקיד המשתמש alloydbreplica
התפקיד alloydbreplica הוא תפקיד פנימי של מערכת AlloyDB. שירות AlloyDB מנהל את התפקיד, ואי אפשר להקצות אותו באופן ידני לחשבונות של מסדי נתונים. הניהול הזה עוזר למסד הנתונים ולתכונות שלו לפעול בצורה תקינה.
תפקיד בקבוצה alloydbiamuser
משתמשי מסד הנתונים בקבוצה alloydbiamuser מאמתים את הזהות שלהם במכונה של AlloyDB באמצעות IAM, במקום להשתמש באימות מבוסס-סיסמה המובנה של PostgreSQL.
ב-AlloyDB אי אפשר להקצות למשתמשים את התפקיד alloydbiamuser באמצעות הפקודה GRANT של PostgreSQL או שיטות דומות. במקום זאת, אתם יכולים להשתמש בכלי הניהול של AlloyDB כדי ליצור ולנהל משתמשים במסד הנתונים שמבוססים על IAM. מידע נוסף על ניהול אימות IAM
תפקיד בקבוצה alloydbiamgroupuser
קבוצות של מסדי נתונים והחשבונות שחברים בהן, שמשתמשים באימות של קבוצות IAM, שייכים לתפקיד הקבוצה alloydbiamgroupuser. שירות AlloyDB מנהל את התפקיד הזה באופן אוטומטי כשמוסיפים קבוצת IAM לאשכול, ואי אפשר להקצות אותו ידנית באמצעות הפקודה GRANT של PostgreSQL. מידע נוסף על הענקת הרשאות למסד הנתונים למשתמשי IAM זמין במאמר ניהול אימות IAM.
המאמרים הבאים
איך מנהלים תפקידים, משתמשים וקבוצות ב-PostgreSQL ב-AlloyDB באמצעות אימות מובנה.