כדי שרמת זמן הריצה ורמת הבקרה יוכלו לתקשר, צריך להפעיל את ההרשאות הנדרשות לגישה ל-Synchronizer ול-analytics publisher באמצעות updateControlPlaneAccess API.
קבלת טוקן הרשאה
כדי לבצע את הקריאות ל-Apigee API שמתוארות בהמשך הנושא הזה, צריך לקבל טוקן הרשאה עם תפקיד אדמין בארגון Apigee.
- אם אתם לא הבעלים של פרויקט Google Cloud שמשויך לארגון Apigee hybrid שלכם, ודאו שלחשבון המשתמש שלכם ב-Google Cloud יש את התפקיד roles/apigee.admin (אדמין של ארגון Apigee). כדי לבדוק את התפקידים שהוקצו לכם, מריצים את הפקודה הבאה:
gcloud projects get-iam-policy $PROJECT_ID \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:your_account_email"
לדוגמה:
gcloud projects get-iam-policy my-project \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:myusername@example.com"
הפלט צריך לכלול את
roles/apigee.admin. - אם אין לכם את התפקיד
roles/apigee.admin, צריך להוסיף לחשבון המשתמש שלכם את התפקיד אדמין ארגוני של Apigee. כדי להוסיף את התפקיד לחשבון המשתמש, משתמשים בפקודה הבאה:gcloud projects add-iam-policy-binding $PROJECT_ID \ --member user:your_account_email \ --role roles/apigee.admin
לדוגמה:
gcloud projects add-iam-policy-binding my-project \ --member user:myusername@example.com \ --role roles/apigee.admin
-
בשורת הפקודה, מקבלים את פרטי הכניסה לאימות של
gcloudבאמצעות הפקודה הבאה:Linux / MacOS
export TOKEN=$(gcloud auth print-access-token)
כדי לוודא שהטוקן אוכלס, משתמשים בפקודה
echo, כמו בדוגמה הבאה:echo $TOKEN
האסימון יוצג כמחרוזת מקודדת.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%aכדי לוודא שהטוקן אוכלס, משתמשים בפקודה
echo, כמו בדוגמה הבאה:echo %TOKEN%
האסימון יוצג כמחרוזת מקודדת.
הפעלת הגישה לכלי הסנכרון
כדי להפעיל את הגישה למסנכרן:
- מקבלים את כתובת האימייל של חשבון השירות שרוצים לתת לו גישה לכלי הסנכרון.
בסביבות ללא ייצור (כפי שמוצע במדריך הזה), צריך להשתמש בערך
apigee-non-prod. בסביבות ייצור, הערך צריך להיותapigee-synchronizer. משתמשים בפקודה הבאה:gcloud iam service-accounts list --project $PROJECT_ID --filter "apigee-synchronizer"
- מבצעים קריאה ל-API updateControlPlaneAccess כדי להפעיל את ההרשאות הנדרשות ל-Synchronizer באמצעות הפקודה הבאה:
אין מיקום אחסון נתונים
curl -X PATCH -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=synchronizer_identities" \ -d "{\"synchronizer_identities\": [\"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com\"]}"כאשר:
-
$ORG_NAME: השם של הארגון ההיברידי. -
apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com: כתובת האימייל של חשבון השירות.
מיקום אחסון הנתונים
curl -X PATCH -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=synchronizer_identities" \ -d "{\"synchronizer_identities\": [\"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com\"]}"כאשר:
-
CONTROL_PLANE_LOCATION: המיקום של נתוני מישור הבקרה אם ההתקנה ההיברידית משתמשת בשמירת נתונים. זהו המיקום שבו מאוחסן תוכן הליבה של הלקוחות, כמו חבילות פרוקסי. רשימה של האזורים הזמינים של מישור הבקרה של Apigee API זמינה כאן. -
$ORG_NAME: השם של הארגון ההיברידי. -
apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com: כתובת האימייל של חשבון השירות.
-
- כדי לוודא שחשבון השירות הוגדר, מריצים את הפקודה הבאה כדי להפעיל את ה-API ולקבל רשימה של חשבונות שירות:
אין מיקום אחסון נתונים
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess"מיקום אחסון הנתונים
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess"הפלט אמור להיראות כך:
{ "synchronizerIdentities": [ "serviceAccount:apigee-synchronizer@YOUR_ORG_NAME.iam.gserviceaccount.com" ] }
הפעלת גישת בעלי תוכן דיגיטלי ל-Analytics
כמה רכיבי זמן ריצה של Apigee hybrid מפרסמים רשומות של ניתוח וניפוי באגים כדי לספק מידע לדיווח ולניפוי באגים. כדי להפעיל את פרסום הנתונים האלה, צריך להעניק הרשאות נוספות לחשבונות השירות שמריצים את רכיבי Apigee האלה, כדי לפרסם נתונים ישירות למישור הבקרה.
כדי להפעיל גישה לבעלי אפליקציות לנתוני Analytics:
- מקבלים את כתובת האימייל של חשבון השירות שרוצים להעניק לו גישת פרסום ל-Analytics.
בסביבות ללא ייצור (כפי שמוצע במדריך הזה), צריך להשתמש בערך
apigee-non-prod. בסביבות ייצור, הערך צריך להיותapigee-runtime. - מגדירים הרשאות לחשבונות השירות של רכיבי זמן הריצה, MART ותזמון המשימות של mint (אם מפעילים מונטיזציה ל-Apigee hybrid בגרסה v1.14.3 ואילך) כדי לפרסם נתונים למישור הבקרה באמצעות הפקודה הבאה:
אין מיקום אחסון נתונים
מפעילים את
updateControlPlaneAccessAPI כדי לתת הרשאות לחשבונות השירות של זמן הריצה ושל MART:curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \ -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\"]}"אם מפעילים את התכונה 'מוֹנטיזציה' ב-Apigee hybrid, צריך להגדיר את ההרשאות לחשבון השירות של מתזמן המשימות mint:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \ -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-mint-task-scheduler@$ORG_NAME.iam.gserviceaccount.com\"]}"כאשר אלה כתובות האימייל של חשבונות השירות:
apigee-mart@${ORG_NAME}.iam.gserviceaccount.comapigee-mint-task-scheduler@${ORG_NAME}.iam.gserviceaccount.comapigee-runtime@${ORG_NAME}.iam.gserviceaccount.com
מיקום אחסון הנתונים
מפעילים את
updateControlPlaneAccessAPI כדי לתת הרשאות לחשבונות השירות של זמן הריצה ושל MART:curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \ -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\"]}"אם מפעילים את התכונה 'מוֹנטיזציה' ב-Apigee hybrid, צריך להגדיר את ההרשאות לחשבון השירות של מתזמן המשימות mint:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess?update_mask=analytics_publisher_identities" \ -d "{\"analytics_publisher_identities\": [\"serviceAccount:apigee-mart@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-runtime@$ORG_NAME.iam.gserviceaccount.com\",\"serviceAccount:apigee-mint-task-scheduler@$ORG_NAME.iam.gserviceaccount.com\"]}"כאשר:
-
CONTROL_PLANE_LOCATIONהוא המיקום של נתוני מישור הבקרה אם ההתקנה ההיברידית שלכם משתמשת במיקום הנתונים. זהו המיקום שבו מאוחסן תוכן הליבה של הלקוחות, כמו חבילות פרוקסי. רשימה של האזורים הזמינים של מישור הבקרה של Apigee API זמינה כאן. - אלה כתובות האימייל של חשבונות השירות:
apigee-mart@${ORG_NAME}.iam.gserviceaccount.comapigee-mint-task-scheduler@${ORG_NAME}.iam.gserviceaccount.comapigee-runtime@${ORG_NAME}.iam.gserviceaccount.com
התגובה אמורה להיראות כך:
{ "name": "organizations/YOUR_ORG_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "UPDATE", "targetResourceName": "organizations/YOUR_ORG_NAME/controlPlaneAccess", "state": "IN_PROGRESS" } }כאשר: OPERATION_ID הוא המזהה הייחודי האוניברסלי (UUID) של הפעולה, לדוגמה
8316aa78-c137-4733-92ec-cc0d2d92fd29. - שומרים את מזהה הפעולה במשתנה סביבה כדי לאמת את מצב הפעולה.
תחביר
export OPERATION_ID=OPERATION_ID
דוגמה
export OPERATION_ID=8316aa78-c137-4733-92ec-cc0d2d92fd29
- כדי לבדוק את סטטוס הפעולה, משתמשים במזהה שבשדה name בתגובת העדכון:
אין מיקום אחסון נתונים
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$OPERATION_ID"
מיקום אחסון הנתונים
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$OPERATION_ID"
התגובה אמורה להיראות כך:
{ "name": "organizations/YOUR_ORG_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "UPDATE", "targetResourceName": "organizations/YOUR_ORG_NAME/controlPlaneAccess", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.ControlPlaneAccess", "name": "organizations/YOUR_ORG_NAME/controlPlaneAccess" } } - מאמתים את ההגדרה של ControlPlaneAccess בארגון:
אין מיקום אחסון נתונים
curl "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess" \ -H "Authorization: Bearer $TOKEN"
מיקום אחסון הנתונים
curl "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess" \ -H "Authorization: Bearer $TOKEN"
התגובה אמורה להיראות כך:
{ "synchronizerIdentities": [ "serviceAccount:apigee-synchronizer@YOUR_ORG_NAME.iam.gserviceaccount.com" ], "analyticsPublisherIdentities": [ "serviceAccount:apigee-mart@YOUR_ORG_NAME.iam.gserviceaccount.com", "serviceAccount:apigee-mint-task-scheduler@YOUR_ORG_NAME.iam.gserviceaccount.com", "serviceAccount:apigee-runtime@YOUR_ORG_NAME.iam.gserviceaccount.com" ] }
הפעלתם את מישורי זמן הריצה והניהול של Apigee Hybrid כדי לאפשר תקשורת ביניהם. לאחר מכן, מתקינים את cert-manager כדי לאפשר ל-Apigee hybrid לפרש ולנהל אישורים.