סקירה כללית על אימות מסדי נתונים ב-IAM

כדי לנהל באופן מרוכז את הגישה למסד הנתונים באמצעות פרטי הכניסה של Google Cloud , אתם יכולים להגדיר אימות של מסד הנתונים בניהול זהויות והרשאות גישה (IAM) לאנשים פרטיים ולקבוצות במסדי הנתונים של AlloyDB ל-PostgreSQL.

אימות מסד נתונים ב-IAM מציע את האפשרויות הבאות:

  • אימות IAM אישי: אתם מוסיפים לאשכול משתמשים או חשבונות שירות ספציפיים.
  • אימות IAM של קבוצה: מוסיפים קבוצת IAM לאשכול. כל חברי הקבוצה יורשים את הרשאות האימות, וכך קל יותר לנהל ריבוי משתמשים.

אימות אישי שימושי כשצריך לתת גישה ישירה לחשבונות ספציפיים. כדאי להשתמש באימות קבוצתי כשרוצים לנהל את הגישה על ידי שינוי החברות בקבוצה, וכך להפחית את הצורך להוסיף או להסיר משתמשים ברמת האשכול.

מושגים שקשורים לאימות ב-IAM

כשמשתמשים באימות IAM, הרשאת הגישה למכונה של AlloyDB לא ניתנת ישירות למשתמש הקצה. במקום זאת, ההרשאות מקובצות לתפקידים, והתפקידים מוקצים לחשבונות המשתמשים. למידע נוסף על IAM, קראו את הסקירה הכללית על IAM.

אדמינים שמאפשרים למשתמשים להיכנס באמצעות אימות של מסד נתונים ב-IAM יכולים להשתמש ב-IAM כדי לנהל באופן מרוכז את בקרת הגישה למכונות שלהם, באמצעות כללי מדיניות ההרשאה של IAM.

כללי מדיניות ההרשאה ב-IAM כוללים את הישויות הבאות:

  • חשבונות משתמשים. ב-AlloyDB, אתם יכולים להשתמש בחשבון משתמש או בחשבון שירות לאפליקציות. למידע נוסף על חשבונות משתמשים, ראו חשבונות משתמשים.

  • תפקידים. כדי לאמת מסד נתונים באמצעות IAM, לחשבון המשתמש נדרשת ההרשאה alloydb.users.login. ההרשאה הזו כלולה בתפקיד "משתמש במסד נתונים ב-AlloyDB" ‏ (roles/alloydb.databaseUser). כדי לקבל את ההרשאה הזו, צריך לקשר את המשתמש, את חשבון השירות או את הקבוצה לתפקיד המוגדר מראש או לתפקיד בהתאמה אישית שכולל את ההרשאה. למידע נוסף על הרשאות ותפקידים, קראו את המאמר הרשאות ותפקידים.

  • משאב. המשאבים שחשבונות המשתמשים ניגשים אליהם הם אשכולות של AlloyDB. קישורי התפקידים חלים ברמת הפרויקט, כך שחשבונות המשתמשים מקבלים הרשאות תפקיד לכל המכונות של AlloyDB בפרויקט. למידע נוסף על משאבי IAM

השוואה בין אפשרויות האימות של מסד הנתונים

אתם יכולים להיעזר בטבלה הבאה כדי להחליט איזו שיטת אימות הכי מתאימה לתרחיש לדוגמה שלכם.

תכונה אימות מובנה של מסד נתונים אימות מסד נתונים ב-IAM
שיטת אימות סיסמה טוקן אימות זמני
הצפנת תנועה ברשת לא נדרש SSL נדרש SSL
ניהול משתמשים גלילה ידנית ריכוז באמצעות IAM

אימות אוטומטי לעומת אימות ידני של מסד נתונים ב-IAM

ב-AlloyDB יש שתי שיטות לאימות מסד נתונים ב-IAM: אוטומטית וידנית.

אימות אוטומטי של מסד נתונים ב-IAM

אימות אוטומטי של מסד נתונים באמצעות IAM מאפשר לכם להעביר את הבקשה והניהול של טוקני הגישה למחבר ביניים של AlloyDB, כמו שרת ה-Proxy לאימות של AlloyDB או אחד ממחברי השפות ל-AlloyDB.

