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

בדף הזה מוסבר איך אתם יכולים לשלוט בגישה למשאבים של Agent Registry.

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

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

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

ניהול הגישה למשאבים של Agent Registry

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

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

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

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

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

הקצאת תפקיד IAM יחיד בפרויקט, בתיקייה או בארגון

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

כדי להקצות תפקיד אחד לחשבון משתמש בפרויקט, בתיקייה או בארגון:

המסוף

  1. נכנסים לדף IAM במסוף Google Cloud .

    כניסה לדף IAM

  2. בוחרים פרויקט, תיקייה או ארגון.
  3. בוחרים את החשבון הראשי שרוצים לתת לו את התפקיד:
    • כדי להקצות לחשבון משתמש תפקיד נוסף במשאב, לוחצים על Edit principal בשורה שבה מוצג המשאב ולאחר מכן לוחצים על Add another role.

      כדי להקצות תפקיד לסוכן שירות, מסמנים את התיבה Include Google-provided role grants כדי לראות את כתובת האימייל שלו.

    • כדי לתת תפקיד לחשבון ראשי שאין לו תפקידים אחרים במשאב, לוחצים על Grant Access וכותבים את המזהה של החשבון, למשל my-user@example.com או //iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.
  4. בוחרים את התפקיד שרוצים להקצות מהרשימה הנפתחת. בהתאם לנוהלי האבטחה המומלצים, כדאי לבחור תפקיד שמכיל רק את ההרשאות שהחשבון הראשי צריך.
  5. אם רוצים, מוסיפים תנאי לתפקיד.
  6. לוחצים על Save. חשבון המשתמש מקבל את התפקיד במשאב.

gcloud

  1. מפעילים את Cloud Shell במסוף Google Cloud .

    הפעלת Cloud Shell

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

  2. הפקודה add-iam-policy-binding מאפשרת להקצות תפקיד לחשבון משתמש במהירות.

    לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:

    • ‏RESOURCE_TYPE: סוג המשאב שרוצים לנהל את הגישה אליו. אפשר להשתמש ב-projects, ב-resource-manager folders או ב-organizations.

    • ‫RESOURCE_ID: מזהה הפרויקט, התיקייה או הארגון ב- Google Cloud . מזהי פרויקטים מכילים אותיות וספרות, למשל my-project. מזהי תיקיות ומזהי הארגון מכילים רק ספרות, למשל 123456789012.

    • ‏PRINCIPAL: מזהה של חשבון המשתמש או המנוי, שבדרך כלל נראה כך: PRINCIPAL_TYPE:ID. לדוגמה, user:my-user@example.com או principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com. בדף העזר בנושא מזהים של חשבונות משתמשים תוכלו למצוא רשימה מלאה של הערכים שיכולים להיות ל-PRINCIPAL.

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

    • ‫ROLE_NAME: שם התפקיד שרוצים לתת. משתמשים באחד מהפורמטים הבאים:

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

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

    • ‏CONDITION: התנאי שרוצים להוסיף לקישור התפקידים. אם לא רוצים להוסיף תנאי, אפשר להשתמש בערך None. מידע נוסף על התנאים מופיע במאמר סקירה כללית של התנאים.

    מריצים את הפקודה הבאה:

    ‫Linux,‏ macOS או Cloud Shell

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \
        --member=PRINCIPAL --role=ROLE_NAME \
        --condition=CONDITION

    ‏Windows (PowerShell)

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID `
        --member=PRINCIPAL --role=ROLE_NAME `
        --condition=CONDITION

    Windows‏ (cmd.exe)

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ^
        --member=PRINCIPAL --role=ROLE_NAME ^
        --condition=CONDITION

    התשובה תכלול את מדיניות ההרשאות המעודכנת של IAM.

ביטול תפקיד IAM יחיד בפרויקט, בתיקייה או בארגון

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

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

המסוף

  1. נכנסים לדף IAM במסוף Google Cloud .

    כניסה לדף IAM

  2. בוחרים פרויקט, תיקייה או ארגון.
  3. מחפשים את השורה שמכילה את חשבון המשתמש שרוצים לבטל את הגישה שלו. בשורה הזו לוחצים על Edit principal.
  4. לוחצים על Delete ליד התפקיד שרוצים לבטל ואז על Save.

gcloud

  1. מפעילים את Cloud Shell במסוף Google Cloud .

    הפעלת Cloud Shell

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

  2. כדי לבטל תפקיד של משתמש, מריצים את הפקודה remove-iam-policy-binding:

    gcloud RESOURCE_TYPE remove-iam-policy-binding RESOURCE_ID \
        --member=PRINCIPAL --role=ROLE_NAME

    מספקים את הערכים הבאים:

    • RESOURCE_TYPE: סוג המשאב שרוצים לנהל את הגישה אליו. משתמשים ב-projects, ב-resource-manager folders או ב-organizations.

    • ‫RESOURCE_ID: מזהה הפרויקט, התיקייה או הארגון ב- Google Cloud . מזהי פרויקטים מכילים אותיות וספרות, למשל my-project. מזהי תיקיות ומזהי הארגון מכילים רק ספרות, למשל 123456789012.

    • ‏PRINCIPAL: מזהה של חשבון המשתמש, שבדרך כלל נראה כך: PRINCIPAL_TYPE:ID. לדוגמה, user:my-user@example.com או principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.

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

    • ‫ROLE_NAME: שם התפקיד שרוצים לבטל. משתמשים באחד מהפורמטים הבאים:

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

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

    לדוגמה, כדי לבטל את התפקיד "יצירת פרויקטים" מחשבון השירות example-service-account@example-project.iam.gserviceaccount.com בפרויקט example-project:

    gcloud projects remove-iam-policy-binding example-project \
          --member=serviceAccount:example-service-account@example-project.iam.gserviceaccount.com \
          --role=roles/resourcemanager.projectCreator

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

גישה מותנית

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

התנאים במדיניות ההרשאות מבוססים על סוגי המאפיינים הבאים:

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

למידע נוסף על מאפייני התנאים שנתמכים ב-Agent Registry, קראו את המאמר הסבר על מאפיינים לתנאי IAM במסמכי התיעוד של IAM.

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

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

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