ניהול הגישה למופע של Agent Platform Workbench

במדריך הזה מוסבר איך מעניקים גישה למופע ספציפי של Gemini Enterprise Agent Platform Workbench. כדי לנהל את הגישה למשאבים של Gemini Enterprise Agent Platform, אפשר לעיין בדף Agent Platform בנושא בקרת גישה.

כדי להעניק גישה למופע של Agent Platform Workbench, צריך להגדיר מדיניות של ניהול זהויות והרשאות גישה (IAM) במופע. המדיניות מקשרת בין חשבון משתמש אחד או יותר, כמו משתמש או חשבון שירות, לבין תפקיד אחד או יותר. כל תפקיד מכיל רשימה של הרשאות שמאפשרות לחשבון המשתמש לבצע פעולות במופע.

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

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

למידע כללי על הקצאה, שינוי וביטול של גישה למשאבים שלא קשורים ל-Agent Platform Workbench, למשל, כדי להעניק גישה ל Cloud de Confiance by S3NS פרויקט, אפשר לעיין במסמכי התיעוד של IAM בנושא ניהול הגישה לפרויקטים, לתיקיות ולארגונים.

מגבלות גישה

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

עם זאת, גם אם מעניקים לישות גישה מלאה למופע של Agent Platform Workbench, היא לא מקבלת את היכולת להשתמש בממשק JupyterLab של המופע. כדי להעניק גישה לממשק JupyterLab, אפשר לעיין במאמר בנושא ניהול הגישה לממשק JupyterLab של מכונה.

מתן גישה למופעים של Agent Platform Workbench

כדי לתת למשתמשים הרשאת גישה למופע ספציפי של Agent Platform Workbench, צריך להגדיר מדיניות IAM במופע.

gcloud

כדי להעניק תפקיד לחשבון משתמש במופע של Agent Platform Workbench, משתמשים בפקודה get-iam-policy כדי לאחזר את המדיניות הנוכחית, עורכים את הגישה של המדיניות הנוכחית ואז משתמשים בפקודה set-iam-policy כדי לעדכן את המדיניות במופע.

אחזור המדיניות הנוכחית

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

  • ‫INSTANCE_NAME: השם של המכונה
  • ‫PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance
  • ‫LOCATION: האזור שבו נמצאת המכונה

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

‫Linux,‏ macOS או Cloud Shell

gcloud workbench instances get-iam-policy INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION

‏Windows (PowerShell)

gcloud workbench instances get-iam-policy INSTANCE_NAME `
    --project=PROJECT_ID `
    --location=LOCATION

Windows‏ (cmd.exe)

gcloud workbench instances get-iam-policy INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION
התשובה היא הטקסט של מדיניות IAM של המופע. לדוגמה:
{
  "bindings": [
    {
      "role": "roles/notebooks.viewer",
      "members": [
        "user:email@example.com"
      ]
    }
  ],
  "etag": "BwWWja0YfJA=",
  "version": 3
}

עריכת המדיניות

  1. עורכים את המדיניות באמצעות כלי לעריכת טקסט כדי להוסיף או להסיר חשבונות משתמשים ואת התפקידים המשויכים שלהם. לדוגמה, כדי להקצות את התפקיד notebooks.admin ל-eve@example.com, מוסיפים את הקישור החדש הבא למדיניות בקטע "bindings":

    {
      "role": "roles/notebooks.admin",
      "members": [
        "user:eve@example.com"
      ]
    }
    

    אחרי הוספת הקישור החדש, המדיניות עשויה להיראות כך:

    {
      "bindings": [
        {
          "role": "roles/notebooks.viewer",
          "members": [
            "user:email@example.com"
          ]
        },
        {
          "role": "roles/notebooks.admin",
          "members": [
            "user:eve@example.com"
          ]
        }
      ],
      "etag": "BwWWja0YfJA=",
      "version": 3
    }
    
  2. שומרים את המדיניות המעודכנת בקובץ בשם request.json.

עדכון המדיניות במכונה

בגוף הבקשה, מציינים את מדיניות IAM המעודכנת מהשלב הקודם, שמוטמעת בקטע "policy".

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

  • ‫INSTANCE_NAME: השם של המכונה
  • ‫PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance
  • ‫LOCATION: האזור שבו נמצאת המכונה

