שליטה בגישה למשאבים

אתם יכולים להגדיר מדיניות של ניהול זהויות והרשאות גישה (IAM) כדי לשלוט בגישה למשאבים הבאים של Vertex AI Feature Store:

  • קבוצות של תכונות

  • מופעים של חנויות וירטואליות

  • צפיות בתכונות

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

  • חשבונות משתמשים פרטיים

  • קבוצות Google

  • דומיינים

  • חשבונות שירות

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

מאמתים את Gemini Enterprise Agent Platform, אלא אם כבר עשיתם זאת.

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

    התקינו את ה-CLI של Google Cloud.

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

מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

הגדרת מדיניות IAM לקבוצת תכונות

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

REST

כדי להקצות מדיניות IAM למשאב FeatureGroup, שולחים בקשת POST באמצעות ה-method ‏featureGroups.setIamPolicy.

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

  • LOCATION_ID: האזור שבו נמצא המופע של החנות הווירטואלית, למשל us-central1.
  • PROJECT_ID: מזהה הפרויקט.
  • FEATUREGROUP_NAME: השם של מופע החנות הווירטואלית שרוצים להגדיר עבורו את מדיניות ה-IAM.
  • IAM_ROLE_NAME: שם תפקיד ה-IAM שרוצים להקצות לחברים. רשימה מלאה של תפקידי IAM ל-Gemini Enterprise Agent Platform מופיעה במאמר בקרת גישה באמצעות IAM.
  • USER_EMAIL: אופציונלי. כתובת האימייל של חשבון המשתמש שהתפקיד הוקצה לו.
  • GROUP_EMAIL: אופציונלי. כתובת האימייל של קבוצת Google שהתפקיד משויך אליה.
  • DOMAIN_NAME: אופציונלי. שם הדומיין שהתפקיד מוקצה לו.
  • SERVICE_ACCOUNT_EMAIL: אופציונלי. כתובת האימייל של חשבון השירות שהתפקיד מוקצה לו.

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

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME:setIamPolicy

גוף בקשת JSON:

{
  "policy": {
    "bindings": [
      {
        "role": "IAM_ROLE_NAME",
        "members": [
          "user:USER_EMAIL",
          "group:GROUP_EMAIL",
          "domain:DOMAIN_NAME",
          "serviceAccount:SERVICE_ACCOUNT_EMAIL"
        ]
      }
    ]
  }
}

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

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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME:setIamPolicy" | Select-Object -Expand Content

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

{
  "bindings": [
  {
    "role": "IAM_ROLE_NAME",
    "members": [
      "user:USER_EMAIL",
      "group:GROUP_EMAIL",
      "domain:DOMAIN_NAME",
      "serviceAccount:SERVICE_ACCOUNT_EMAIL"
    ]
  }
  ],
  "etag": "etag"
}

הגדרת מדיניות IAM לחנות וירטואלית

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

REST

כדי להקצות מדיניות IAM למשאב FeatureOnlineStore, שולחים בקשת POST באמצעות ה-method‏ featureOnlineStores.setIamPolicy.

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

  • LOCATION_ID: האזור שבו נמצא המופע של החנות הווירטואלית, למשל us-central1.
  • PROJECT_ID: מזהה הפרויקט.
  • FEATUREONLINESTORE_NAME: השם של מופע החנות הווירטואלית שרוצים להגדיר עבורו את מדיניות ה-IAM.
  • IAM_ROLE_NAME: שם תפקיד ה-IAM שרוצים להקצות לחברים. רשימה מלאה של תפקידי IAM ל-Gemini Enterprise Agent Platform מופיעה במאמר בקרת גישה באמצעות IAM.
  • USER_EMAIL: אופציונלי. כתובת האימייל של חשבון המשתמש שהתפקיד הוקצה לו.
  • GROUP_EMAIL: אופציונלי. כתובת האימייל של קבוצת Google שהתפקיד משויך אליה.
  • DOMAIN_NAME: אופציונלי. שם הדומיין שהתפקיד מוקצה לו.
  • SERVICE_ACCOUNT_EMAIL: אופציונלי. כתובת האימייל של חשבון השירות שהתפקיד מוקצה לו.

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

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy

גוף בקשת JSON:

{
  "policy": {
    "bindings": [
      {
        "role": "IAM_ROLE_NAME",
        "members": [
          "user:USER_EMAIL",
          "group:GROUP_EMAIL",
          "domain:DOMAIN_NAME",
          "serviceAccount:SERVICE_ACCOUNT_EMAIL"
        ]
      }
    ]
  }
}

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

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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy" | Select-Object -Expand Content

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

{
  "bindings": [
  {
    "role": "IAM_ROLE_NAME",
    "members": [
      "user:USER_EMAIL",
      "group:GROUP_EMAIL",
      "domain:DOMAIN_NAME",
      "serviceAccount:SERVICE_ACCOUNT_EMAIL"
    ]
  }
  ],
  "etag": "etag"
}

הגדרת מדיניות IAM לתצוגת תכונות

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

REST

כדי להקצות מדיניות IAM למשאב FeatureView, שולחים בקשת POST באמצעות השיטה featureViews.setIamPolicy.

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

  • LOCATION_ID: האזור שבו נמצאת תצוגת התכונות, למשל us-central1.
  • PROJECT_ID: מזהה הפרויקט.
  • FEATUREONLINESTORE_NAME: השם של מופע החנות הווירטואלית שמכיל את תצוגת התכונות.
  • FEATUREVIEW_NAME: השם של תצוגת התכונות שעבורה רוצים להגדיר את מדיניות ה-IAM.
  • IAM_ROLE_NAME: שם תפקיד ה-IAM שרוצים להקצות לחברים. רשימה מלאה של תפקידי IAM ל-Gemini Enterprise Agent Platform מופיעה במאמר בקרת גישה באמצעות IAM.
  • USER_EMAIL: אופציונלי. כתובת האימייל של חשבון המשתמש שהתפקיד הוקצה לו.
  • GROUP_EMAIL: אופציונלי. כתובת האימייל של קבוצת Google שהתפקיד משויך אליה.
  • DOMAIN_NAME: אופציונלי. שם הדומיין שהתפקיד מוקצה לו.
  • SERVICE_ACCOUNT_EMAIL: אופציונלי. כתובת האימייל של חשבון השירות שהתפקיד מוקצה לו.

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

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy

גוף בקשת JSON:

{
  "policy": {
    "bindings": [
      {
        "role": "IAM_ROLE_NAME",
        "members": [
          "user:USER_EMAIL",
          "group:GROUP_EMAIL",
          "domain:DOMAIN_NAME",
          "serviceAccount:SERVICE_ACCOUNT_EMAIL"
        ]
      }
    ]
  }
}

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

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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy" | Select-Object -Expand Content

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

{
  "bindings": [
  {
    "role": "IAM_ROLE_NAME",
    "members": [
      "user:USER_EMAIL",
      "group:GROUP_EMAIL",
      "domain:DOMAIN_NAME",
      "serviceAccount:SERVICE_ACCOUNT_EMAIL"
    ]
  }
  ],
  "etag": "etag"
}

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