Apigee hybrid מספק אימות שמבטיח שהמיקום של המפתחות של חשבונות השירות נכון, ושלחשבונות יש את ההרשאות המתאימות בפרויקט בענן שלכם ב-Google Cloud. האימות הזה מופעל כברירת מחדל.
בקטע הזה מוסבר איך להפעיל או להשבית את האימות של חשבונות שירות. בנוסף, השלב הזה מבטיח שממשקי ה-API המתאימים מופעלים בפרויקט שלכם ב-Google Cloud, כדי שהאימות יפעל.
הפעלת אימות הרשאות של חשבונות שירות
כדי להפעיל אימות הרשאות:
- חשוב לוודא ש-
Cloud Resource Manager API מופעל בפרויקט בענן שלכם ב-Google Cloud:
- פותחים את מסוף Google Cloud ונכנסים לחשבון שיצרתם בשלב 1: יצירת חשבון Google Cloud.
- בוחרים את הפרויקט שיצרתם בשלב 2: יצירת פרויקט ב-Google Cloud.
- בוחרים באפשרות APIs & Services > Library.
- מחפשים את Cloud Resource Manager.
- מחפשים את השירות Cloud Resource Manager API ולוחצים עליו.
- אם היא לא מופעלת, לוחצים על הפעלה.
אפשר גם להפעיל את ה-API באמצעות gcloud:
gcloud services enable cloudresourcemanager.googleapis.com --project GCP_PROJECT_ID
- בקובץ ההחלפות, מוסיפים את המאפיין
validateServiceAccountsומגדירים אותו ל-true. לדוגמה:... # Enables strict validation of service account permissions. validateServiceAccounts: true ...
כשהאימות מופעל, בכל פעם שהכלי apigeectl מחיל את רכיבי זמן הריצה של Apigee hybrid על האשכול, הוא מאמת את המפתחות של חשבון השירות שכלולים בקובץ ההחלפות.
פתרון בעיות שקשורות לשגיאות אימות
אם האימות נכשל, הפריסה של זמן הריצה נעצרת ו-apigeectl יוצא.
כדי לפתור בעיות בחשבון שירות, כדאי לדעת שבמהלך בדיקות האימות, ההרשאות נבדקות בסדר הזה:
- הרשאה במזהה הפרויקט.
- (ל-UDCA ולכלי הסנכרון בלבד) אם בדיקת ההרשאות בפרויקט נכשלת, תהליך האימות ממשיך לבדיקת ההרשאות מול מדיניות ה-IAM של סביבת Apigee. ההרשאות האלה מוגבלות לסביבה, והסביבות תומכות בהרשאות מפורטות יותר.
כדי לעדכן את מדיניות ה-IAM של סביבה ספציפית, עוברים לממשק המשתמש ההיברידי. עוברים אל Admin > Environments > Access.
לדוגמה, זו הודעת שגיאה שמוצגת כשבדיקת הרשאות נכשלת:
Invalid Metrics Service Account. Service Account "apigee-metrics@hybrid-project.iam.gserviceaccount.com" is missing 1 or more required permissions [monitoring.metricDescriptors.create monitoring.metricDescriptors.get monitoring.metricDescriptors.list monitoring.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.list monitoring.timeSeries.create]. Visit Service accounts and roles used by hybrid components for more details on setting up Apigee hybrid service account permissions.
כדי לפתור את השגיאה הזו, צריך להוסיף את התפקידים הנדרשים לחשבון השירות. מידע על יצירה ושינוי של חשבונות שירות זמין במאמר יצירת חשבונות שירות. כדי לבדוק את ההרשאות הנדרשות לכל רכיב של Apigee Hybrid, אפשר לעיין במאמר חשבונות שירות ותפקידים שמשמשים רכיבי Hybrid.
השבתת אימות הרשאות
כדי להשבית את אימות ההרשאות של חשבון השירות, מגדירים את המאפיין validationServiceAccounts בקובץ ההחלפות לערך false, כמו בדוגמה הבאה:
... # Enables strict validation of service account permissions. validateServiceAccounts: false ...