כדי שמטוס זמן הריצה ומטוס הבקרה יוכלו לתקשר, צריך להפעיל את ההרשאות הנדרשות לגישה ל-Synchronizer ולמפרסם הניתוחים באמצעות updateControlPlaneAccess API.
קבלת טוקן הרשאה
כדי לבצע את הקריאות ל-Apigee API שמתוארות בהמשך הנושא הזה, צריך לקבל טוקן הרשאה עם התפקיד Apigee Organization Admin.
- אם אתם לא הבעלים של פרויקט 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-synchronizer. בסביבות שאינן סביבות ייצור, הערך צריך להיותapigee-non-prod. משתמשים בפקודה הבאה:ייצור
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"סביבה שאינה סביבת ייצור
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-non-prod" - מבצעים קריאה ל-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" ] }
הפעלת גישת בעלי תוכן דיגיטלי לניתוח נתונים
כמה רכיבי זמן ריצה של Apigee hybrid מפרסמים רשומות של ניתוח וניפוי באגים כדי לספק מידע לצורך דיווח וניפוי באגים. כדי להפעיל את הפרסום של הנתונים האלה, צריך להעניק הרשאות נוספות לחשבונות השירות שמריצים את רכיבי Apigee האלה, כדי לפרסם נתונים ישירות למישור הבקרה.
כדי להפעיל גישה של בעלי אפליקציות לניתוח נתונים:
- מקבלים את כתובת האימייל של חשבונות השירות שרוצים להעניק להם גישה ל-Analytics כבעלי הרשאת פרסום.
בסביבות ייצור, התפקידים צריכים להיות
apigee-runtime,apigee-martו-apigee-mint-task-scheduler(אם מפעילים מונטיזציה ל-Apigee Hybrid). בסביבות שאינן סביבות ייצור, הערך צריך להיותapigee-non-prod.ייצור
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-runtime OR apigee-mart OR apigee-mint-task-scheduler"סביבה שאינה סביבת ייצור
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-non-prod" - מגדירים הרשאות לחשבונות השירות של רכיבי זמן הריצה, MART ותזמון משימות של mint (אם מפעילים מונטיזציה ב-Apigee hybrid בגרסה v1.15.1 ואילך) כדי לפרסם נתונים במישור הבקרה באמצעות הפקודה הבאה:
אין מיקום אחסון הנתונים
קוראים ל-API
updateControlPlaneAccessכדי להפעיל הרשאות לחשבונות השירות של זמן הריצה ו-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
המיקום של נתונים
קוראים ל-API
updateControlPlaneAccessכדי להפעיל הרשאות לחשבונות השירות של זמן הריצה ושל 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/8316aa78-c137-4733-92ec-cc0d2d92fd29", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "UPDATE", "targetResourceName": "organizations/YOUR_ORG_NAME/controlPlaneAccess", "state": "IN_PROGRESS" } } - כדי לבדוק את סטטוס הפעולה, משתמשים במזהה שבשדה name בתגובת העדכון:
אין מיקום אחסון הנתונים
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$OPERATION_ID"
המיקום של נתונים
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-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 $(gcloud auth print-access-token)"
המיקום של נתונים
curl "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/controlPlaneAccess" \ -H "Authorization: Bearer $(gcloud auth print-access-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 לפרש ולנהל אישורים.