הדף הזה מיועד למפתחי אפליקציות בקבוצות של מפעילי אפליקציות, שאחראים להגדיר את סביבות הפיתוח והאפליקציות שלהם כדי להפעיל תכונות מבוססות-AI. מידע נוסף זמין במאמר קהלי היעד של מסמכי התיעוד של GDC עם air gap.
לפני שמתחילים
כדי לאמת בקשות API ולהגדיר חשבונות שירות, צריך לבקש מהאדמין את ההרשאות הנדרשות. חשוב גם לוודא שהפרויקט מוגדר ל-Vertex AI. מידע נוסף זמין במאמר הגדרת פרויקט ל-Vertex AI.
- חשוב לעדכן את מאגר האישורים המקומי לפני שמגדירים אימות בסביבת הפיתוח.
בקשת תפקידים ב-IAM
כדי לבקש את התפקידים הבאים במרחב השמות של הפרויקט, פנו לאדמין של הפרויקט ב-IAM:
- אדמין IAM בפרויקט (
project-iam-admin): יצירת חשבונות שירות וניהול של קישורי תפקידים במרחב השמות של הפרויקט. - AI OCR Developer (
ai-ocr-developer): אימות בקשות ל-OCR API. - מפתח AI Speech (
ai-speech-developer): אימות בקשות ל-Speech-to-Text API. - מפתח הטמעת טקסט ב-AI (
ai-text-embedding-developer): אימות בקשות למודלText-Embedding-Gecko. - AI Text Embedding Multilingual Developer (
ai-text-embedding-multilingual-developer): אימות בקשות למודלText-Multilingual-Embedding. - מפתח AI Translation (
ai-translation-developer): אימות בקשות ל-Vertex AI Translation API. - משתמש ב-Vertex AI Prediction (
vertex-ai-prediction-user): אימות בקשות חיזוי למודלים של חיזוי אונליין.
מידע נוסף על התפקידים האלה זמין במאמר הכנת הרשאות IAM.
אימות לשירותי Vertex AI
האינטראקציות עם שירותי Vertex AI מתבצעות באמצעות אסימוני אימות. אסימונים הם אובייקטים דיגיטליים שמאמתים את הזהות וההרשאה שלכם אחרי שאתם מספקים פרטי כניסה תקינים. האסימון מכיל מידע ספציפי על החשבון שלכם ועל ההרשאות שיש לו לגשת לשירותים ולמשאבים ולפעול איתם.
יש שתי דרכים להגדיר אימות:
אימות באמצעות חשבון המשתמש
כך מקבלים אסימון אימות לחשבון המשתמש:
שימו לב לנקודת הקצה של ה-API שבו אתם רוצים להשתמש.
כדי לקבל גישה לשירות Vertex AI או למודל ה-AI הגנרטיבי שבו רוצים להשתמש, צריך להקצות לחשבון המשתמש את התפקיד המתאים שמפורט בקטע הכנת הרשאות IAM.
נכנסים ל-Distributed Cloud באמצעות חשבון המשתמש שדרכו אתם צריכים לעבוד עם ה-API:
gdcloud auth loginמקבלים את טוקן האימות:
gdcloud auth print-identity-token --audiences=https://ENDPOINTמחליפים את
ENDPOINTבנקודת הקצה ל-API שבה משתמשים בארגון. למידע נוסף על סטטוס השירות ונקודות הקצהבהתאם לשימוש המיועד באסימון האימות, יכול להיות שתצטרכו לכלול את היציאה אחרי נקודת הקצה של השירות בנתיב הקהלים, באופן הבא:
- אם אתם משתמשים בספריית לקוח לבקשה, אתם צריכים לכלול את היציאה
:443אחרי נקודת הקצה של השירות בנתיב הקהלים. לכן, הנתיב--audiencesבפקודה חייב להיותhttps://ENDPOINT:443. - אם אתם משתמשים ב-gRPC, ב-
curlאו בקריאות REST פרוגרמטיות לבקשה, אל תכללו את היציאה. לכן, הנתיב--audiencesבפקודה חייב להיותhttps://ENDPOINT.
הפלט מציג את אסימון האימות. מוסיפים את הטוקן לכותרת של הבקשות ששולחים בשורת הפקודה, כמו בדוגמה הבאה:
-H "Authorization: Bearer TOKEN"מחליפים את
TOKENבערך של אסימון האימות שמוצג בפלט.- אם אתם משתמשים בספריית לקוח לבקשה, אתם צריכים לכלול את היציאה
אימות באמצעות חשבון השירות
כך מקבלים אסימון אימות לחשבון השירות:
שימו לב לנקודת הקצה של ה-API שבו אתם רוצים להשתמש.
מגדירים את חשבון השירות שבו רוצים להשתמש כדי לגשת לשירות Vertex AI או למודל ה-AI הגנרטיבי.
כדי לתת לחשבון השירות גישה לשירות או למודל שבו רוצים להשתמש, מקצים לו את התפקיד המתאים שמפורט בקטע הכנת הרשאות IAM.
מגדירים את משתנה הסביבה הבא:
export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_KEYמחליפים את
PATH_TO_SERVICE_KEYבנתיב לקובץ ה-JSON שמכיל את זוגות המפתחות של חשבון השירות.מתקינים את ספריית הלקוח של
google-auth:pip install google-authמוסיפים את הקוד הבא לסקריפט Python:
import os import google.auth from google.auth.transport import requests import requests as reqs os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "PATH_TO_SERVICE_KEY" os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "CERT_NAME" # If you use a client library for your request, # you must include port :443 after the service endpoint # in the audience path. audience = "https://ENDPOINT" creds, project_id = google.auth.default() print(project_id) creds = creds.with_gdch_audience(audience) def test_get_token(): sesh = reqs.Session() req = requests.Request(session=sesh) creds.refresh(req) print(creds.token) if __name__=="__main__": test_get_token()מחליפים את מה שכתוב בשדות הבאים:
-
PATH_TO_SERVICE_KEY: הנתיב לקובץ ה-JSON שמכיל את זוגות המפתחות של חשבון השירות. -
CERT_NAME: השם של קובץ האישור של רשות האישורים (CA), למשלorg-1-trust-bundle-ca.cert. הערך הזה נדרש רק אם אתם נמצאים בסביבת פיתוח. אחרת, משמיטים אותו.
ENDPOINT: נקודת הקצה ל-API שמשמשת את הארגון. למידע נוסף על סטטוס השירות ונקודות הקצה בהתאם לשימוש המיועד באסימון האימות, יכול להיות שתצטרכו לכלול את היציאה אחרי נקודת הקצה של השירות בנתיב הקהל, באופן הבא:- אם אתם משתמשים בספריית לקוח לבקשה, אתם צריכים לכלול את היציאה
:443אחרי נקודת הקצה של השירות בנתיב הקהל. לכן, הנתיב שלaudienceבסקריפט חייב להיות"https://ENDPOINT:443". - אם אתם משתמשים ב-gRPC, ב-
curlאו בקריאות REST פרוגרמטיות לבקשה, אל תכללו את היציאה. לכן, הנתיב שלaudienceבסקריפט חייב להיות"https://ENDPOINT".
- אם אתם משתמשים בספריית לקוח לבקשה, אתם צריכים לכלול את היציאה
-
שומרים את הסקריפט של Python.
מריצים את הסקריפט של Python כדי לאחזר את האסימון:
python SCRIPT_NAMEמחליפים את
SCRIPT_NAMEבשם שנתתם לסקריפט Python, למשלtoken.py.הפלט מציג את אסימון האימות. מוסיפים את הטוקן לכותרת של הבקשות ששולחים בשורת הפקודה, כמו בדוגמה הבאה:
-H "Authorization: Bearer TOKEN"מחליפים את
TOKENבערך של אסימון האימות שמוצג בפלט.