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

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

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

לפני שמתחילים

סוגי תפקידים

יש שלושה סוגי תפקידים ב-IAM:

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

כדי לקבוע אם הרשאה נכללת בתפקיד בסיסי, מוגדר מראש או בהתאמה אישית, אפשר להשתמש באחת מהשיטות הבאות:

  • מציגים את התפקיד במסוף Google Cloud.

    נכנסים לדף Roles

  • מריצים את הפקודה gcloud iam roles describe.

  • מקבלים את התפקיד באמצעות שיטת ה-API ל-REST המתאימה:

    • בשביל תפקידים מוגדרים מראש, צריך להשתמש ב-roles.get().
    • בשביל תפקידים בהתאמה אישית ברמת הפרויקט, משתמשים ב-projects.roles.get().
    • בשביל תפקידים בהתאמה אישית ברמת הארגון, משתמשים ב-organizations.roles.get().
  • בשביל תפקידים בסיסיים ותפקידים מוגדרים מראש בלבד: מחפשים בהפניית ההרשאות כדי לראות אם ההרשאה ניתנה על ידי התפקיד.

  • בשביל תפקידים מוגדרים מראש בלבד: מחפשים בתיאורי תפקידים מוגדרים מראש, כדי לבדוק אילו הרשאות התפקיד כולל.

רכיבי תפקידים

לכל תפקיד יש את הרכיבים הבאים:

  • כותרת: שם של התפקיד שקריא לבני-אדם. כותרת התפקיד משמשת לזיהוי התפקיד במסוף Google Cloud.
  • שם: מזהה של התפקיד באחד מהפורמטים הבאים:

    • תפקידים מוגדרים מראש: roles/SERVICE.IDENTIFIER
    • תפקידים בהתאמה אישית ברמת הפרויקט: projects/PROJECT_ID/roles/IDENTIFIER
    • תפקידים בהתאמה אישית ברמת הארגון: organizations/ORG_ID/roles/IDENTIFIER

    שם התפקיד משמש לזיהוי התפקיד בכללי מדיניות הרשאה.

  • ID: מזהה ייחודי של התפקיד. בתפקידים בסיסיים ומוגדרים מראש, המזהה זהה לשם התפקיד. בתפקידים מותאמים אישית, המזהה הוא כל מה שמופיע אחרי roles/ בשם התפקיד.

  • תיאור: תיאור של התפקיד שקריא לבני-אדם.

  • שלב: שלב התפקיד במחזור החיים של ההשקה, כמו ALPHA, BETA או GA. מידע נוסף על שלבי ההשקה זמין במאמר בדיקה ופריסה.

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

    ההרשאות מופיעות בפורמט הבא:

    SERVICE.RESOURCE.VERB
    

    לדוגמה, ההרשאה compute.instances.list מאפשרת למשתמש לרשום מכונות ב-Compute Engine שנמצאות בבעלותו, ו-compute.instances.stop מאפשרת למשתמש לעצור VM.

    הרשאות עומדות לרוב ביחס של 1:1 לשיטות REST, אבל לא תמיד. כלומר, לכל שירות של Google Cloud יש הרשאה משויכת לכל שיטת REST שיש לו. כדי לבצע קריאה לשיטה, הקורא צריך את ההרשאה המשויכת. לדוגמה, כדי להפעיל את השיטה projects.topics.publish ב-Pub/Sub API, נדרשת ההרשאה pubsub.topics.publish.

  • ETag: מזהה עבור גרסת התפקיד שעוזר במניעת עדכונים בו-זמניים מלכתוב זה על גבי זה. לתפקידים בסיסיים ומוגדרים מראש תמיד יש את ה-ETag הזה AA==. ה-ETags לתפקידים בהתאמה אישית משתנים בכל פעם שאתם משנים את התפקידים.

תפקידים בסיסיים

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

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

הטבלה הבאה מסכמת את ההרשאות שתפקידים בסיסיים נותנים למשתמשים בכל שירותי Google Cloud:

תפקידים בסיסיים הרשאות
צפייה (roles/viewer)

הרשאות לפעולות קריאה-בלבד שלא משפיעות על המצב, כמו עיון במשאבים או בנתונים קיימים (אבל בלי לשנות אותם).

לרשימת ההרשאות בתפקיד 'צפייה' עיינו בפרטי התפקיד במסוף Google Cloud:

כניסה לתפקיד 'צפייה'

עריכה (roles/editor)

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

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

רשימת ההרשאות בתפקיד 'עריכה' מופיעה בפירוט התפקיד במסוף Google Cloud:

כניסה לקטע 'עריכת תפקיד'

בעלים (roles/owner)

כל ההרשאות של התפקיד 'עריכה', פלוס ההרשאות לפעולות הבאות:

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

