תפקידים והרשאות

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

מבוא

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

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

כשמשתמשים בחשבון כדי להתחבר למופע של Cloud SQL, החשבון צריך להיות בעל התפקיד Cloud SQL > Client (roles/cloudsql.client), שכולל את ההרשאות שנדרשות להתחברות.

אפשר להוסיף תפקידים לחשבון במסוף בדף IAM & Admin > IAM , ולראות אילו הרשאות משויכות לאילו תפקידים בדף IAM & Admin > Roles.

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

תפקידים והרשאות ב-Cloud SQL עם שרת proxy ל-Cloud SQL Auth

אם אתם מתחברים למופע Cloud SQL ממופע Compute Engine באמצעות Cloud SQL Auth Proxy, אתם יכולים להשתמש בחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine ומשויך למופע Compute Engine.

כמו בכל החשבונות שמתחברים למכונה של Cloud SQL, לחשבון השירות צריך להיות התפקיד Cloud SQL > Client.

תפקידים והרשאות ב-Cloud SQL עם אפשרויות ללא שרת

משתמשים בחשבון שירות כדי לאשר גישה מהאפשרויות האלה. חשבון השירות מאשר גישה לכל Cloud SQL בפרויקט ספציפי. כשיוצרים אפליקציה או פונקציות Cloud Run, השירות הזה יוצר את החשבון בשבילכם. אפשר למצוא את החשבון בדף IAM & Admin > IAM , עם הסיומת המתאימה:

אפשרות ללא שרת (serverless) הסיומת של חשבון השירות
App Engine @gae-api-prod.google.com.iam.gserviceaccount.com
פונקציות Cloud Run @appspot.gserviceaccount.com
Cloud Run compute@developer.gserviceaccount.com
כמו בכל החשבונות שמתחברים למכונה של Cloud SQL, לחשבון השירות צריך להיות התפקיד Cloud SQL > Client.

תפקידים והרשאות ב-Cloud SQL עם Cloud Storage

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

  • כדי לייבא נתונים ל-Cloud Storage ולייצא נתונים ממנו, לחשבון השירות של מופע Cloud SQL צריך להיות מוגדר תפקיד IAM בפרויקט.storage.objectAdmin אפשר למצוא את שם חשבון השירות של המופע במסוף Google Cloud בדף Overview של המופע.
  • אפשר להשתמש בפקודה gcloud storage buckets add-iam-policy-binding כדי להעניק את תפקיד ה-IAM הזה לחשבון השירות עבור הדלי.
  • במאמר שימוש בהרשאות IAM מוסבר איך מגדירים תפקידים והרשאות ב-IAM.
  • מידע נוסף זמין במאמר בנושא IAM ל-Cloud Storage.

תפקידים והרשאות ב-Cloud SQL לשילוב עם Dataplex Universal Catalog

כדי לספק גישה למטא-נתונים של Cloud SQL ב-Dataplex Universal Catalog, אפשר להעניק למשתמש את התפקיד roles/cloudsql.schemaViewer או להוסיף את ההרשאה cloudsql.schemas.view לתפקיד בהתאמה אישית.

מידע נוסף מופיע במאמר ניהול משאבי Cloud SQL באמצעות Dataplex Universal Catalog.

תפקידים והרשאות ב-Cloud SQL בתרחישים אחרים

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

שימוש ב-IAM עם פרויקטים

בקטעים הבאים מוסבר איך לבצע משימות בסיסיות של IAM בפרויקטים.

כדי לבצע את המשימות הבאות, אתם צריכים את הרשאות ה-IAM‏ resourcemanager.projects.getIamPolicy ו-resourcemanager.projects.setIamPolicy.

הוספת חבר למדיניות ברמת הפרויקט

רשימת התפקידים שמשויכים ל-Cloud SQL מופיעה במאמר תפקידי IAM.

המסוף

  1. נכנסים לדף IAM & Admin במסוף Google Cloud .
  2. בתפריט הנפתח של הפרויקט בסרגל העליון, בוחרים את הפרויקט שאליו רוצים להוסיף חבר.
  3. לוחצים על הוספה. מופיעה תיבת הדו-שיח Add members, roles to project.
  4. בשדה New members, מציינים את שם הישות שרוצים להעניק לה גישה.
  5. בתפריט הנפתח Select a role, מעניקים את התפקיד המתאים לחבר. תפקידים שמשפיעים על משאבי Cloud SQL נמצאים בתפריטי המשנה Project ו-Cloud SQL.
  6. לוחצים על Save.

gcloud

כדי להוסיף מדיניות IAM ברמת הפרויקט, משתמשים ב-gcloud beta projects add-iam-policy-binding.

צפייה במדיניות ה-IAM של פרויקט

המסוף

  1. נכנסים לדף IAM & Admin במסוף Google Cloud .
  2. בתפריט הנפתח של הפרויקט בסרגל העליון, בוחרים את הפרויקט שרוצים להציג את המדיניות שלו.
  3. יש שתי דרכים להציג את ההרשאות בפרויקט:
    • תצוגה לפי חברים: בעמודה תפקיד שמשויכת לכל חבר אפשר לראות את התפקידים של כל חבר.
    • צפייה לפי תפקידים: משתמשים בתפריט הנפתח שמשויך לתפקידים ספציפיים כדי לראות אילו חברים יש להם את התפקיד.

gcloud

כדי לראות את מדיניות ה-IAM של פרויקט, משתמשים ב-gcloud beta projects get-iam-policy.

הסרת חבר ממדיניות ברמת הפרויקט

המסוף

  1. נכנסים לדף IAM & Admin במסוף Google Cloud .
  2. בתפריט הנפתח של הפרויקט בסרגל העליון, בוחרים את הפרויקט שממנו רוצים להסיר חבר.
  3. מוודאים שאתם רואים את ההרשאות לפי חברים, ובוחרים את החברים שרוצים להסיר.
  4. לוחצים על הסרה.
  5. בחלון שכבת-העל שמופיע, לוחצים על אישור.

gcloud

כדי להסיר מדיניות IAM ברמת הפרויקט, משתמשים ב-gcloud beta projects remove-iam-policy-binding.

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

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

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

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

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

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

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