אימות IAM

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

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

אפשר להגדיר מדיניות IAM בכל רמה בהיררכיית המשאבים: ארגון, תיקייה או פרויקט. משאבים יורשים את המדיניות של כל ההורים שלהם בהיררכיה.

מאמרי עזרה של IAM ל-Cloud SQL

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

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

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

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

  • חשבונות משתמש. ב-Cloud SQL, אפשר להשתמש בכמה סוגים של חשבונות משתמשים: חשבון משתמש, חשבון שירות (לאפליקציות) או קבוצה. מידע נוסף מופיע במאמר מושגים שקשורים לזהות.
  • תפקידים. תפקיד הוא אוסף של הרשאות. אתם יכולים להקצות תפקידים למשתמשים כדי להעניק להם את ההרשאות הנדרשות לביצוע משימות ספציפיות. לדוגמה, כדי להתחבר למכונה באמצעות אימות מסד נתונים ב-IAM, חשבון משתמש צריך את ההרשאה cloudsql.instances.login, שכלולה בתפקיד משתמש במכונת Cloud SQL. כדי לקבל את ההרשאה, צריך לקשר את המשתמש, חשבון השירות או הקבוצה לתפקיד המוגדר מראש של Cloud SQL או לתפקיד בהתאמה אישית שכולל את ההרשאה. מידע נוסף על תפקידים ב-IAM זמין במאמר תפקידים.
  • משאב. המשאבים שהגורמים המורשים מקבלים אליהם גישה הם מופעים של Cloud SQL. כברירת מחדל, קישורי מדיניות IAM מוחלים ברמת הפרויקט, כך שהחשבונות הראשיים מקבלים הרשאות תפקיד לכל המופעים של Cloud SQL בפרויקט.

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

