במאמר הזה מוסבר איך להעביר את הנציגים וספקי האימות שפרסתם מ-IAM Connectors API הקודם (iamconnectors.googleapis.com) ל-Agent Identity API החדש (agentidentity.googleapis.com).
שני ממשקי ה-API פועלים זה לצד זה במהלך תקופת ההעברה של גרסת טרום-השקה (Preview), וכך אתם יכולים להעביר את עומסי העבודה בלי להפריע לשיחות הקיימות של הנציגים.
תהליך ההעברה כולל את המשימות הבאות:
- הפעלת Agent Identity API
- עדכון מדיניות ההרשאות של IAM
- עדכון קוד הנציג וערכות ה-SDK
- השבתת ה-API הקודם
הפעלת Agent Identity API
כדי להתחיל את המיגרציה, צריך להפעיל את Agent Identity API החדש בפרויקט.
מפעילים את Agent Identity API, אם הוא עדיין לא מופעל.
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
כשמפעילים את Agent Identity API, הדף Agent Registry במסוףCloud de Confiance עובר ל-API החדש כדי לקרוא ולכתוב משאבים:
אין צורך ליצור מחדש את ספקי האימות. ה-API החדש משקף כל ספק אימות מדור קודם (לדוגמה,
projects/PROJECT_ID/locations/LOCATION/connectors/AUTH_PROVIDER_NAME) כמשאבauthProviders(projects/PROJECT_ID/locations/LOCATION/authProviders/AUTH_PROVIDER_NAME).ספק אימות שאתם יוצרים באמצעות מסוף Cloud de Confiance , ה-CLI של gcloud או ה-API בארכיטקטורת REST מופיע כמשאב
authProviders/ולא גלוי ב-API הקודם.הסוכנים הפעילים שמשתמשים במחרוזות
connectors/מדור קודם ממשיכים לפעול במהלך חלון ההעברה.
עדכון מדיניות ההרשאות של IAM
מקצים את תפקידי ה-IAM החדשים במשאבים של ספק האימות המשוכפל, כדי שהסוכנים יוכלו לאחזר את פרטי הכניסה מנקודות קצה ל-API החדשות.
לדוגמה, אם הקציתם את התפקיד Connector User (roles/iamconnectors.user) למזהה ה-SPIFFE של הנציג במשאב connectors/AUTH_PROVIDER_NAME הקודם, הקצו את התפקיד Agent Identity User (roles/agentidentity.user) במשאב authProviders/AUTH_PROVIDER_NAME החדש:
gcloud agent-identity auth-providers add-iam-policy-binding \ AUTH_PROVIDER_NAME \ --project="PROJECT_ID" \ --location="LOCATION" \ --role="roles/agentidentity.user" \ --member="principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/ENGINE_ID"
אם אתם בודקים את הנציג באופן מקומי באמצעות adk web, תנו את ההרשאה roles/agentidentity.user לחשבון המשתמש האישי שלכם (user:USER_EMAIL).
עדכון קוד הסוכן וערכות ה-SDK
מעדכנים את קוד הסוכן כך שיפנה להיררכיית המשאבים ולנקודות הקצה החדשות של authProviders/:
מעדכנים את גרסת ה-ADK בקוד של הנציג לגרסה 2.3.0 ואילך.
בקוד של הנציג (לדוגמה,
agent.py), מחליפים אתconnectors/ב-authProviders/במחרוזת המשאבGcpAuthProviderScheme.הגדרה מדור קודם:
auth_scheme = GcpAuthProviderScheme( name="projects/PROJECT_ID/locations/LOCATION/connectors/AUTH_PROVIDER_NAME" )
הגדרה חדשה:
auth_scheme = GcpAuthProviderScheme( name="projects/PROJECT_ID/locations/LOCATION/authProviders/AUTH_PROVIDER_NAME" )
OAuth עם 3 רגליים בלבד: אם הסוכן קורא ישירות ל-API בארכיטקטורת REST, צריך לעדכן את שם המארח של נקודת הקצה מ-
iamconnectorcredentials.googleapis.comל-agentidentitycredentials.googleapis.com, ולהחליף אתconnectors/ב-authProviders/בנתיב הבקשה.רק ב-OAuth תלת-רגלי: בשרת האימות של ממשק המשתמש (לדוגמה,
main.py), מעדכנים את כתובת ה-URL של נקודת הקצה (FinalizeCredentials) ל-https://agentidentitycredentials.googleapis.com/v1. בנוסף, קוראים את הערך שלauth_provider_nameמהבקשה הנכנסת ומגדירים אותו בתור השדהauth_providerבגוף הבקשה שלFinalizeCredentials.
השבתת ה-API הקודם
אחרי שמעדכנים את כללי מדיניות ההרשאה של IAM ופורסים את קוד הסוכן, צריך לוודא שהסוכן מאמת ומאחזר את פרטי הכניסה באמצעות ה-API החדש.
אחרי שמעבירים את כל תהליכי העבודה הפעילים, משביתים את השירות הקודם בפרויקט:
gcloud services disable iamconnectors.googleapis.com \
--project="PROJECT_ID"