באימות אוטומטי של מסד נתונים ב-IAM, האפליקציה צריכה להעביר רק את שם המשתמש של מסד הנתונים ב-IAM בבקשת התחברות מהלקוח. המחבר שולח את פרטי טוקן הגישה למאפיין הסיסמה בשם הלקוח.

אימות ידני של מסד נתונים ב-IAM

אימות ידני של מסד נתונים באמצעות IAM מחייב את חשבון המשתמש ב-IAM להעביר באופן מפורש את אסימון הגישה למאפיין הסיסמה בבקשת החיבור של הלקוח. חשבונות משתמשים צריכים קודם להיכנס אל Google Cloud ולבקש במפורש את טוקן הגישה מ-IAM.

כדי לשמור תיעוד של הגישה לנתונים, כולל כניסות לחשבון, אתם יכולים להשתמש ביומני הביקורת של Cloud. כברירת מחדל, יומני הביקורת של Cloud מושבתים. כדי לעקוב אחרי הכניסות, צריך להפעיל את יומני הביקורת של הגישה לנתונים.

אימות קבוצות ב-IAM

אימות של קבוצות IAM מאפשר לנהל את המשתמשים ב-AlloyDB ברמת הקבוצה. דוגמה לקבוצה היא קבוצת Cloud Identity. התכונה הזו מפשטת את ניהול המשתמשים במסד הנתונים. אתם יכולים לנהל את התפקידים או ההרשאות של PostgreSQL לכמה משתמשי IAM בו-זמנית, במקום לעדכן כל משתמש או חשבון שירות בנפרד. אתם יכולים גם להקצות ולבטל את התפקידים במסד הנתונים לקבוצה ב-Cloud Identity. כל החשבונות החדשים שתוסיפו לקבוצת Cloud Identity יקבלו את ההרשאות והתפקידים של הקבוצה הזו.

באמצעות אימות קבוצתי ב-IAM, אתם יכולים:

  • להוסיף משתמש לקבוצה, כך שהוא יקבל בירושה את תפקידי ה-IAM ואת הרשאות מסד הנתונים באופן אוטומטי.

  • כדי להסיר את הרשאות הגישה להתחברות ואת הרשאות מסד הנתונים של משתמש מאשכולות AlloyDB, צריך להסיר אותו מהקבוצה.

  • להעניק הרשאות התחברות או הרשאות למסד נתונים לקבוצה פעם אחת, במקום להעניק את אותן הרשאות כמה פעמים למשתמשים שונים.

  • להסיר בבת אחת את הרשאות ההתחברות או הגישה לאובייקט במסד הנתונים של קבוצה.

למרות שהתפקידים וההרשאות ב-IAM מוקצים ברמת הקבוצה, המשתמשים וחשבונות השירות משתמשים בחשבונות ובפרטי הכניסה האישיים שלהם ב-IAM כדי להיכנס, ולא בחשבון קבוצתי משותף. במהלך הכניסה הראשונה של חשבון המשתמש, AlloyDB יוצר חשבון מסד נתונים באשכול בשביל חשבון המשתמש הזה.

פעילות הכניסה ומסד הנתונים של כל משתמש או חשבון שירות מופיעה ביומני הביקורת. למטרות ביקורת, אתם יכולים לראות איזה חשבון ביצע איזו פעולה במסד הנתונים.

למידע נוסף על עבודה עם קבוצות ב-Cloud Identity, קראו את הסקירה הכללית על Cloud Identity.

כשמוסיפים משתמש או חשבון שירות לקבוצה, מתרחשים השינויים הבאים ב-AlloyDB:

  • אם כבר נתתם לקבוצה הרשאות התחברות ב-IAM, המשתמש או חשבון השירות יכולים להיכנס לאשכול AlloyDB כי הם שייכים לקבוצה.

  • המשתמש מקבל באופן אוטומטי את כל הרשאות מסד הנתונים או התפקידים שהוקצו לקבוצה.

כשמסירים משתמש או חשבון שירות מהקבוצה, מתרחשים השינויים הבאים ב-AlloyDB:

  • המשתמש מאבד את כל הרשאות מסד הנתונים שקיבל בירושה כשהיה חבר בקבוצה.

  • יכול להיות שהמשתמש עדיין יוכל ליצור סשנים חדשים אם הוא יקבל הרשאות כניסה ב-IAM לאשכול AlloyDB דרך חברויות בקבוצות אחרות. עם זאת, למשתמש לא יהיו הרשאות למסד הנתונים מהחברות הקודמת שלו בקבוצה אחרי הכניסה לחשבון.

