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

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

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

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

סוגי התפקידים

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

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

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

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

חלקי התפקידים

כל תפקיד מכיל את החלקים הבאים:

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

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

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

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

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

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

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

    ההרשאות נראות כך:

    SERVICE.RESOURCE.VERB
    

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

    ברוב המקרים ההרשאות זהות לחלוטין ל-methods ב-REST, אבל לא תמיד. כלומר, לכל שירות Google Cloud משויכת קבוצת הרשאות לכל method של REST שיש לו. כדי להפעיל method, צריך את ההרשאה המתאימה. לדוגמה, כדי להפעיל את projects.topics.publish ב-Pub/Sub API, צריך את ההרשאה pubsub.topics.publish.

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

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

תפקידים בסיסיים הם תפקידים עם הרשאות רחבות שנותנים גישה רחבה למשאביGoogle Cloud .

התפקידים הבסיסיים ב-IAM הם אדמין (roles/admin), בעל הרשאת כתיבה (roles/writer) וקורא (roles/reader). בנוסף, יש ב-IAM שלושה תפקידים בסיסיים מדור קודם שהיו קיימים לפני ההשקה של IAM: בעלים (roles/owner), עורך (roles/editor) וצופה (roles/viewer). מידע נוסף על התפקידים האלה זמין בקטע תפקידים בסיסיים מדור קודם בדף הזה.

בטבלה הבאה מופיע סיכום של ההרשאות שהתפקידים Admin,‏ Writer ו-Reader מעניקים לישויות בכל השירותים של Google Cloud :

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

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

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

לפרטי התפקיד 'קריאה'

כתיבה (roles/writer)

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

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

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

לפרטי התפקיד 'כתיבה'

אדמין (roles/admin)

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

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

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

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

לפרטי התפקיד 'אדמין'

אי אפשר להשתמש במסוף כדי להעניק את התפקידים Reader,‏ Writer או Admin. Google Cloud במקום זאת, אפשר להשתמש ב-API או ב-CLI של gcloud. אפשר גם ליצור זכויות גישה לתפקידים האלה באמצעות Privileged Access Manager.

איך נותנים, משנים ומבטלים הרשאות גישה?

תפקידים בסיסיים מדור קודם

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

התפקידים הבסיסיים מדור קודם הם 'בעלים' (roles/owner), 'עריכה' (roles/editor) ו'צפייה' (roles/viewer).

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

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

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

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

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

לפרטי התפקיד 'צפייה'

עריכה (roles/editor)

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

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

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

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

בעלים (roles/owner)

כל ההרשאות של התפקיד 'עריכה', וגם הרשאות לפעולות כמו:

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

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

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

לפרטי התפקיד 'בעלים'

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

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

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

  • חשבונות Google
  • חשבונות שירות בארגון
  • קבוצות Google בארגון

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

תלות בין הרשאות

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

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

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

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

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

יצירה

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

  • Role ID הוא מזהה ייחודי של התפקיד. הוא יכול להכיל תווים אלפאנומריים, אותיות קטנות וגדולות, קווים תחתונים ונקודות (אורך מקסימלי: 64 בייטים). אי אפשר להשתמש באותו מזהה למספר תפקידים בארגון או בפרויקט.

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

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

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

  • Role description: שדה אופציונלי שבו אפשר לספק מידע נוסף על התפקיד. לדוגמה, תוכלו לתאר את מטרת התפקיד, התאריך שבו הוא נוצר או שונה, ואת התפקידים המוגדרים מראש שעליהם הוא מבוסס. תיאורי התפקידים יכולים להכיל תווים אלפאנומריים, אותיות גדולות וקטנות וסמלים (אורך מקסימלי: 300 בייטים).

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

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

השקה

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

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

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

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

ניהול

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

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

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

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

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

השבתה

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

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

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

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