בדף הזה מוסבר איך ליצור, לנהל ולהסיר תפקידים, משתמשים וקבוצות ב-PostgreSQL וב-AlloyDB ל-PostgreSQL באמצעות שיטות האימות המובנות של PostgreSQL שמבוססות על סיסמה.
יצירת משתמשי PostgreSQL ב-AlloyDB
כשיוצרים משתמשי PostgreSQL, הם מתחילים רק עם ההרשאה LOGIN.
מידע נוסף על ההרשאות האלה זמין במאמר CREATE USER.
אפשר לשנות את ההרשאות של כל משתמש באמצעות הפקודה ALTER ROLE. אם יוצרים משתמש חדש באמצעות psql, אפשר לשייך אותו לתפקיד אחר או להקצות לו הרשאות שונות.
ניהול משתמשים
אפשר ליצור ולנהל משתמשי AlloyDB באמצעות Google Cloud CLI או באמצעות פקודות PostgreSQL. בקטעים הבאים מפורטות משימות נפוצות לניהול משתמשים באמצעות כל אחת מהשיטות.
לפני שמתחילים
כדי להשתמש בפקודות PostgreSQL לניהול משתמשים באשכול, צריך:
- גישה אל הלקוח
psql - גישה ל
postgresמשתמש במסד נתונים או לתפקיד משתמש אחר עם הרשאות אדמין מתאימות
כדי להשתמש במסוף Google Cloud או ב-Google Cloud CLI לניהול משתמשים באשכול, לאשכול הזה צריך להיות מופע ראשי. אם באשכול שלכם אין מופע ראשי, אתם צריכים ליצור אחד לפני שתוכלו לנהל משתמשים.
יצירת משתמש במסד נתונים
כדי ליצור משתמש במסד נתונים שמבצע אימות ישירות במסד הנתונים באמצעות שם משתמש וסיסמה, שנקרא גם אימות מובנה, פועלים לפי השלבים שבקטע הזה.
כדי ליצור משתמש במסד נתונים שמשתמש בניהול זהויות והרשאות גישה (IAM) לאימות, אפשר לעיין במאמר בנושא ניהול אימות IAM.
המסוף
עוברים לדף Clusters.
לוחצים על שם האשכול שרוצים להוסיף אליו משתמש.
לוחצים על Users.
לוחצים על הוספת חשבון משתמש.
משאירים את האפשרות אימות מובנה מסומנת.
אם רוצים להשתמש ב-IAM כדי לאמת את אשכולות מסדי הנתונים ולהיכנס אליהם, צריך לבצע שלבים נוספים כדי להכין את הפרויקט ולהעניק הרשאות מתאימות למשתמש החדש. למידע נוסף כדאי לקרוא את המאמר ניהול אימות IAM.
מזינים שם משתמש וסיסמה למשתמש החדש.
כדי להקצות למשתמש תפקידים אחרים מלבד תפקיד ברירת המחדל
alloydbsuperuser, פועלים לפי השלבים הבאים:- מזינים את שם התפקיד בתפקידים.
- כדי להוסיף את התפקיד, מקישים על Enter או על Tab.
לוחצים על x לצד כל תפקיד שרוצים להסיר מהמשתמש.
מידע נוסף מופיע במאמר בנושא תפקידים מוגדרים מראש.
לוחצים על הוספה.
psql
CREATE USER USERNAME WITH PASSWORD PASSWORD;
מידע נוסף על יצירה והגדרה של משתמשי מסד נתונים זמין במאמר CREATE USER.
אחרי שיוצרים משתמש, אפשר לשנות את ההרשאות שלו באמצעות הפקודה
ALTER ROLE
בלקוח psql.
gcloud
משתמשים בפקודה gcloud alloydb users create הבאה:
gcloud alloydb users create USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_IDמחליפים את המשתנים הבאים:
USERNAME: שם המשתמש של המשתמש. המחרוזתUSERNAMEצריכה לעמוד בכללים של מזהי SQL: ללא תווים מיוחדים, או עם מרכאות כפולות. לדוגמה,db_user_1.
PASSWORD: הסיסמה של המשתמש. כדי ליצור את המשתמש בלי סיסמה, משמיטים את הארגומנט הזה.
CLUSTER_ID: המזהה של האשכול שאליו רוצים להוסיף את המשתמש.
REGION_ID: המזהה של האזור שבו נמצא האשכול. לדוגמה,us-central1.
אחרי שיוצרים משתמש, אפשר לשנות את ההרשאות שלו באמצעות הפקודה
gcloud alloydb users set-roles.
בנוסף, אתם יכולים להעניק תפקידים או הרשאות סופר-משתמש למשתמש בזמן שאתם יוצרים אותו. כדי לעשות את זה, צריך לכלול את הארגומנטים --db-roles או --superuser, כמו שמתואר בקטע הבא.
הקצאת תפקידים למשתמש במסד נתונים
המסוף
כדי להקצות תפקידים למשתמש במסד נתונים, צריך להשתמש ב-psql או ב-CLI של gcloud, ולא במסוף Google Cloud .
psql
GRANT ROLE to USERNAME;
מחליפים את המשתנים הבאים:
-
USERNAME: שם המשתמש של המשתמש. -
ROLE: התפקיד שרוצים להקצות למשתמש. לדוגמה, כדי לתת למשתמש הרשאות סופר-משתמש, צריך להעניק לו את ההרשאהalloydbsuperuser.
gcloud
משתמשים בפקודה gcloud alloydb users set-roles הבאה כדי לציין את כל התפקידים שרוצים שהמשתמש יקבל:
gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_IDמחליפים את המשתנים הבאים:
USERNAME: שם המשתמש של המשתמש.
ROLES: רשימה מופרדת בפסיקים של כל התפקידים שאתם רוצים שהמשתמש יקבל. חשוב לוודא שכללתם את כל התפקידים, כולל תפקידים קיימים ותפקידים חדשים.כדי למצוא את רשימת התפקידים הקיימים שהוקצו למשתמש, מריצים את הפקודה הבאה:
gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_IDמחליפים את המשתנים הבאים:
CLUSTER_ID: המזהה של האשכול שמכיל את המשתמש.
REGION_ID: המזהה של האזור שבו נמצא האשכול. לדוגמה,us-central1.
כדי לתת למשתמש הרשאות סופר-משתמש, אפשר להקצות לו באופן ידני את התפקיד
alloydbsuperuserבאמצעותpsql, או להריץ את הפקודהgcloud alloydb users set-superuserעם הארגומנט--superuser=true:gcloud alloydb users set-superuser USERNAME \ --superuser=true \ --cluster=CLUSTER_ID \ --region=REGION_IDמחליפים את המשתנים הבאים:
CLUSTER_ID: המזהה של האשכול שמכיל את המשתמש.
REGION_ID: המזהה של האזור שבו נמצא האשכול. לדוגמה,us-central1.
שינוי הסיסמה של משתמש במסד נתונים
כדי להגדיר סיסמה חדשה למשתמש רגיל במסד נתונים של PostgreSQL, פועלים לפי השלבים שמפורטים בקטע הזה.
אי אפשר לשנות או להגדיר את הסיסמה של משתמש שמבוסס על IAM כי משתמשי IAM לא משתמשים בסיסמאות כדי לבצע אימות. מידע נוסף זמין במאמר חיבור באמצעות חשבון IAM.
המסוף
עוברים לדף Clusters.
לוחצים על שם האשכול שמכיל את משתמש מסד הנתונים.
לוחצים על Users.
בשורה שמייצגת את המשתמש, לוחצים על פתיחת פעולות עבור המשתמש הזה.
בוחרים באפשרות שינוי הסיסמה.
מציינים סיסמה:
כדי להגדיר סיסמה חדשה למשתמש, מקלידים את הסיסמה בשדה סיסמה.
כדי לא להגדיר סיסמה למשתמש הזה, מסמנים את התיבה ללא סיסמה.
לוחצים על OK.
psql
ALTER USER USERNAME WITH PASSWORD PASSWORD;
מידע נוסף על שינוי סיסמה של משתמש זמין במאמר בנושא ALTER ROLE.
gcloud
משתמשים בפקודה gcloud alloydb users set-password הבאה:
gcloud alloydb users set-password USERNAME \
--password=PASSWORD \
--cluster=CLUSTER_ID \
--region=REGION_IDמחליפים את המשתנים הבאים:
USERNAME: שם המשתמש של המשתמש.
PASSWORD: הסיסמה החדשה שמוקצית למשתמש.
CLUSTER_ID: המזהה של האשכול שהמשתמש שייך אליו.
REGION_ID: המזהה של האזור שבו נמצא האשכול. לדוגמה,us-central1.
ביטול תפקיד של משתמש במסד נתונים
המסוף
כדי לבטל תפקידים של משתמש, צריך להשתמש ב-psql או ב-CLI של gcloud במקום במסוף Google Cloud .
psql
אפשר לבטל הרשאות שניתנו בעבר לאחד או יותר מהתפקידים, או לבטל את החברות של משתמש בתפקיד, כמו שמוצג כאן:
REVOKE ROLE FROM USERNAME;
כדי להסיר הרשאות סופר-משתמש ממשתמש, מבטלים את התפקיד alloydbsuperuser של המשתמש.
gcloud
כדי לבטל תפקיד באמצעות Google Cloud CLI, משתמשים בפקודה הבאה gcloud alloydb users set-roles כדי לציין את כל התפקידים שרוצים שהמשתמש יקבל, ומשמיטים את התפקידים שרוצים לבטל למשתמש:
gcloud alloydb users set-roles USERNAME \
--db-roles=ROLES \
--cluster=CLUSTER_ID \
--region=REGION_IDמחליפים את המשתנים הבאים:
USERNAME: שם המשתמש של המשתמש.
ROLES: רשימה מופרדת בפסיקים של כל התפקידים שאתם רוצים שהמשתמש יקבל. חשוב לוודא שכל התפקידים מופיעים ברשימה, כולל תפקידים קיימים ותפקידים חדשים.כדי למצוא את רשימת התפקידים הקיימים שהוקצו למשתמש, מריצים את הפקודה הבאה:
gcloud alloydb users list --cluster=CLUSTER_ID --region=REGION_ID
CLUSTER_ID: המזהה של האשכול שמכיל את המשתמש.
REGION_ID: המזהה של האזור שבו נמצא האשכול. לדוגמה,us-central1.
כדי לבטל הרשאות סופר-משתמש, אפשר להסיר ידנית את התפקיד alloydbsuperuser של המשתמש באמצעות psql, או להריץ את הפקודה gcloud alloydb users set-superuser עם הארגומנט --superuser=false.
הצגת רשימה של משתמשי מסד נתונים
המסוף
עוברים לדף Clusters.
לוחצים על שם האשכול שרוצים לראות את המשתמשים שלו.
לוחצים על Users.
psql
משתמשים בפקודה \du הבאה כדי להדפיס טבלה של כל משתמשי מסד הנתונים, כולל חברות בקבוצות:
\du
gcloud
משתמשים בפקודה gcloud alloydb users list הבאה:
gcloud alloydb users list \
--cluster=CLUSTER_ID \
--region=REGION_IDמחליפים את מה שכתוב בשדות הבאים:
CLUSTER_ID: המזהה של האשכול שמכיל את המשתמשים.
REGION_ID: המזהה של האזור שבו נמצא האשכול. לדוגמה,us-central1.
מחיקה של משתמש במסד נתונים
המסוף
עוברים לדף Clusters.
לוחצים על שם האשכול שמכיל את המשתמש.
לוחצים על Users.
בשורה שמייצגת את המשתמש, לוחצים על פתיחת פעולות עבור המשתמש הזה.
בוחרים באפשרות הסרה.
בתיבת הדו-שיח Remove user account? (הסרת חשבון משתמש?), לוחצים על Remove (הסרה).
psql
לפני שמוחקים משתמש, צריך להסיר או להקצות מחדש את כל האובייקטים שבבעלותו, ולבטל את כל ההרשאות שהוענקו לו באובייקטים אחרים. מומלץ להשתמש במשאבים הבאים:
DROP ROLE USERNAME;
gcloud
משתמשים בפקודה gcloud alloydb users delete הבאה:
gcloud alloydb users delete USERNAME \
--cluster=CLUSTER_ID \
--region=REGION_IDמחליפים את מה שכתוב בשדות הבאים:
USERNAME: שם המשתמש של המשתמש.
CLUSTER_ID: המזהה של האשכול שהמשתמש שייך אליו.
REGION_ID: המזהה של האזור שבו נמצא האשכול. לדוגמה,us-central1.