קבלת הצעות לתפקידים מוגדרים מראש בעזרת Gemini

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

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

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

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

  • תפקידים בהתאמה אישית
  • תפקידים לכמה חשבונות משתמש (בהנחיה אחת)
  • תפקידים במוצרי Google Workspace כמו Google Sheets ו-Google Docs

איך Gemini for Google Cloud ‎ משתמש בנתונים שלכם, ובאילו מקרים.

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

כדי לקבל הצעות לתפקידים מוגדרים מראש מ-Gemini, צריך לוודא שביצעתם את הפעולות הבאות.

המסוף

אפשר להשתמש בכלי לבחירת תפקידי IAM במסוף Google Cloud בלי להפעיל ממשקי API.

REST

כדי לקבל הצעות לתפקידים באמצעות Policy Assist API בארכיטקטורת REST, צריך להפעיל את Policy Assist API בפרויקט במסוף Google Cloud :

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

  3. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  4. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  5. יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

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

  7. מפעילים את Policy Assist API:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    gcloud services enable policyassist.googleapis.com
  8. התקינו את ה-CLI של Google Cloud.

  9. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  10. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  11. יוצרים או בוחרים Google Cloud פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Google Cloud פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Google Cloud שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Google Cloud

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Google Cloud .

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

  13. מפעילים את Policy Assist API:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    gcloud services enable policyassist.googleapis.com

התפקידים הנדרשים

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

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

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

ההרשאות הנדרשות

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

  • קבלת הצעות לתפקידים במסוף:
    • resourcemanager.projects.get
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • קבלת הצעות לתפקידים בהתאמה אישית באמצעות ה-API: iam.roles.list

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

קבלת הצעות לתפקידים בעזרת Gemini

אתם יכולים לבקש מ-Gemini הצעות לתפקידים באמצעות מסוףGoogle Cloud או Policy Assist API בארכיטקטורת REST.

המסוף

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

  • הדף IAM
  • הדף חשבונות שירות
  • הדף Dashboard במסוף Google Cloud

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

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

    כניסה לדף IAM

  2. בוחרים פרויקט.

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

    • כדי לקבל הצעות לתפקידים עבור חשבון משתמש שכבר יש לו תפקידים אחרים במשאב, לוחצים על Edit principal בשורה שבה מוצג המשאב.

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

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

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

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

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

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

  7. אופציונלי: אם Gemini לא מציע את התפקידים הנכונים, אפשר לשפר את ההנחיה.

    1. כדי לשנות את הפרומפט, לוחצים על עריכה.
    2. עורכים את התיאור ולוחצים על עדכון. ‫Gemini מעדכן את ההצעות לתפקידים על סמך התיאור החדש.
  8. כדי לאשר את ההצעות, לוחצים על הוספת תפקידים.

  9. אם רוצים, מוסיפים תנאי לתפקיד.

  10. לוחצים על Save. חשבון המשתמש מקבל את התפקיד במשאב.

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

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

REST

כדי לקבל הצעות לתפקידים באמצעות Policy Assist API בארכיטקטורת REST, צריך להפעיל את ה-method‏ recommendIamRoles.

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

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים מכילים אותיות וספרות, למשל my-project.
  • USER_INSTRUCTIONS: ההנחיה בשפה טבעית שמתארת את ההרשאות שאתם צריכים. לדוגמה, "תציע תפקיד שיאפשר לי לצפות בקטגוריות ב-Storage".

ה-method של ה-HTTP וכתובת ה-URL:

POST https://policyassist.googleapis.com/v1/projects/PROJECT_ID/locations/global:recommendIamRoles

תוכן בקשת JSON:

{
  "prompt": {
    "userInstructions": "USER_INSTRUCTIONS"
  }
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "summary": "",
  "recommendations": [
    {
      "type": "RECOMMENDATION_TYPE_PREDEFINED_ROLES",
      "roles": [
        {
          "name": "roles/storage.objectViewer",
          "roleType": "ROLE_TYPE_PREDEFINED",
          "grantableScopes": [
            "Projects",
            "Buckets"
          ]
        },
        {
          "name": "roles/storage.legacyBucketReader",
          "roleType": "ROLE_TYPE_PREDEFINED",
          "grantableScopes": [
            "Projects"
          ]
        }
      ],
      "intro": "The following roles match your description:"
      "detailedReasoning": "The roles/storage.objectViewer role grants permissions to view objects and their metadata. The roles/storage.legacyBucketReader grants broader read access to buckets and objects. Choose the one that best fits the principle of least privilege for your use case."
    }
  ]
}

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

תרחישים לדוגמה

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

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

תרחיש שימוש דוגמאות לפרומפטים
זיהוי תפקידים לניהול שירותים כללי
  • "אילו הרשאות צריך כדי לנהל את ההגדרה של AlloyDB ל-PostgreSQL?"
  • "אילו תפקידים נדרשים כדי לעבוד עם BigQuery?"
  • "איך נותנים למישהו גישה להרצה ולניפוי באגים בשירותי Cloud Run?"
  • "אני צריך להקצות זהות לסוכן Vertex AI כדי להפעיל קריאות בסיסיות לכלים".
