הגדרת הרשאות לפונקציות AI גנרטיבי שקוראות למודלי LLM של Gemini Enterprise Agent Platform
במאמר הזה מוסבר איך להגדיר הרשאות להרצת שאילתות של AI גנרטיבי. שאילתות של AI גנרטיבי מכילות פונקציות של AI.* שקוראות למודלים בסיסיים ב-Gemini Enterprise Agent Platform, לדוגמה AI.GENERATE.
יש שתי דרכים להגדיר הרשאות להרצת שאילתות שמשתמשות בפונקציות של AI.*:
- מריצים את השאילתה באמצעות פרטי הכניסה של משתמש הקצה
- יצירת חיבור ל-BigQuery כדי להריץ את השאילתה באמצעות חשבון שירות
ברוב המקרים, אפשר להשתמש בפרטי הכניסה של משתמשי הקצה ולהשאיר את הארגומנט CONNECTION ריק. אם משימת השאילתה צפויה לפעול במשך 48 שעות או יותר, צריך להשתמש בחיבור ל-BigQuery ולכלול אותו בארגומנט CONNECTION.
הרצת שאילתות של AI גנרטיבי עם פרטי כניסה של משתמשי קצה
כדי להריץ שאילתות של AI גנרטיבי באמצעות פרטי כניסה של משתמשי קצה, צריך להגדיר את ההרשאות הנדרשות באמצעות מסוף Cloud de Confiance . שימו לב: אם אתם הבעלים של הפרויקט, כבר יש לכם את כל ההרשאות הנדרשות ואתם לא צריכים לעשות שום דבר.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להרצת משימת שאילתה שקוראת למודל של Agent Platform, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
להריץ משימות של שאילתות:
BigQuery Job User (
roles/bigquery.jobUser) -
גישה למודל בסיס ב-Gemini Enterprise Agent Platform:
משתמש ב-Agent Platform (
roles/aiplatform.user)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הקצאת התפקידים הנדרשים למשתמש או לקבוצה
אתם יכולים להשתמש במסוף Cloud de Confiance או ב-SQL כדי להקצות את התפקידים הנדרשים לחשבון משתמש. החשבון הראשי הוא המשתמש או הקבוצה שמריצים את השאילתה שמשתמשת בפונקציות AI.* כדי לקרוא למודל בסיס של Gemini Enterprise Agent Platform.
המסוף
נכנסים לדף IAM במסוף Cloud de Confiance .
בוחרים את הפרויקט הרצוי.
כדי להקצות תפקידים לחשבון ראשי, מבצעים את הפעולות הבאות:
נכנסים לדף IAM & Admin.
לוחצים על Grant access.
תיבת הדו-שיח Add principals נפתחת.
בשדה New principals, מזינים את מזהה החשבון הראשי – לדוגמה,
//iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.comאו//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.בקטע Assign roles, לוחצים על החץ לתפריט הנפתח של Select a role.
מחפשים את התפקיד Agent Platform User ובוחרים אותו.
לוחצים על הוספת תפקיד.
בקטע Assign roles, לוחצים על החץ לתפריט נפתח של Select a role.
מחפשים את התפקיד BigQuery Job User או מדפדפים אליו ובוחרים אותו.
לוחצים על Save.
SQL
משתמשים בהצהרה GRANT:
נכנסים לדף BigQuery במסוף Cloud de Confiance .
בעורך השאילתות, מזינים את ההצהרה הבאה:
GRANT `roles/aiplatform.user`, `roles/bigquery.jobUser` ON PROJECT `PROJECT_ID` TO "USER_OR_GROUP";
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו אתם מתכננים להשתמש בפונקציות שלAI.*. -
USER_OR_GROUP: המשתמש או הקבוצה שרוצים לתת להם גישה, בפורמטuser:USER@DOMAINאוgroup:GROUP@DOMAIN.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
כדי לשנות תפקידים של חשבון משתמש שכבר יש לו תפקידים בפרויקט, קראו את המאמר איך נותנים עוד תפקידים לאותו חשבון משתמש.
במאמר הקצאה או ביטול של כמה תפקידי IAM באופן פרוגרמטי מוסבר איך מקצים לחשבון משתמש תפקידים ברמת הפרויקט בדרכים אחרות.
הרצת שאילתות של AI גנרטיבי באמצעות חיבור ל-BigQuery
כדי להריץ שאילתות של AI גנרטיבי באמצעות חיבור, יוצרים את החיבור ואז נותנים גישה לחשבון השירות שנוצר על ידי החיבור.
יצירת חיבור
אתם יכולים להגדיר קישור למשאבים ב-Cloud כדי להריץ את כל השאילתות של ה-AI הגנרטיבי שמכילות פונקציות של AI.*. כשיוצרים חיבור, נותנים לחשבון שירות הרשאות להריץ שאילתות.
המסוף
נכנסים לדף BigQuery.
בחלונית הימנית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על Expand left pane כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את שם הפרויקט ולוחצים על Connections.
בדף Connections, לוחצים על Create connection.
בשדה Connection type, בוחרים באפשרות Vertex AI remote models, remote functions, BigLake and Spanner (Cloud Resource).
בשדה מזהה החיבור, נותנים שם לחיבור.
בשדה Location type, בוחרים מיקום לחיבור. החיבור צריך להיות באותו מיקום כמו המשאבים האחרים, למשל מערכי נתונים.
לוחצים על יצירת חיבור.
לוחצים על מעבר לחיבור.
בחלונית Connection info, מעתיקים את מזהה חשבון השירות כדי להשתמש בו בשלב מאוחר יותר.
SQL
משתמשים בהצהרה CREATE CONNECTION:
נכנסים לדף BigQuery במסוף Cloud de Confiance .
בעורך השאילתות, מזינים את ההצהרה הבאה:
CREATE CONNECTION [IF NOT EXISTS] `CONNECTION_NAME` OPTIONS ( connection_type = "CLOUD_RESOURCE", friendly_name = "FRIENDLY_NAME", description = "DESCRIPTION" );
מחליפים את מה שכתוב בשדות הבאים:
-
CONNECTION_NAME: שם החיבור בפורמטPROJECT_ID.LOCATION.CONNECTION_ID,LOCATION.CONNECTION_IDאוCONNECTION_ID. אם לא מציינים את הפרויקט או המיקום, הם נגזרים מהפרויקט ומהמיקום שבהם ההצהרה מופעלת. -
FRIENDLY_NAME(אופציונלי): שם תיאורי לחיבור. -
DESCRIPTION(אופציונלי): תיאור של החיבור.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
בסביבה של שורת הפקודה, יוצרים חיבור:
bq mk --connection --location=REGION --project_id=PROJECT_ID \ --connection_type=CLOUD_RESOURCE CONNECTION_ID
הפרמטר
--project_idמבטל את פרויקט ברירת המחדל.מחליפים את מה שכתוב בשדות הבאים:
-
REGION: אזור החיבור שלכם -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance -
CONNECTION_ID: מזהה לחיבור
כשיוצרים משאב חיבור, BigQuery יוצר חשבון שירות ייחודי של המערכת ומשייך אותו לחיבור.
פתרון בעיות: אם מופיעה שגיאת החיבור הבאה, עדכנו את Google Cloud SDK:
Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
-
מאחזרים ומעתיקים את מזהה חשבון השירות כדי להשתמש בו בשלב מאוחר יותר:
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
הפלט אמור להיראות כך:
name properties 1234.REGION.CONNECTION_ID {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.s3ns-system.iam.gserviceaccount.com"}
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Terraform
משתמשים במשאב google_bigquery_connection.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה נוצר קישור למשאבים ב-Cloud בשם my_cloud_resource_connection באזור US:
כך מחילים את ההגדרות של Terraform בפרויקט ב- Cloud de Confiance :
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל ב- Cloud de Confiance שבו רוצים להחיל את ההגדרות של Terraform.
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את הפרויקט ב- Cloud de Confiance כדי להציג את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
מידע נוסף זמין במאמר יצירה והגדרה של קישור למשאבים ב-Cloud.
מתן גישה לחשבון השירות
כדי להריץ שאילתות שמשתמשות בפונקציות גנרטיביות של AI.* שקוראות למודלים של Gemini Enterprise Agent Platform, צריך לתת את ההרשאות המתאימות לחשבון השירות שנוצר כשיצרתם את החיבור. כדי להריץ פונקציות שקוראות למודל בסיס של Gemini Enterprise Agent Platform, צריך את התפקיד "משתמש ב-Agent Platform" (roles/aiplatform.user).
בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף IAM & Admin.
לוחצים על Grant access.
תיבת הדו-שיח Add principals נפתחת.
בשדה New principals, מזינים את מזהה חשבון השירות שהעתקתם קודם.
בקטע הקצאת תפקידים, לוחצים על הוספת תפקידים.
מחפשים את התפקיד Agent Platform User, בוחרים אותו ולוחצים על Apply.
לוחצים על Save.
SQL
משתמשים בהצהרה GRANT:
נכנסים לדף BigQuery במסוף Cloud de Confiance .
בעורך השאילתות, מזינים את ההצהרה הבאה:
GRANT `roles/aiplatform.user` ON PROJECT `PROJECT_ID` TO "connection:CONNECTION_NAME";
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו אתם מתכננים להשתמש ב-Agent Platform. -
CONNECTION_NAME: שם החיבור בפורמטPROJECT_ID.LOCATION.CONNECTION_IDאוLOCATION.CONNECTION_ID. אם לא מציינים את הפרויקט, הוא נגזר מהפרויקט שבו מריצים את ההצהרה.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
gcloud
משתמשים בפקודה gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:$(bq show --format=prettyjson --connection $PROJECT_ID.$REGION.$CONNECTION_ID | jq -r .cloudResource.serviceAccountId)" --role=roles/aiplatform.user
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: שם הפרויקט. -
REGION: המיקום שבו נוצר החיבור. -
CONNECTION_ID: שם החיבור שיצרתם.
Terraform
משתמשים במשאב google_bigquery_connection.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה, מקצים גישה לתפקיד IAM לחשבון השירות של הקישור למשאבים ב-Cloud:
כך מחילים את ההגדרות של Terraform בפרויקט ב- Cloud de Confiance :
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל ב- Cloud de Confiance שבו רוצים להחיל את ההגדרות של Terraform.
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את הפרויקט ב- Cloud de Confiance כדי להציג את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.