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

בדף הזה מוסבר על התפקידים וההרשאות של ניהול הזהויות והרשאות הגישה (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 עם Cloud SQL Auth Proxy

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

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

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

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

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

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

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

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

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

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

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

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

‫Cloud SQL פועל עם מוצרים וכלים אחרים של Google Cloud . האינטראקציות האלה דורשות גם תפקידים והרשאות ספציפיים, שיכולים להשתנות בין התרחישים. במסמכי התיעוד של 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. יש שתי דרכים להציג את ההרשאות לפרויקט:
    • תצוגה לפי Members: בעמודה Role שמשויכת לכל חבר בקבוצה אפשר לראות אילו תפקידים יש לו.
    • הצגה לפי תפקידים: משתמשים בתפריט הנפתח שמשויך לתפקידים ספציפיים כדי לראות לאילו חברים יש את התפקיד.

gcloud

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

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

המסוף

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

gcloud

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

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

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

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

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

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

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

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