זיהוי התפקידים שנדרשים לביצוע משימות ספציפיות
  • "איזו הרשאה נדרשת כדי ליצור, להפעיל ולעצור מכונות וירטואליות?"
  • "אני רוצה לתת למשתמש הרשאה ליצור ולנהל מערכי נתונים וטבלאות ב-BigQuery".
  • "אני רוצה לתת לחשבון שירות הרשאת גישה להפעלת פונקציות של Cloud Run".
  • "אני רוצה שהסוכן שלי יפעיל שרת MCP מקומי שפרסתי ב-Cloud Run".

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

  • "מהו התפקיד המינימלי שנדרש כדי ליצור מכונות וירטואליות, להפעיל אותן ולהפסיק את הפעולה שלהן?"
  • "מהם תפקידי ה-IAM עם ההרשאות המינימליות שנדרשים ליצירת מדיניות IAM?"
  • "אני רוצה לתת לחשבון שירות גישה להפעלת פונקציות של Cloud Run. מה הגישה המצומצמת ביותר שנדרשת?"
  • "מהו התפקיד עם הכי פחות הרשאות שהסוכן שלי צריך כדי להפעיל שרת MCP מקומי שפרסתי ב-Cloud Run?"
זיהוי התפקידים שנדרשים להרצת פקודות של Google Cloud CLI
  • "What IAM role is required to run: gcloud compute instances create instance-1?" (איזה תפקיד ב-IAM נדרש כדי להריץ את הפקודה: gcloud compute instances create instance-1?)

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

  • "What is the smallest role a service account needs to execute: gcloud datastore instances describe?"
זיהוי תפקידים למשימה שכוללת יחסי תלות טרנזיטיביים
  • "אני רוצה להגדיר מכונה ב-Compute Engine כך שהיא תתבצע באופן אוטומטי על סמך ניצול המעבד. אילו תפקידים ב-IAM צריך להקצות לחשבון השירות?"

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

  • "אני רוצה להגדיר מכונה ב-Compute Engine כך שהיא תתבצע באופן אוטומטי על סמך ניצול המעבד. מהן ההרשאות המינימליות שצריך להעניק לחשבון שירות שמשמש את הכלי לשינוי גודל אוטומטי של מכונת Compute Engine?"
זיהוי תפקידים למשימה שעשויה לדרוש שילוב של כמה תפקידים עם הרשאות ספציפיות
  • "לתת למשתמשים גישה רק למערך נתונים מסוים ב-BigQuery. הם לא צריכים להיות מסוגלים ליצור או למחוק מערכי נתונים".

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

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

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

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

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

    מומלץ לא מומלץ פרטים
    "איזה תפקיד נדרש כדי להריץ שאילתות SQL בטבלה ב-BigQuery ולקרוא את הנתונים ממנה?" "What role is required to execute SQL statements?" (איזה תפקיד נדרש כדי להריץ הצהרות SQL?) ‫SQL היא שפה גנרית שמשמשת במגוון שירותים של Google Cloud Google. אם לא תציינו את השירות או הפעולות, Gemini לא יוכל להציע תפקיד מדויק.
    "אני צריך תפקידים כדי להפעיל, להפסיק ולהפעיל מחדש מכונות וירטואליות של Compute Engine". ‫"I need to manage my virtual machines" (אני רוצה לנהל את המכונות הווירטואליות שלי). המונח ניהול כללי מדי. ניהול יכול להיות יצירה, מחיקה, עדכון או צפייה במכונות וירטואליות. אם תציינו בבירור את הפעולות הספציפיות שצריך לבצע (התחלה, עצירה, הפעלה מחדש) ואת סוג המשאב המדויק (מכונות וירטואליות ב-Compute Engine), ההצעות יהיו מדויקות יותר.
    "אני רוצה להעלות ולהוריד אובייקטים מקטגוריה של Cloud Storage בשם example-bucket". ‫"Give me access to storage" (תן לי גישה לאחסון). המונח אחסון לבדו יכול להתייחס לשירותים שונים כמו Cloud Storage,‏ Filestore או Persistent Disk. בנוסף, לא צוינו פעולות. אם לא מציינים את השירות (Cloud Storage), את שם סוג המשאב (example-bucket) או את הפעולות (העלאה והורדה של אובייקטים), ל-Gemini אין מספיק מידע כדי להציע את התפקידים הנכונים.
    "אני צריך את התפקיד עם הכי פחות הרשאות שמאפשר גישה לקריאת רשימות בלבד ב-Secret Manager". "אני צריך גישה מוגבלת כדי לנהל את הסודות שלי". הביטוי גישה מוגבלת לא מגדיר בבירור את ההגבלות הנדרשות. ההרשאה Manage my secrets (ניהול הסודות שלי) מכסה מגוון רחב של פעולות (יצירה, הצגה, עדכון, מחיקה, גישה לגרסאות). בלי להשתמש במילות מפתח מפורשות כמו הרשאה מינימלית, Gemini מציע כברירת מחדל תפקידי אדמין, עריכה או צפייה כלליים יותר שספציפיים לשירות.
  • להשתמש בשמות רשמיים. בפרומפט, כדאי להשתמש בשמות הרשמיים של Google Cloud שירותים, סוגי משאבים ופעולות API. אם אתם לא בטוחים מהם השמות הרשמיים של השירותים, סוגי המשאבים או פעולות ה-API, מומלץ לעיין במסמכי המוצר הרשמיים.

    מומלץ לא מומלץ פרטים
    "איזה תפקיד צריך כדי לעדכן מערכי נתונים ב-BigQuery?" "What role do I need to update Big query datasets? השם הרשמי של המוצר הוא BigQuery, ולא Big query.
    "איזה תפקיד נדרש כדי ליצור קטגוריה של Cloud Storage בפרויקט שלי?" "What role is required to create a Storage bucket in my project?" קטגוריית אחסון יכולה להתייחס לסוגים שונים של משאבים משירותים כמו Cloud Storage,‏ Filestore או Persistent Disk. אם תציינו את שם המוצר ואת סוג המשאב המשויך, ההצעות יהיו מדויקות יותר.

מילות מפתח לתפקידים עם הרשאות מינימליות

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

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

פתרון בעיות

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

‫Gemini מציע תפקידים שאי אפשר להעניק ברמת הפרויקט

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

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

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

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