1. परिचय
इस कोडलैब में, Agent Development Kit (ADK), Agent Engine, और Google Kubernetes Engine का इस्तेमाल करके, एक एजेंट या कई टूल को सुरक्षित तरीके से डिप्लॉय करने का तरीका बताया गया है. आपको यह जानकारी मिलेगी कि Gemini Enterprise में उपयोगकर्ता की ओर से शुरू किया गया एआई एजेंट, Google Cloud को सुरक्षित तरीके से कैसे नेविगेट करता है. यह एमसीपी टूल के जवाबों से संवेदनशील डेटा को हटाने के लिए, सर्विस एक्सटेंशन के साथ GKE Gateway पर निर्भर करता है.
आपको ये सब सीखने को मिलेगा
- OpenTelemetry इंस्ट्रूमेंटेशन की मदद से, ADK मॉर्गेज असिस्टेंट एजेंट को Agent Engine पर डिप्लॉय करना
- इंटरनल गेटवे के पीछे, बैकएंड एमसीपी सर्वर को Google Kubernetes Engine (GKE) पर डिप्लॉय करना
- पीएससी इंटरफ़ेस और डीएनएस पीयरिंग का इस्तेमाल करके, Agent Engine को किसी प्रोजेक्ट वीपीसी से कनेक्ट करना
- Apigee MCP Discovery Proxy का इस्तेमाल करके, REST API को MCP टूल के तौर पर दिखाएं
- DLP के लिए डेटा छिपाने और एमसीपी की अनुमति देने के लिए, सेवा एक्सटेंशन के साथ एजेंट के डेटा को सुरक्षित तरीके से बाहर भेजने के लिए, GKE गेटवे को कॉन्फ़िगर करना
- प्रॉम्प्ट और जवाब की जांच करने के लिए, Model Armor की मदद से एआई से जुड़ी पाबंदियां लागू करना
आपको इन चीज़ों की ज़रूरत पड़ेगी
- कोई वेब ब्राउज़र, जैसे कि Chrome
- बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट
- Terraform, Kubernetes, और Python की बुनियादी जानकारी
यह कोडलैब उन डेवलपर और सुरक्षा विशेषज्ञों के लिए है जो एंटरप्राइज़ एनवायरमेंट में एजेंटिक वर्कफ़्लो को डिप्लॉय और सुरक्षित करना चाहते हैं.
2. शुरू करने से पहले
Google Cloud प्रोजेक्ट बनाएं और ज़रूरी एपीआई चालू करें.
- Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर जाकर Google Cloud प्रोजेक्ट चुनें या बनाएं.
- पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग चालू हो. यह देखने का तरीका जानें कि किसी प्रोजेक्ट के लिए बिलिंग चालू है या नहीं.
ज़रूरी IAM भूमिकाएं
इस कोडलैब में यह माना गया है कि आपके पास अपने Google Cloud प्रोजेक्ट के लिए, प्रोजेक्ट के मालिक की भूमिका है.
एपीआई चालू करें
- Google Cloud Console में, Cloud Shell चालू करें पर क्लिक करें: अगर आपने पहले कभी Cloud Shell का इस्तेमाल नहीं किया है, तो आपको एक पैनल दिखेगा. इसमें आपको Cloud Shell को भरोसेमंद एनवायरमेंट में, बूस्ट के साथ या उसके बिना शुरू करने का विकल्प मिलेगा. अगर आपसे Cloud Shell को अनुमति देने के लिए कहा जाता है, तो अनुमति दें पर क्लिक करें.
- Cloud Shell में, सभी ज़रूरी एपीआई चालू करें:
gcloud services enable \ compute.googleapis.com \ container.googleapis.com \ dns.googleapis.com \ certificatemanager.googleapis.com \ dlp.googleapis.com \ aiplatform.googleapis.com \ discoveryengine.googleapis.com \ apigee.googleapis.com
डिपेंडेंसी इंस्टॉल करना
Cloud Shell में, पक्का करें कि आपने ज़रूरी टूल इंस्टॉल किए हों. आम तौर पर, Terraform, kubectl, और Go पहले से इंस्टॉल होते हैं. आपको uv (Python पैकेज मैनेजर) और Skaffold इंस्टॉल करना होगा:
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install Skaffold
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64 && \
sudo install skaffold /usr/local/bin/
एनवायरमेंट वैरिएबल सेट करना
इस कोडलैब में इस्तेमाल किए गए इन एनवायरमेंट वैरिएबल को सेट करें:
export PROJECT_ID=$(gcloud config get project)
export REGION=us-central1
export LOCATION=${REGION}
सार्वजनिक डीएनएस ज़ोन बनाना
इस कोडलैब के लिए, Terraform कॉन्फ़िगरेशन लागू करने से पहले, आपके प्रोजेक्ट में एक सार्वजनिक डीएनएस ज़ोन मौजूद होना चाहिए. नेमसर्वर डेलिगेशन के लिए इस ज़ोन की ज़रूरत होती है, ताकि सेटअप Certificate Manager के लिए ज़रूरी रिकॉर्ड अपने-आप बना सके.
ज़ोन बनाने के लिए, Cloud Shell में यह कमांड चलाएं:
gcloud dns managed-zones create "inference-gateway-zone" \
--dns-name="gateway.example.com." \
--description="Public zone for Inference Gateway" \
--visibility="public" \
--project="${PROJECT_ID}"
3. GitHub रिपॉज़िटरी को क्लोन करना
- अपनी लोकल मशीन पर मौजूद टर्मिनल में,
cloud-networking-solutionsरिपॉज़िटरी को क्लोन करें:git clone https://github.com/googleCloudPlatform/cloud-networking-solutions.git - डाउनलोड की गई रिपॉज़िटरी डायरेक्ट्री पर जाएं:
cd cloud-networking-solutions/demos/service-extensions-gke-gateway
4. Terraform की मदद से इन्फ़्रास्ट्रक्चर डिप्लॉय करना
आपको बुनियादी नेटवर्क, GKE क्लस्टर, और ज़रूरी पहचान कॉन्फ़िगरेशन को चालू करने के लिए, Terraform का इस्तेमाल करना होगा.
- क्लोन किए गए डेटा संग्रह स्थान में मौजूद
terraformडायरेक्ट्री पर जाएं:cd terraform - Terraform बैकएंड को कॉन्फ़िगर करें. बैकएंड के कुछ हिस्से को कॉन्फ़िगर करने के लिए,
backend.confफ़ाइल बनाएं.को किसी ऐसे बकेट के नाम से बदलें जो दुनिया भर में यूनीक हो.cat <<EOF > backend.conf bucket = "<YOUR_TERRAFORM_STATE_BUCKET>" prefix = "terraform" EOF
- वैरिएबल फ़ाइल के उदाहरण को कॉपी करें और उसे अपने प्रोजेक्ट की वैल्यू के साथ अपडेट करें:
cp example.tfvars terraform.tfvars terraform.tfvarsमें बदलाव करें और प्लेसहोल्डर वैल्यू बदलें.इनकी जगह ये डालें:- project_id: यह आपके Google Cloud प्रोजेक्ट का आईडी होता है.
- organization_id: आपका अंकों वाला GCP संगठन आईडी.
- dns_zone_domain: वह डोमेन जिसे कंट्रोल करने का अधिकार आपके पास है (जैसे,
demo.example.com.). इसके आखिर में एक बिंदु होना चाहिए.
enable_certificate_manager = trueenable_model_armor = trueenable_agent_engine = trueenable_psc_interface = true
- Terraform कॉन्फ़िगरेशन को शुरू करें और लागू करें:
terraform init -backend-config=backend.conf terraform plan -out=tfplan terraform apply "tfplan"
5. Skaffold की मदद से, सैंपल वर्कलोड डिप्लॉय करना
इसके बाद, एमसीपी सर्वर और बाहरी प्रोसेसिंग की सेवाओं को अपने GKE क्लस्टर में डिप्लॉय करें.
- Terraform की मदद से बनाए गए GKE क्लस्टर से कनेक्ट करें:
gcloud container clusters get-credentials gateway-cluster \ --region=${REGION} \ --project=${PROJECT_ID} - प्रोजेक्ट रूट पर वापस जाएं और Kubernetes मेनिफ़ेस्ट टेंप्लेट कॉन्फ़िगर करें. कॉन्फ़िगरेशन के उदाहरण को कॉपी करें और अपना प्रोजेक्ट आईडी और बेस डोमेन सेट करें:अपने एनवायरमेंट से मैच करने के लिए,
BASE_DOMAINसेट करें.BASE_DOMAIN, आपकेdns_zone_domainTerraform वैरिएबल से मेल खाना चाहिए. इसमें आखिर में बिंदु नहीं होना चाहिए.export BASE_DOMAIN=example.com - टेंप्लेट से Kubernetes मेनिफ़ेस्ट और
skaffold.yamlजनरेट करें:bash k8s/generate.sh envsubst '${PROJECT_ID}' < skaffold.yaml.tmpl > skaffold.yaml - सभी बैकएंड सेवाओं को डिप्लॉय करें:
skaffold run -m legacy-dms,income-verification-api,corporate-email,dlp-ext-proc - गेटवे और HTTPRoute कॉन्फ़िगरेशन डिप्लॉय करें:
kubectl apply -k k8s/gateway-internal/
6. Model Armor की मदद से, एआई के लिए सुरक्षा दिशा-निर्देश लागू करना
कॉन्टेंट की सुरक्षा से जुड़े फ़ैसले लेने का काम, Model Armor को सौंपा जा सकता है. जैसे, नुकसान पहुंचाने वाले प्रॉम्प्ट हटाना या डेटा लीक होने से रोकना.
ज़रूरी शर्तें: IAM की भूमिकाएं असाइन करना
आपको GKE Gateway सेवा खाते को ज़रूरी भूमिकाएं असाइन करनी होंगी. सेवा खाता इस फ़ॉर्मैट में होता है: service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com.
ज़रूरी अनुमतियां देने के लिए, ये कमांड चलाएं:
export GATEWAY_PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
# Grant roles in the Gateway project
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member=serviceAccount:service-${GATEWAY_PROJECT_NUMBER}@gcp-sa-dep.iam.gserviceaccount.com \
--role=roles/modelarmor.calloutUser
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member=serviceAccount:service-${GATEWAY_PROJECT_NUMBER}@gcp-sa-dep.iam.gserviceaccount.com \
--role=roles/serviceusage.serviceUsageConsumer
# Grant role in the project containing Model Armor templates
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member=serviceAccount:service-${GATEWAY_PROJECT_NUMBER}@gcp-sa-dep.iam.gserviceaccount.com \
--role=roles/modelarmor.user
Model Armor Authorization Extension बनाना
ऐसा एक्सटेंशन तय करें जो आपके इलाके में Model Armor सेवा की ओर ले जाता हो. इस कॉन्फ़िगरेशन को ma-content-authz-extension.yaml के तौर पर सेव करें.
Terraform से बनाए गए Model Armor टेंप्लेट आईडी को एक्सपोर्ट करें.
export MA_TEMPLATE_ID=$(cd terraform && terraform output -raw model_armor_template_id)
cat >ma-content-authz-extension.yaml <<EOF
name: ma-ext
service: modelarmor.$LOCATION.rep.googleapis.com
metadata:
model_armor_settings: '[
{
"response_template_id": "projects/${PROJECT_ID}/locations/$LOCATION/templates/${MA_TEMPLATE_ID}",
"request_template_id": "projects/${PROJECT_ID}/locations/$LOCATION/templates/${MA_TEMPLATE_ID}"
}
]'
failOpen: true
EOF
gcloud beta service-extensions authz-extensions import ma-ext \
--source=ma-content-authz-extension.yaml \
--location=$LOCATION
Model Armor की अनुमति देने वाली नीति बनाना
ऐसी नीति बनाएं जो Model Armor एक्सटेंशन को आपके एजेंट गेटवे से जोड़ती हो. इस कॉन्फ़िगरेशन को ma-content-authz-policy.yaml के तौर पर सेव करें.
cat >ma-content-authz-policy.yaml <<EOF
name: ma-content-authz-policy
target:
resources:
- "projects/$PROJECT_ID/locations/$LOCATION/gateways/mortgage-gateway"
policyProfile: CONTENT_AUTHZ
action: CUSTOM
customProvider:
authzExtension:
resources:
- "projects/$PROJECT_ID/locations/$LOCATION/authzExtensions/ma-ext"
EOF
gcloud network-security authz-policies import ma-content-authz-policy \
--source=ma-content-authz-policy.yaml \
--location=$LOCATION
7. Gemini Enterprise को कॉन्फ़िगर करना
निगरानी की सुविधा चालू करना
मॉर्गेज एजेंट को OpenTelemetry इंस्ट्रूमेंटेशन के साथ डिप्लॉय किया जाता है. साथ ही, टेलीमेट्री के ये एनवायरमेंट वैरिएबल डिफ़ॉल्ट रूप से चालू होते हैं:
GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY=trueOTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=trueOTEL_TRACES_SAMPLER=parentbased_traceidratio
Gemini Enterprise में ट्रेस और स्पैन कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, निगरानी से जुड़ी सेटिंग मैनेज करना लेख पढ़ें.
Gemini Enterprise में Model Armor की सुविधा चालू करना
Gemini Enterprise assistant पर Model Armor फ़िल्टरिंग लागू करें, ताकि उपयोगकर्ता के प्रॉम्प्ट और मॉडल के जवाब, दोनों की जांच की जा सके. Gemini Enterprise के ग्लोबल ऐप्लिकेशन के लिए, us मल्टी-रीजन में Model Armor टेंप्लेट की ज़रूरत होती है. इसलिए, Terraform इसके लिए एक अलग टेंप्लेट डिप्लॉय करता है.
Terraform आउटपुट से टेंप्लेट का नाम वापस पाएं:
cd terraform
export GE_MA_TEMPLATE_NAME=$(terraform output -raw model_armor_gemini_enterprise_template_name)
Gemini Enterprise इंस्टेंस का ऐप्लिकेशन आईडी फ़ेच करें:
- Google Cloud Console में, Gemini Enterprise पेज पर जाएं.
- नेविगेशन मेन्यू में जाकर, ऐप्लिकेशन पर क्लिक करें.
- Gemini Enterprise इंस्टेंस का आईडी कॉपी करना
आईडी को एनवायरमेंट वैरिएबल के तौर पर एक्सपोर्ट करें.
export APP_ID=<PASTE_APP_ID>
Model Armor की सुविधा चालू करने के लिए, Assistant को पैच करें:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: ${PROJECT_ID}" \
"https://global-discoveryengine.googleapis.com/v1/projects/${PROJECT_ID}/locations/global/collections/default_collection/engines/${APP_ID}/assistants/default_assistant?update_mask=customerPolicy" \
-d '{
"customerPolicy": {
"modelArmorConfig": {
"userPromptTemplate": "'"$GE_MA_TEMPLATE_NAME"'",
"responseTemplate": "'"$GE_MA_TEMPLATE_NAME"'",
"failureMode": "FAIL_OPEN"
}
}
}'
अगर मॉडल आर्मर उपलब्ध नहीं है, तो अनुरोधों को अनुमति देने के लिए failureMode को FAIL_OPEN पर सेट करें या उन्हें ब्लॉक करने के लिए FAIL_CLOSED पर सेट करें.
8. Gemini Enterprise में एजेंट को डिप्लॉय करना और एजेंट जोड़ना
अनुमति के बारे में जानकारी पाना
अनुमति की जानकारी पाने के लिए, यह तरीका अपनाएं.
- Google Cloud Console में, 'एपीआई और सेवाएं' पेज पर, क्रेडेंशियल पेज पर जाएं.
- क्रेडेंशियल पर जाएं
- क्रेडेंशियल बनाएं पर क्लिक करें और OAuth क्लाइंट आईडी चुनें.
- ऐप्लिकेशन टाइप में जाकर, वेब ऐप्लिकेशन चुनें.
- 'अनुमति वाले रीडायरेक्ट यूआरआई' सेक्शन में, ये यूआरआई जोड़ें:
- https://vertexaisearch.cloud.google.com/oauth-redirect
- https://vertexaisearch.cloud.google.com/static/oauth/oauth.html
- 'बनाएं' पर क्लिक करें.
- डिप्लॉयमेंट के लिए क्लाइंट आईडी और क्लाइंट सीक्रेट एक्सपोर्ट करें.
export OAUTH_CLIENT_ID=<Client ID>
export OAUTH_CLIENT_SECRET=<Client Secret>
मॉर्गेज एजेंट को डिप्लॉय करना
src/mortgage-agent/deploy_agent.py स्क्रिप्ट, ADK एजेंट को Agent Engine पर डिप्लॉय करती है. साथ ही, इसे Gemini Enterprise में रजिस्टर करने का विकल्प भी देती है. Gemini Enterprise के रजिस्ट्रेशन फ़्लो के बारे में ज़्यादा जानने के लिए, A2A एजेंट को रजिस्टर और मैनेज करना लेख पढ़ें.
Terraform डिप्लॉयमेंट से वैरिएबल एक्सपोर्ट करें.
export VPC_NAME=$(cd terraform && terraform output -raw vpc_name)
export PSC_ATTACHMENT=$(cd terraform && terraform output -raw psc_interface_network_attachment_id)
export DNS_PEERING_DOMAIN=$(cd terraform && terraform output -raw psc_interface_dns_peering_domain)
डिपेंडेंसी इंस्टॉल करें और डिप्लॉय करें:
cd src/mortgage-agent
uv sync
एजेंट को Vertex Agent Engine पर डिप्लॉय करें और Gemini Enterprise में रजिस्टर करें:
uv run python deploy_agent.py \
--project=${PROJECT_ID} \
--dms-mcp-url=https://dms.${DNS_PEERING_DOMAIN%%.}/mcp \
--income-verification-url=https://income-verification.${DNS_PEERING_DOMAIN%%.} \
--email-mcp-url=https://email.${DNS_PEERING_DOMAIN%%.}/mcp \
--network-attachment=projects/${PROJECT_ID}/regions/${REGION}/networkAttachments/${PSC_ATTACHMENT} \
--dns-peering-domain=${DNS_PEERING_DOMAIN} \
--dns-peering-target-project=${PROJECT_ID} \
--dns-peering-target-network=${VPC_NAME} \
--enable-agent-identity \
--ge-deploy \
--app-id=${APP_ID} \
--oauth-client-id=${OAUTH_CLIENT_ID} \
--agent-name=mortgage-agent
रेफ़रंस फ़्लैग करना
झंडा | डिफ़ॉल्ट | ब्यौरा |
|
| GCP प्रोजेक्ट का आईडी |
| (ज़रूरी) | डीएमएस एमसीपी सर्वर का यूआरएल |
| (ज़रूरी) | आय की पुष्टि करने वाले एपीआई का बेस यूआरएल; |
| (ज़रूरी) | एमसीपी सर्वर का ईमेल यूआरएल |
|
| GCP क्षेत्र |
|
| स्टेजिंग के लिए GCS बकेट |
|
| डिप्लॉय किए गए एजेंट का डिसप्ले नेम |
| (ज़रूरी नहीं) | किसी मौजूदा एजेंट को उसकी जगह पर अपडेट करना (पूरा संसाधन नाम पास करें) |
| (ज़रूरी नहीं) | पीएससी इंटरफ़ेस के लिए नेटवर्क अटैचमेंट (पूरा पाथ या नाम) |
| (ज़रूरी नहीं) | PSC-I के लिए डीएनएस डोमेन, डीएनएस पियरिंग (इसके आखिर में डॉट होना चाहिए) |
| (ज़रूरी नहीं) | डीएनएस पीयरिंग के लिए टारगेट वीपीसी नेटवर्क को होस्ट करने वाला प्रोजेक्ट |
| (ज़रूरी नहीं) | डीएनएस पीयरिंग के लिए वीपीसी नेटवर्क का नाम |
|
| हर एजेंट के लिए, कम से कम विशेषाधिकार वाले क्रेडेंशियल चालू करें |
|
| डिप्लॉय करने के बाद, Gemini Enterprise में एजेंट को रजिस्टर करना |
| (ज़रूरी नहीं) | Gemini Enterprise इंजन आईडी ( |
|
| OAuth2 क्लाइंट आईडी ( |
|
| OAuth2 क्लाइंट सीक्रेट ( |
|
| एजेंट के लिए Gemini मॉडल का नाम |
|
| Gemini Enterprise के लिए अनुमति और एजेंट का नाम |
| (ज़रूरी नहीं) | Gemini Enterprise में, किसी मौजूदा रीज़निंग इंजन को फिर से डिप्लॉय किए बिना रजिस्टर करें (पूरा संसाधन नाम पास करें) |
अनुमति वाले उपयोगकर्ताओं को जोड़ना
Google Cloud Console का इस्तेमाल करके, अनुमति वाले उपयोगकर्ताओं को ADK एजेंट में जोड़ने के लिए, उपयोगकर्ताओं और उनकी अनुमतियों को जोड़ना या उनमें बदलाव करना लेख पढ़ें.
9. अपने एजेंट को टेस्ट करना
अब जब आपने एजेंट, GKE गेटवे, और सभी बैकएंड सेवाओं को डिप्लॉय और कॉन्फ़िगर कर लिया है, तो एंड-टू-एंड फ़्लो को टेस्ट करें. इससे यह पुष्टि की जा सकेगी कि सुरक्षा नीतियां आपकी उम्मीद के मुताबिक काम कर रही हैं. Gemini Enterprise के इंटरफ़ेस में, "mortgage-agent" से बातचीत की जा सकेगी.
एजेंट को ऐक्सेस करना
- Google Cloud Console में Gemini Enterprise पेज पर जाएं.
- पहले से कॉन्फ़िगर किया गया Gemini Enterprise ऐप्लिकेशन चुनें. इसमें "mortgage-agent" रजिस्टर किया गया है.
- खास जानकारी वाले टैब पर, "Gemini Enterprise का वेब ऐप्लिकेशन तैयार है" सेक्शन में दिखाए गए यूआरएल पर जाएं.
- बाईं ओर मौजूद मेन्यू में, एजेंट टैब चुनें. इस मेन्यू को एजेंट गैलरी कहा जाता है
- अब "मॉर्गेज असिस्टेंट एजेंट" से चैट की जा सकती है.
टेस्ट केस 1: "हैप्पी पाथ" - व्यक्तिगत पहचान से जुड़ी जानकारी हटाने की सुविधा के साथ डेटा की खास जानकारी जनरेट करना
इस टेस्ट से यह पुष्टि की जाती है कि एजेंट, एजेंट गेटवे के ज़रिए बैकएंड सिस्टम को ऐक्सेस कर सकता है. साथ ही, संवेदनशील जानकारी को छिपाने के लिए डेटा लीक होने की रोकथाम (डीएलपी) की नीतियां लागू की जाती हैं.
- मॉर्टगेज असिस्टेंट एजेंट को यह प्रॉम्प्ट भेजें:
I'm reviewing the Sterling family's current application. Can you summarize their 2024 and 2025 tax returns and verify if their total household income meets our 2026 debt-to-income requirements? - बिहाइंड द सीन:
- Gemini Enterprise में मौजूद एजेंट, ज़रूरी टूल के लिए अनुरोध तैयार करता है. जैसे, टैक्स रिटर्न के लिए दस्तावेज़ मैनेजमेंट सिस्टम (डीएमएस) और आय की पुष्टि करने वाला एपीआई.
- Model Armor, अनुरोध और जवाब के पेलोड की जांच करके खतरों का पता लगाता है.
- आपने "कॉन्टेंट के आधार पर अनुमति देने से जुड़ी नीति" को कॉन्फ़िगर किया है. इससे कस्टम डीएलपी एक्सटेंशन (�). ट्रिगर होता है. यह एक्सटेंशन, बैकएंड सिस्टम से फ़ेच किए गए डेटा की जांच करता है.
dlp-content-authz-ext - डेटा लॉस प्रिवेंशन (डीएलपी) सेवा, टैक्स रिटर्न के डेटा में मौजूद व्यक्तिगत पहचान से जुड़ी किसी भी जानकारी (पीआईआई) को एजेंट तक पहुंचने से पहले छिपा देती है. जैसे, सोशल सिक्योरिटी नंबर (एसएसएन).
- संभावित नतीजा: एजेंट, टैक्स रिटर्न की खास जानकारी और आय की पुष्टि की स्थिति दिखाएगा. एजेंट से मिली जानकारी की बारीकी से जांच करें. आपको यह देखना चाहिए कि टैक्सपेयर आईडी (एसएसएन) जैसी संवेदनशील जानकारी को प्लेसहोल्डर (जैसे,
[REDACTED]) से बदल दिया गया हो. इससे पुष्टि होती है कि गेटवे के ज़रिए डीएलपी नीति लागू की गई है.
ऑब्ज़र्वअबिलिटी और ऑडिटिंग
इन सभी टेस्ट के दौरान, एजेंट प्लैटफ़ॉर्म और उससे जुड़ी सेवाएं टेलीमेट्री डेटा इकट्ठा करती हैं:
- Cloud Logging: GKE Gateway, GKE वर्कलोड, और अन्य सेवाओं से मिले लॉग में अनुरोधों, नीति के आकलन, और नतीजों की पूरी जानकारी होती है.
- Cloud Trace: एजेंट और बैकएंड सेवाओं में कॉन्फ़िगर किया गया OpenTelemetry इंस्ट्रूमेंटेशन, आपको पूरे कॉल फ़्लो को विज़ुअलाइज़ करने की सुविधा देता है. यह फ़्लो, Gemini Enterprise से शुरू होकर GKE Gateway और फिर बैकएंड टूल तक जाता है. यह अनुरोध के लाइफ़साइकल को डीबग करने और समझने के लिए बहुत ज़रूरी है.
अपने सेशन के लिए ट्रेस देखें:
- Google Cloud Console में, Vertex AI Agent Engine पेज पर जाएं.
- एजेंट इंजन पर जाएं. चुने गए प्रोजेक्ट के Agent Engine इंस्टेंस, सूची में दिखते हैं. अपनी पसंद के कॉलम के हिसाब से सूची को फ़िल्टर करने के लिए, फ़िल्टर फ़ील्ड का इस्तेमाल किया जा सकता है.
- अपने एजेंट इंजन इंस्टेंस के नाम पर क्लिक करें.
- Traces टैब पर क्लिक करें.
- आपके पास सेशन व्यू या स्पैन व्यू चुनने का विकल्प होता है.
- ट्रेस की जानकारी देखने के लिए, किसी सेशन या स्पैन पर क्लिक करें. इसमें स्पैन का डायरेक्टेड एसाइक्लिक ग्राफ़ (डीएजी), इनपुट और आउटपुट, और मेटाडेटा एट्रिब्यूट शामिल हैं.
10. ज़रूरी नहीं: Apigee की मदद से, REST API को MCP में ट्रांसकोड करना
हमारी आय की पुष्टि करने वाली सेवा, मॉडल कॉन्टेक्स्ट प्रोटोकॉल के साथ काम करती है. हालांकि, कई एंटरप्राइज़ लेगसी सिस्टम सिर्फ़ RESTful API उपलब्ध कराते हैं. इस वैकल्पिक चरण में, Apigee MCP Discovery Proxy का इस्तेमाल करके, आय की पुष्टि करने वाली सेवा के REST एंडपॉइंट को एमसीपी टूल में ट्रांसकोड किया जाएगा. इससे, Apigee की बेहतर गवर्नेंस, दर सीमा, और सुरक्षा नीतियों को अपने लेगसी टूल पर लागू किया जा सकता है.
ज़्यादा जानकारी के लिए, Apigee MCP की खास जानकारी देखें.
ज़रूरी शर्तें
आगे बढ़ने से पहले, पक्का करें कि आपने Apigee API Hub को प्रोविज़न और कॉन्फ़िगर किया हो. इसे सेट अप करने और अपने Apigee इंस्टेंस को इससे जोड़ने के लिए, API हब को चालू करना दस्तावेज़ में दिया गया तरीका अपनाएं.
पहला चरण: Apigee के लिए सेवा अटैचमेंट बनाना
Apigee को GKE पर चल रही आपकी इंटरनल सेवाओं तक पहुंचने की अनुमति देने के लिए, आपको एक सेवा अटैचमेंट बनाना होगा.
- GKE Gateway के इंटरनल फ़ॉरवर्डिंग नियम को देखें:
export RULE_URI=$(gcloud compute forwarding-rules list \ --filter="loadBalancingScheme=INTERNAL_MANAGED AND target~targetHttpsProxies" \ --format="value(selfLink.segment(6), region.basename(), name)" | \ awk '{print "projects/" $1 "/regions/" $2 "/forwardingRules/" $3}') - सेवा अटैचमेंट बनाएं:
gcloud compute service-attachments create internal-gke-gateway-apigee \ --region=${REGION} \ --target-service=$RULE_URI \ --connection-preference=ACCEPT_AUTOMATIC \ --nat-subnets=gateway-psc-subnet
दूसरा चरण: Terraform की मदद से Apigee को चालू करना
अब Apigee संगठन और इंस्टेंस को चालू करने के लिए, अपने इंफ़्रास्ट्रक्चर का कॉन्फ़िगरेशन अपडेट करें.
terraformडायरेक्ट्री पर जाएं:cd terraform- बदलाव करें
terraform.tfvarsऔर सेट करेंenable_apigee = true. - बदलाव लागू करें:
terraform apply
तीसरा चरण: OpenAPI स्पेसिफ़िकेशन तय करना
Apigee, टूल खोजने और ट्रांसकोड करने के लिए, स्टैंडर्ड OpenAPI (OAS) डेफ़िनिशन का इस्तेमाल करता है. यहां दिए गए कॉन्टेंट के साथ income-verification-oas.yaml नाम की फ़ाइल बनाएं:
openapi: 3.0.0
info:
title: Income Verification API
description: Verify applicant income through third-party employer records.
version: 1.0.0
servers:
- url: https://income-verification.internal.${DNS_PEERING_DOMAIN%%.}/api
paths:
/income-verification/verify:
post:
summary: Verify applicant income
operationId: verifyApplicant
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
first_name:
type: string
last_name:
type: string
responses:
'200':
description: Successful verification
content:
application/json:
schema:
type: object
चौथा चरण: Apigee MCP Discovery Proxy को डिप्लॉय करना
एमसीपी डिस्कवरी प्रॉक्सी, Apigee की एक खास प्रॉक्सी है. यह एमसीपी सर्वर के तौर पर काम करती है.
- Apigee के यूज़र इंटरफ़ेस (यूआई) में, Develop > API Proxies पर जाएं.
- नया बनाएं पर क्लिक करें और MCP Discovery Proxy चुनें.
- प्रॉक्सी
income-verification-discoveryको नाम दें. - OpenAPI स्पेसिफ़िकेशन सेक्शन में, बनाई गई
income-verification-oas.yamlफ़ाइल अपलोड करें. - एनवायरमेंट ग्रुप को उस ग्रुप पर सेट करें जहां आपका इंटरनल गेटवे ऐक्सेस किया जा सकता है.
- डिप्लॉय करें पर क्लिक करें.
(ज़रूरी नहीं) सुरक्षा से जुड़ी कोई नीति जोड़ना
अपनी प्रॉक्सी को डिप्लॉय या शेयर करने से पहले, आपको उसे सुरक्षित करना चाहिए. सुरक्षा से जुड़ी ज़रूरी शर्तों को लागू करने के लिए, नीतियां जोड़ी जा सकती हैं. जैसे, OAuth टोकन या एपीआई कुंजियां. सुरक्षा नीति जोड़ने का तरीका जानने के लिए, एपीआई को सुरक्षित करने से जुड़े Apigee के दस्तावेज़ देखें.
पाँचवाँ चरण: ट्रांसकोड किए गए टूल के ऐक्सेस की पुष्टि करना
डप्लॉय होने के बाद, Apigee POST /verify एंडपॉइंट को verifyApplicant एमसीपी टूल में अपने-आप ट्रांसकोड कर देता है.
- Apigee MCP एंडपॉइंट के ज़रिए उपलब्ध टूल की सूची बनाएं:
curl -X POST https://api.internal.${DNS_PEERING_DOMAIN%%.}/income-verification-discovery/mcp \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {} }' - आपको जवाब में
verifyApplicantटूल दिखेगा. इसे आपके REST स्पेसिफ़िकेशन से ट्रांसकोड किया गया है. अब Apigee के ज़रिए इस टूल को कॉल किया जा सकता है. साथ ही, Apigee, REST सेवा में अनुवाद को मैनेज करेगा. इसके अलावा, Apigee उन सभी सुरक्षा नीतियों को लागू करेगा जिन्हें आपने कॉन्फ़िगर किया है.
छठा चरण: Apigee का इस्तेमाल करने के लिए, मॉर्गेज एजेंट को अपडेट करना
Apigee, आपके REST API को एमसीपी के मुताबिक टूल में ट्रांसकोड कर रहा है. इसलिए, आपको एजेंट के डिप्लॉयमेंट कॉन्फ़िगरेशन को अपडेट करना होगा. एजेंट को Apigee एंडपॉइंट पर ले जाने से, आय की पुष्टि करने के सभी अनुरोधों को अब Apigee की एंटरप्राइज़-ग्रेड सुरक्षा, लॉगिंग, और ट्रैफ़िक मैनेजमेंट का फ़ायदा मिलेगा.
- अपने Apigee MCP यूआरएल की पहचान करें: आपका एंडपॉइंट इस पैटर्न के मुताबिक होना चाहिए:
https://api.internal.${DNS_PEERING_DOMAIN%%.}/income-verification-discovery/mcp. - डप्लॉयमेंट स्क्रिप्ट को फिर से चलाएं: नए
--income-verification-urlके साथ--updateफ़्लैग का इस्तेमाल करें. इससे, एजेंट इंजन में मौजूद एजेंट को पूरी तरह से मिटाए बिना अपडेट किया जा सकता है.cd src/mortgage-agent # Update the agent to route income verification through Apigee uv run python deploy_agent.py \ --project=${PROJECT_ID} \ --update \ --agent-name=mortgage-agent \ --dms-mcp-url=https://dms.${DNS_PEERING_DOMAIN%%.}/mcp \ --income-verification-url=https://api.internal.${DNS_PEERING_DOMAIN%%.}/income-verification-discovery/mcp \ --email-mcp-url=https://email.${DNS_PEERING_DOMAIN%%.}/mcp \ --network-attachment=projects/${PROJECT_ID}/regions/${REGION}/networkAttachments/${PSC_ATTACHMENT} \ --dns-peering-domain=${DNS_PEERING_DOMAIN} \ --dns-peering-target-project=${PROJECT_ID} \ --dns-peering-target-network=${VPC_NAME} \ --ge-deploy \ --app-id=${APP_ID} \ --oauth-client-id=${OAUTH_CLIENT_ID}
- बदलाव की पुष्टि करें: Gemini Enterprise के इंटरफ़ेस पर वापस जाएं और एजेंट से, आवेदन करने वाले व्यक्ति की आय की पुष्टि करने के लिए कहें.
अब आपको Apigee Debug टैब में, GKE Gateway से आने वाले JSON-RPC अनुरोध को, आपके बैकएंड GKE सेवा के लिए स्टैंडर्ड REST"Can you verify the joint income for the Sterlings using the verification service?"POSTअनुरोध में बदलते हुए दिखना चाहिए.
11. व्यवस्थित करें
इस कोडलैब में बनाई गई संसाधनों के लिए, अपने Google Cloud खाते से शुल्क लिए जाने से बचने के लिए, काम पूरा होने के बाद उन्हें मिटा दें.
- अगर सेवा अटैचमेंट को मैन्युअल तरीके से बनाया गया था, तो उसे मिटाएं:
gcloud compute service-attachments delete internal-gke-gateway \ --region=${REGION} --quiet terraformडायरेक्ट्री पर जाएं और सभी संसाधनों को मिटाएं:cd terraform terraform destroy- इसके अलावा, Google Cloud प्रोजेक्ट को पूरी तरह से मिटाया जा सकता है:
gcloud projects delete ${PROJECT_ID}
12. बधाई हो
आपने यह कोडलैब पूरा कर लिया है. साथ ही, आपको यह पता चल गया है कि क्रॉस-क्लाउड एजेंटिक एंटरप्राइज़ डिप्लॉयमेंट को कैसे सुरक्षित किया जाता है.
आपने क्या कवर किया
- ADK की मदद से, मॉर्गिज असिस्टेंट एजेंट को Agent Engine में डिप्लॉय किया गया है. इसमें OpenTelemetry इंस्ट्रूमेंटेशन का इस्तेमाल किया गया है
- इंटरनल गेटवे के पीछे, GKE में बैकएंड एमसीपी सर्वर डिप्लॉय किए गए
- पीएसएसी इंटरफ़ेस और डीएनएस पीयरिंग का इस्तेमाल करके, Agent Engine को किसी प्रोजेक्ट वीपीसी से कनेक्ट किया गया हो
- डेटा को सुरक्षित तरीके से बाहर भेजने के लिए, GKE Gateway को कॉन्फ़िगर किया गया है. इसमें डीएलपी की मदद से डेटा छिपाने और एमसीपी की अनुमति देने की सुविधा शामिल है
- प्रॉम्प्ट और जवाब की जांच के लिए, Model Armor के साथ एआई से जुड़ी पाबंदियां लागू की गई हैं
- Apigee MCP Discovery Proxy का इस्तेमाल करके, REST API को MCP में ट्रांसकोड किया जा सकता है
अगले चरण
- Model Armor के बारे में जानें
- एजेंट इंजन के बारे में पढ़ें
- Gemini Enterprise के बारे में जानें