שומרים את התוכן הבא בקובץ בשם request.json:

{
  "policy": {
    "bindings": [
      {
        "role": "roles/notebooks.viewer",
        "members": [
          "user:email@example.com"
        ]
      },
      {
        "role": "roles/notebooks.admin",
        "members": [
          "user:eve@example.com"
        ]
      }
    ],
    "etag": "BwWWja0YfJA=",
    "version": 3
  }
}

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

‫Linux,‏ macOS או Cloud Shell

gcloud workbench instances set-iam-policy INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    request.json --format=json

‏Windows (PowerShell)

gcloud workbench instances set-iam-policy INSTANCE_NAME `
    --project=PROJECT_ID `
    --location=LOCATION `
    request.json --format=json

Windows‏ (cmd.exe)

gcloud workbench instances set-iam-policy INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    request.json --format=json

הענקת גישה לממשק JupyterLab

כשמעניקים למשתמש גישה למופע של Agent Platform Workbench, לא מעניקים לו את האפשרות להשתמש בממשק JupyterLab של המופע. כדי להעניק גישה לממשק JupyterLab, אפשר לעיין במאמר ניהול גישה לממשק JupyterLab של מופע Agent Platform Workbench.

API

כדי להעניק תפקיד לחשבון משתמש במופע של Agent Platform Workbench, משתמשים בשיטה getIamPolicy כדי לאחזר את המדיניות הנוכחית, עורכים את הגישה במדיניות הנוכחית ואז משתמשים בשיטה setIamPolicy כדי לעדכן את המדיניות במופע.

אחזור המדיניות הנוכחית

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

  • ‫PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance
  • ‫LOCATION: האזור שבו נמצאת המכונה
  • ‫INSTANCE_NAME: השם של המכונה

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

GET https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:getIamPolicy

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

curl

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

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:getIamPolicy"

PowerShell

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

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:getIamPolicy" | Select-Object -Expand Content
התשובה היא הטקסט של מדיניות ה-IAM של המופע. לדוגמה:
{
  "bindings": [
    {
      "role": "roles/notebooks.viewer",
      "members": [
        "user:email@example.com"
      ]
    }
  ],
  "etag": "BwWWja0YfJA=",
  "version": 3
}

עריכת המדיניות

עורכים את המדיניות באמצעות כלי לעריכת טקסט כדי להוסיף או להסיר חשבונות משתמשים ואת התפקידים המשויכים שלהם. לדוגמה, כדי להעניק את התפקיד notebooks.admin לכתובת eve@example.com, מוסיפים את הקישור החדש הבא למדיניות בקטע "bindings":

{
  "role": "roles/notebooks.admin",
  "members": [
    "user:eve@example.com"
  ]
}

אחרי הוספת הקישור החדש, המדיניות עשויה להיראות כך:

{
  "bindings": [
    {
      "role": "roles/notebooks.viewer",
      "members": [
        "user:email@example.com"
      ]
    },
    {
      "role": "roles/notebooks.admin",
      "members": [
        "user:eve@example.com"
      ]
    }
  ],
  "etag": "BwWWja0YfJA=",
  "version": 3
}

עדכון המדיניות במכונה

בגוף הבקשה, מציינים את מדיניות IAM המעודכנת מהשלב הקודם, שמוטמעת בקטע "policy".

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

  • ‫PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance
  • ‫LOCATION: האזור שבו נמצאת המכונה
  • ‫INSTANCE_NAME: השם של המכונה

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

POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:setIamPolicy

גוף בקשת JSON:

{
  "policy": {
    "bindings": [
      {
        "role": "roles/notebooks.viewer",
        "members": [
          "user:email@example.com"
        ]
      },
      {
        "role": "roles/notebooks.admin",
        "members": [
          "user:eve@example.com"
        ]
      }
    ],
    "etag": "BwWWja0YfJA=",
    "version": 3
  }
}

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

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:setIamPolicy"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:setIamPolicy" | Select-Object -Expand Content

אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

הענקת גישה לממשק JupyterLab

כשמעניקים למשתמש גישה למופע של Agent Platform Workbench, לא מעניקים לו את האפשרות להשתמש בממשק JupyterLab של המופע. כדי להעניק גישה לממשק JupyterLab, אפשר לעיין במאמר בנושא ניהול הגישה לממשק JupyterLab של מכונה.

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