אימות מסד נתונים הוא תהליך שבו מאמתים את הזהות של משתמש שמנסה לגשת למסדי נתונים. ב-Cloud SQL, אפשר להשתמש בסוגי האימות הבאים של מסדי נתונים למשתמשים במסד הנתונים:

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

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

    בטבלה הבאה מוצגת השוואה בין שיטות שונות לאימות מסדי נתונים ב-Cloud SQL.

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

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

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

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

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

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

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

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

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

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

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

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

    שיטות מומלצות לאימות קבוצות ב-IAM

    • כששוללים את הרשאת הכניסה (cloudsql.instances.login) לקבוצת IAM ב-Cloud Identity, צריך לוודא שמוחקים את הקבוצה גם ממכונת Cloud SQL.
    • כשמוחקים קבוצה מ-Cloud Identity, חשוב לוודא שמוחקים את הקבוצה גם ממופע Cloud SQL.
    • אפשר להשתמש בקבוצות כדי להגדיר בבסיס הנתונים בקרת גישה מבוססת-תפקידים. תמיד צריך לתת לקבוצה את ההרשאות המינימליות הנדרשות.
    • אל תקצו תפקידי אימות של קבוצות ב-IAM למשתמשים מובנים. לדוגמה, אם יש לכם משתמש מובנה, user-a, ואתם יוצרים משתמש אימות של קבוצת IAM,‏ user-b@example.com, אל תקצו את התפקיד user-b@example.com למשתמש user-a.

    הגבלות על אימות של קבוצות IAM

    • כשמשתמשים באימות של קבוצת IAM, אם יש לכם מופע Cloud SQL עם רפליקות לקריאה, אתם צריכים להתחבר קודם למופע הראשי לפני שאתם מתחברים למופע הרפליקה לקריאה. אחרי הכניסה הראשונה למופע הראשי, פרטי המשתמש בקבוצה משוכפלים למופעים המשוכפלים לקריאה. בכניסות הבאות, תוכלו להיכנס ישירות למסד הנתונים המשוכפל לקריאה.
    • אפשר להוסיף עד 200 קבוצות IAM למופע.
    • אי אפשר להוסיף חשבונות שירות או משתמשי IAM פרטיים ששייכים לקבוצה באותו מופע. במילים אחרות, אי אפשר להוסיף חשבון מסוג CLOUD_IAM_USER או CLOUD_IAM_SERVICE_ACCOUNT אם כבר קיים חשבון זהה מסוג CLOUD_IAM_GROUP_USER או CLOUD_IAM_GROUP_SERVICE_ACCOUNT.
    • אם כבר קיים חשבון פרטי במופע עם הסוג CLOUD_IAM_USER או CLOUD_IAM_SERVICE_ACCOUNT, אי אפשר להשתמש בחשבון לאימות קבוצות IAM. סוגי המשתמשים האלה לא מקבלים בירושה תפקידי IAM והרשאות גישה למסד נתונים מקבוצה.

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

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

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

    ב-Cloud SQL ל-PostgreSQL יש שתי אפשרויות לאימות מסד נתונים של IAM: אוטומטי וידני.

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

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

    אימות אוטומטי של מסד נתונים ב-IAM מחייב שימוש ב-Cloud SQL Connector ונתמך על ידי Cloud SQL Auth Proxy,‏ Go Connector,‏ Java Connector ו-Python Connector.

    כדי ליהנות מהחוויה הכי מאובטחת ואמינה, מומלץ להשתמש באימות אוטומטי של מסד נתונים ב-IAM. אימות מסד נתונים ב-IAM מתבצע באמצעות אסימוני גישה מסוג OAuth 2.0, שהתוקף שלהם הוא לטווח קצר – שעה אחת בלבד. מחברי Cloud SQL יכולים לבקש ולרענן את הטוקנים האלה, וכך להבטיח חיבורים יציבים לתהליכים או לאפליקציות לטווח ארוך שמסתמכים על איגום חיבורים. מומלץ מאוד להשתמש באימות אוטומטי של מסד נתונים של IAM במקום באימות ידני.

    מידע נוסף מופיע במאמר כניסה באמצעות אימות אוטומטי של מסד נתונים ב-IAM.

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

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

    באמצעות ה-CLI של gcloud, אפשר לבקש במפורש אסימון OAuth 2.0 עם היקף Cloud SQL Admin API שמשמש לכניסה למסד הנתונים. כשמתחברים כמשתמש במסד נתונים עם אימות מסד נתונים של IAM, משתמשים בכתובת האימייל כשם המשתמש ובאסימון הגישה כסיסמה. אפשר להשתמש בשיטה הזו עם חיבור ישיר למסד הנתונים או עם מחבר Cloud SQL.

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

    מידע נוסף זמין במאמר בנושא כניסה באמצעות אימות ידני של מסד נתונים של IAM.

    בקרת גישה מבוססת-הקשר ואימות מסד נתונים ב-IAM

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

    ניהול משתמשים וחשבונות שירות

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

    אם משתמשים במסוף כדי להוסיף משתמשים או חשבונות שירות, Cloud SQL מבקש להוסיף למשתמש את התפקיד Cloud SQL User. Google Cloud התפקיד הזה נדרש כדי שהמשתמשים יוכלו להתחבר למופע.

    אם מוסיפים משתמשים באמצעות gcloud או ה-API, צריך להעניק להם הרשאות כניסה באופן ידני. משתמשים בפקודה GRANT של PostgreSQL כדי להעניק הרשאות למסד הנתונים.

    הגדרת מכונה לאימות מסד נתונים ב-IAM של Cloud SQL

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

    הדגל הזה נדרש לאימות של קבוצות IAM ולאימות של מסדי נתונים של IAM.

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

    אימות מסד נתונים ב-IAM ב-Cloud SQL לתרחישים שונים של מכונות

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

    מידע על תנאים ב-IAM

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

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

    עבודה עם יומני ביקורת של Cloud

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

    הגבלות

    1. הכניסה לחשבון משתמש עם אימות מסד נתונים של IAM חייבת להיות באותיות קטנות בלבד. לדוגמה, example-user@example.com. Example-User@example.com אסור.
    2. מטעמי אבטחה, התחברויות באמצעות אימות מסד נתונים של IAM זמינות רק בחיבור SSL. חיבורים לא מוצפנים נדחים.
    3. לכל מופע יש מכסה של התחברויות לדקה, שכוללת התחברויות מוצלחות ולא מוצלחות. אם חורגים מהמכסה, הכניסות לא זמינות באופן זמני. מומלץ להימנע מהתחברות לחשבון בתדירות גבוהה ולהגביל את ההתחברויות באמצעות רשתות מורשות. המכסה לאישור של התחברויות היא 12,000 לדקה, לכל מופע.

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