רשימת ההרשאות בתפקיד 'בעלים' מופיעה בפירוט התפקיד במסוף Google Cloud:

כניסה לתפקיד 'בעלים'

אפשר להקצות תפקידים בסיסיים באמצעות מסוף Google Cloud, או API, או CLI של gcloud. עם זאת, כדי להקצות את התפקיד 'בעלים' בפרויקט למשתמש מחוץ לארגון, עליכם להשתמש במסוף Google Cloud, ולא ב-CLI של gcloud. אם הפרויקט לא שייך לארגון, יש להשתמש במסוף Google Cloud כדי להקצות את התפקיד 'בעלים'.

להוראות, ראו הענקה, שינוי וביטול של הרשאות גישה.

תפקידים מוגדרים מראש

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

אפשר להקצות לאותו משתמש תפקידים מרובים בכל רמה בהיררכיית המשאבים. לדוגמה, לאותו משתמש יכולים להיות תפקידים 'אדמין של רשת Compute' ו'צפייה ביומנים' בפרויקט, וגם תפקיד של 'פרסום הודעות ב-Pub/Sub' בנושא Pub/Sub באותו פרויקט. במאמר קבלת המטא-נתונים של התפקיד ניתן להציג את רשימת ההרשאות הכלולות בתפקיד.

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

לרשימת תפקידים מוגדרים מראש, ראו במאמר הפניית תפקידים.

תפקידים בהתאמה אישית

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

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

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

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

הרשאות נתמכות

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

רמת תמיכה תיאור
SUPPORTED ההרשאה נתמכת בצורה מלאה בתפקידים בהתאמה אישית.
TESTING המערכת של Google בוחנת את ההרשאה כדי לבדוק את התאימות שלה לתפקידים בהתאמה אישית. ניתן לכלול את ההרשאה בתפקידים מותאמים אישית, אבל יכול להיות שתופיע התנהגות בלתי צפויה. לא מומלץ לשימוש בסביבת ייצור.
NOT_SUPPORTED ההרשאה לא נתמכת בתפקידים מותאמים אישית.

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

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

מתי כדאי להשתמש בתפקידים מותאמים אישית

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

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

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

כמו כן, יש לשים לב למגבלות הבאות:

  • תפקידים בהתאמה אישית יכולים להכיל עד 3,000 הרשאות. בנוסף, הגודל הכולל המקסימלי של הכותרת, התיאור ושמות ההרשאות של תפקיד מותאם אישית הוא 64KB.
  • יש מספר מוגבל של תפקידים בהתאמה אישית שאפשר ליצור:

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

יחסי תלות של הרשאות

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

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

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

מחזור החיים של תפקידים בהתאמה אישית

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

יצירה

כשיוצרים תפקיד בהתאמה אישית, מומלץ לבחור מזהה, שם ותיאור שיעזרו לכם לזהות את התפקיד:

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

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

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

    תפקידים יכולים להיות באורך של עד 100 בייטים ויכולים להכיל תווים אלפאנומריים, אותיות רישיות וסמלים. אפשר לשנות את שמות התפקידים בכל שלב.

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

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

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

השקה

תפקידים בהתאמה אישית כוללים שלב השקה כחלק מהמטא-נתונים של התפקיד. שלבי ההשקה הנפוצים ביותר לתפקידים מותאמים אישית הם ALPHA, BETA ו-GA. שלבי ההשקה האלה מספקים מידע: הם עוזרים לכם לעקוב אחר המוכנות של כל תפקיד לשימוש באופן נרחב. שלב השקה נפוץ נוסף הוא DISABLED. שלב ההפעלה הזה מאפשר להשבית תפקיד בהתאמה אישית.

מומלץ להשתמש בשלבי ההשקה כדי למסור את המידע הבא על התפקיד:

  • EAP או ALPHA: התפקיד עדיין בתהליך פיתוח או בדיקה, או כולל הרשאות לשירותים או לתכונות של Google Cloud שעדיין לא גלויים לכולם. הוא לא מוכן לשימוש באופן נרחב.
  • BETA: התפקיד נבדק על בסיס מוגבל או כולל הרשאות לשירותים או לתכונות ב-Google Cloud שאינם זמינים באופן כללי.
  • GA: התפקיד נבדק באופן נרחב, וכל ההרשאות שלו נועדו לשירותים או לתכונות של Google Cloud זמינים באופן כללי.
  • DEPRECATED: התפקיד כבר לא בשימוש.

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

תחזוקה

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

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

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

במאמר עריכת תפקיד מותאם אישית קיים מוסבר איך לעדכן את ההרשאות והתיאור של תפקיד מותאם אישית.

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

השבתה

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

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

במאמר השבתת תפקיד בהתאמה אישית מוסבר איך משביתים תפקיד בהתאמה אישית.

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