שיטות מומלצות

  • כשמבטלים את התפקיד "משתמש במסד נתונים ב-AlloyDB" (roles/alloydb.databaseUser) לקבוצת IAM ב-Cloud Identity, צריך למחוק את הקבוצה מהאשכול ב-AlloyDB.

  • כשמוחקים קבוצה מ-Cloud Identity, צריך למחוק אותה גם מאשכול AlloyDB.

  • אתם יכולים להשתמש בקבוצות כדי להגדיר בקרת גישה המבוססת על תפקידים (RBAC) במסד הנתונים. לתת לקבוצה את ההרשאות המינימליות הנדרשות.

מגבלות

  • אימות של קבוצות IAM זמין בגרסת טרום-השקה (Preview) לאשכולות חדשים של AlloyDB. כדי להפעיל את התכונה הזו באשכול קיים, פנו לצוות ניהול החשבון שלכם ב- Google Cloud .

  • אימות קבוצת IAM נתמך רק בגרסת מסד הנתונים POSTGRES_15 ואילך בגרסת טרום-השקה (Preview).

  • מטעמי אבטחה, אפשר להיכנס באמצעות אימות מסד נתונים של IAM רק בחיבור SSL. חיבורים לא מוצפנים נדחים.

  • לכל מכונה יש מכסת כניסות לדקה, שכוללת גם כניסות מוצלחות וגם כניסות שנכשלו. אם חורגים מהמכסה, אי אפשר להיכנס לחשבון באופן זמני. להימנע מכניסות תכופות ולהגביל את הכניסות באמצעות רשתות מורשות.

  • החשבון המקוצר של חשבון שירות, שהוא כתובת האימייל ללא הסיומת .gserviceaccount.com, לא יכול להכיל יותר מ-63 תווים. ב-PostgreSQL, שמות של תפקידים שארוכים מ-63 תווים נחתכים בקטלוג של מסד הנתונים, וזה גורם לאימות של IAM להיכשל. אם אתם לא יכולים לקצר את השם של חשבון השירות, תוכלו להשתמש בפתרון העקיף להתחזות לחשבון שירות.

  • כשמשתמשים באימות של קבוצת IAM, אם יש לכם אשכול AlloyDB עם רפליקות לקריאה בלבד, צריך להיכנס למכונה הראשית לפני שנכנסים למכונה של הרפליקה לקריאה בלבד. אחרי הכניסה הראשונה למכונה הראשית, פרטי המשתמשים בקבוצה משוכפלים לרפליקות לקריאה בלבד. בכניסות הבאות, אתם יכולים להיכנס ישירות לרפליקה לקריאה בלבד.

  • אפשר להוסיף עד 200 קבוצות IAM למכונה.

  • אי אפשר להוסיף משתמשי IAM או חשבונות שירות פרטיים ששייכים לקבוצה באותו מכונה. במילים אחרות, אי אפשר להוסיף חשבון מסוג ALLOYDB_IAM_USER אם כבר קיים חשבון זהה מסוג ALLOYDB_IAM_GROUP_USER או ALLOYDB_IAM_GROUP_SERVICE_ACCOUNT.

  • אם כבר קיים חשבון פרטי במכונה עם הסוג ALLOYDB_IAM_USER, אי אפשר להשתמש בחשבון לאימות של קבוצת IAM. סוגי המשתמשים האלה לא יורשים תפקידי IAM והרשאות למסד נתונים מקבוצה. כדי לפתור את הבעיה ולהשתמש בחשבון עם אימות קבוצתי ב-IAM, צריך להסיר את המשתמש או את חשבון השירות הספציפיים ב-IAM. למידע נוסף, ראו משתמש או חשבון שירות קיימים ב-IAM לא יורשים את הרשאות מסד הנתונים שניתנו לקבוצה שלהם.

  • שינויים בחברות בקבוצה ב-Cloud Identity, כמו הוספת חשבון, מתעדכנים תוך כ-15 דקות. הזמן הזה הוא בנוסף לזמן שנדרש לשינויים ב-IAM.

  • אימות קבוצתי של IAM לא נתמך במאגר חיבורים מנוהל.

  • אי אפשר להשתמש באימות של קבוצות IAM עם זהויות מאוחדות.

המאמרים הבאים