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

בדף הזה מוסבר איך אדמינים של Gemini Enterprise יכולים להשתמש ב-API כדי לנהל בקרת גישה מפורטת לאפליקציות ספציפיות של Gemini Enterprise.

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

  • הגבלת הגישה של משתמשים לאפליקציות ספציפיות באותו פרויקט Google Cloud .
  • התאמת ההרשאות לצורכי הארגון ולסילו נתונים בפריסות של Gemini Enterprise.

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

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

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

מעבר מגישה ברמת הפרויקט לגישה ברמת האפליקציה

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

לדוגמה, כדי להעביר משתמש עם התפקיד 'משתמש Gemini Enterprise' (roles/discoveryengine.agentspaceUser) מרמת הפרויקט לרמת האפליקציה, מבצעים את השלבים הבאים:

  1. נכנסים לדף IAM במסוף Google Cloud .
  2. מאתרים את המשתמש ומסירים את התפקיד roles/discoveryengine.agentspaceUser מההרשאות שלו ברמת הפרויקט.
  3. משתמשים בשיטה setIamPolicy כדי להעניק למשתמש את התפקיד roles/discoveryengine.agentspaceUser באפליקציה הספציפית. מידע נוסף זמין במאמר ניהול כללי מדיניות של IAM לאפליקציות.

ניהול מדיניות IAM לאפליקציות

כדי לנהל את הגישה לאפליקציית Gemini Enterprise, אפשר להשתמש בשיטות ה-API‏ getIamPolicy ו-setIamPolicy.

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

קבלת מדיניות ה-IAM של האפליקציה

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

REST

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:getIamPolicy"

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

  • PROJECT_ID: מזהה הפרויקט.
  • ENDPOINT_LOCATION: האזור הרב-אזורי של בקשת ה-API. מציינים אחד מהערכים הבאים:
    • us לאזור מרובה בארה"ב
    • eu לאזור עם מספר אזורים באיחוד האירופי
    • global למיקום הגלובלי
    מידע נוסף זמין במאמר בנושא הגדרת מאגר נתונים במספר אזורים.
  • LOCATION: האזור המרובה של מאגר הנתונים: ‫global,‏ us או eu
  • APP_ID: המזהה של האפליקציה שרוצים להגדיר.

עדכון מדיניות ה-IAM של האפליקציה

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

במדיניות IAM נעשה שימוש בתפקיד משתמש Gemini Enterprise (roles/discoveryengine.agentspaceUser) כדי להעניק למשתמשים גישה ישירה לאפליקציה.

REST

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
      "policy": {
         "etag": "ETAG",
         "bindings": [
          {
            "role": "roles/discoveryengine.agentspaceUser",
            "members": [
              "user:USER_EMAIL",
              "group:GROUP_EMAIL",
              "principal://iam.googleapis.com/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID",
              "principalSet://iam.googleapis.com/locations/global/workloadIdentityPools/POOL_ID/attribute.NAME/VALUE"
            ]
          }
        ]
      }
    }' \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:setIamPolicy"

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

  • ETAG: הערך etag שקיבלתם בתגובה כשנעשה שימוש בשיטה getIamPolicy.

  • USER_EMAIL, ‏ GROUP_EMAIL: כתובת אימייל אחת או יותר של משתמש או קבוצה. בנוסף ל-user ול-group, גם principal ו-principalSet הם סוגי חברים תקינים באיחוד שירותי אימות הזהות של עומסי עבודה.

    • כדי להעניק גישה, מוסיפים חשבונות משתמשים למערך members. לדוגמה, "user:cloudysanfrancisco@gmail.com" או "group:mcymbalgroup@google.com".

    • כדי לבטל את הגישה, מסירים את החשבונות הראשיים ממערך ה-members.

  • POOL_ID: המזהה של מאגר הזהויות של עומסי עבודה.

  • SUBJECT_ID: מזהה הנושא של זהות ספציפית.

  • NAME: השם של מאפיין.

  • VALUE: הערך של מאפיין.

  • PROJECT_ID: מזהה הפרויקט.

  • ENDPOINT_LOCATION: האזור הרב-אזורי של בקשת ה-API. מציינים אחד מהערכים הבאים:

    • us לאזור מרובה בארה"ב
    • eu לאזור עם מספר אזורים באיחוד האירופי
    • global למיקום הגלובלי
    מידע נוסף זמין במאמר בנושא הגדרת מאגר נתונים במספר אזורים.

  • LOCATION: האזור המרובה של מאגר הנתונים: ‫global,‏ us או eu.

  • APP_ID: המזהה של האפליקציה שרוצים להגדיר.

מה השלב הבא?

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