חשבון שירות הוא סוג מיוחד של חשבון ב-Google Cloud שמאפשר לרכיבים ולאפליקציות של מערכת לקיים אינטראקציה אחד עם השני ועם ממשקי API אחרים. מידע נוסף על Google Cloud זמין במאמר מידע על שירותי Google Cloud.
Hybrid משתמש בחשבונות שירות של Google Cloud כדי לבצע מגוון משימות, כולל:
- שליחת נתוני יומן ומדדים
- שליפת בקשות מעקב
- חיבור ל-API Gateway לבקשות API אדמיניסטרטיביות
- ביצוע גיבויים
- הורדת חבילות של שרתי proxy
אמנם אפשר להשתמש בחשבון שירות אחד לביצוע כל הפעולות האלה, אבל מומלץ ב-Apigee ליצור כמה חשבונות שירות, כשכל אחד מהם מוקצה למשימה ספציפית וכולל קבוצת הרשאות משלו. הגישה הזו משפרת את האבטחה כי היא מחלקת את הגישה למקטעים ומגבילה את ההיקף והרשאות הגישה של כל חשבון שירות. בדומה לחשבונות משתמשים, ההרשאות האלה מוקצות על ידי הקצאת תפקיד אחד או יותר לחשבון השירות.
חשבונות שירות ותפקידים שמשמשים רכיבים היברידיים
כדי ש-Apigee hybrid יפעל בצורה תקינה, צריך ליצור כמה חשבונות שירות. לכל חשבון שירות נדרש תפקיד ספציפי או תפקידים ספציפיים שמאפשרים לו לבצע את הפונקציה שלו.
בטבלה הבאה מתוארים חשבונות השירות של הרכיבים ההיברידיים:
| רכיב* | תפקיד | נדרש להתקנה בסיסית? | תיאור |
|---|---|---|---|
apigee-cassandra |
אדמין של אובייקט אחסון | מאפשר גיבוי של Cassandra ב-Cloud Storage, כפי שמתואר במאמר גיבוי ושחזור. | |
apigee-logger |
בעל הרשאת כתיבה של יומנים | ההרשאה מאפשרת איסוף נתונים לצורך רישום ביומן, כפי שמתואר במאמר בנושא רישום ביומן. נדרש רק להתקנות של אשכולות שאינם GKE. | |
apigee-mart |
Apigee Connect Agent | מאפשר אימות של שירות MART. התפקיד של Apigee Connect Agent מאפשר לו לתקשר בצורה מאובטחת עם תהליך Apigee Connect, כפי שמתואר במאמר שימוש ב-Apigee Connect. | |
apigee-metrics |
בעל הרשאת כתיבה של מדדי מעקב | מאפשר איסוף נתוני מדדים, כפי שמתואר במאמר סקירה כללית על איסוף מדדים. | |
apigee-org-admin |
אדמין של ארגון Apigee | מאפשרת לשלוח קריאה אל getSyncAuthorization API ואל setSyncAuthorization API. אי אפשר ליצור את חשבון השירות הזה באמצעות הכלי create-service-account. |
|
apigee-synchronizer |
Apigee Synchronizer Manager | מאפשרת למסנכרן להוריד חבילות של שרתי proxy ונתוני תצורת סביבה. היא גם מאפשרת הפעלה של תכונת המעקב. | |
apigee-udca |
Apigee Analytics Agent | מאפשר העברה של נתוני מעקב, ניתוח וסטטוס פריסה למישור הניהול. | |
apigee-watcher |
Apigee Runtime Agent | Apigee Watcher שולף מהמסנכרן שינויים שקשורים למארחים וירטואליים בארגון ומבצע את השינויים הנדרשים כדי להגדיר את istio ingress. | |
| * השם הזה משמש כשם הקובץ של המפתח של חשבון השירות שהורדתם. | |||
בנוסף ליצירת חשבונות השירות שמפורטים בטבלה הזו, צריך גם להוריד את המפתחות הפרטיים שלהם. בהמשך משתמשים במפתחות האלה כדי ליצור אסימוני גישה, וכך מקבלים גישה לממשקי ה-API של Apigee.
יצירת חשבונות שירות
יש כמה דרכים ליצור חשבונות שירות, כולל:
כל אחד מהם מתואר בקטעים הבאים.
שימוש בכלי ליצירת חשבון שירות
הכלי create-service-account (זמין אחרי הורדה ופריסה של apigeectl) יוצר חשבונות שירות ספציפיים לרכיבים היברידיים ומקצה את התפקידים הנדרשים. בנוסף, הכלי מוריד באופן אוטומטי את המפתחות של חשבון השירות ושומר אותם במחשב המקומי בספרייה שצוינה.
כדי ליצור חשבונות שירות באמצעות הכלי create-service-account:
- מורידים ומרחיבים את
apigeectl(אם עדיין לא עשיתם זאת), כמו שמתואר במאמר בנושא הורדה והתקנה של apigeectl. - יוצרים ספרייה לאחסון המפתחות של חשבון השירות. לדוגמה:
mkdir ./service-accounts
- מריצים את הפקודות הבאות:
./tools/create-service-account apigee-metrics ./service-accounts
./tools/create-service-account apigee-synchronizer ./service-accounts./tools/create-service-account apigee-udca ./service-accounts./tools/create-service-account apigee-mart ./service-accounts./tools/create-service-account apigee-cassandra ./service-accounts./tools/create-service-account apigee-logger ./service-accountsהפקודות האלה יוצרות את רוב החשבונות הנדרשים ושומרות את המפתחות שלהם בספרייה
./service-accounts. הפקודות האלה לא יוצרות את חשבון השירותapigee-org-admin.אם הפקודות האלה נכשלות, צריך לוודא שציינתם ספרייה קיימת שבה יישמרו קובצי המפתחות.
מידע נוסף על השימוש ב-
create-service-accountזמין במאמר בנושא create-service-account. - יוצרים את חשבון השירות
apigee-org-admin. כדי לעשות את זה, משתמשים במסוף Google Cloud.
שימוש במסוף Google Cloud
אפשר ליצור חשבונות שירות באמצעות מסוף Google Cloud.
כדי ליצור חשבונות שירות באמצעות מסוף Google Cloud:
- פותחים את מסוף Google Cloud ומתחברים באמצעות חשבון המשתמש שיצרתם בשלב 1: יצירת חשבון Google Cloud.
- בוחרים את הפרויקט שיצרתם בשלב 2: יצירת פרויקט ב-Google Cloud.
- בוחרים באפשרות IAM & admin > Service accounts (ניהול הרשאות גישה וניהול > חשבונות שירות).
במסוף מוצג התצוגה Service accounts. בתצוגה הזו מופיעה רשימה של חשבונות השירות של הפרויקט. (ברוב המקרים, עדיין לא יופיעו חשבונות ברשימה, אבל יכול להיות שיופיעו חשבונות שירות שמוגדרים כברירת מחדל, בהתאם לאופן שבו יצרתם את הפרויקט).
- כדי ליצור חשבון שירות חדש, לוחצים על +יצירת חשבון שירות בחלק העליון של התצוגה.
מוצג התצוגה פרטי חשבון השירות.
- בשדה Service account name, מזינים את השם של חשבון השירות.
מומלץ להשתמש בשם שמשקף את התפקיד של חשבון השירות. אפשר להגדיר את שם חשבון השירות כך שיהיה זהה לשם הרכיב שמשתמש בו. לדוגמה, מגדירים את השם של חשבון השירות Logs Writer
apigee-logger.מידע נוסף על השמות והתפקידים של חשבונות השירות זמין במאמר חשבונות שירות ותפקידים שמשמשים רכיבים היברידיים.
כשמזינים שם, Google Cloud יוצר מזהה ייחודי של חשבון שירות, שמובנה כמו כתובת אימייל, כמו בדוגמה הבאה:
אופציונלי: מוסיפים תיאור בשדה תיאור חשבון שירות. התיאורים עוזרים לכם לזכור למה משמש חשבון שירות מסוים.
- לוחצים על יצירה.
מערכת Google Cloud יוצרת חשבון שירות חדש ומציגה את התצוגה Service account permissions, כמו בדוגמה הבאה:
אפשר להשתמש בתצוגה הזו כדי להקצות תפקיד לחשבון השירות החדש.
- לוחצים על הרשימה הנפתחת Select a role.
- בוחרים את התפקיד לחשבון השירות, כמו שמתואר במאמר חשבונות שירות ותפקידים שמשמשים רכיבים היברידיים. אם התפקידים של Apigee לא מופיעים ברשימה הנפתחת, רעננו את הדף.
לדוגמה, עבור רכיב הרישום ביומן, בוחרים בתפקיד Logs Writer (כותב יומנים).
אם צריך, מזינים טקסט כדי לסנן את רשימת התפקידים לפי שם. לדוגמה, כדי להציג רק את התפקידים של Apigee, מזינים Apigee בשדה המסנן, כמו בדוגמה הבאה:
אפשר להוסיף יותר מתפקיד אחד לחשבון שירות, אבל ב-Apigee מומלץ להשתמש רק בתפקיד אחד לכל אחד מחשבונות השירות המומלצים. כדי לשנות את התפקידים של חשבון שירות אחרי שיוצרים אותו, משתמשים בחלונית IAM & admin ב-Google Cloud.
- לוחצים על Continue.
ב-Google Cloud מוצגת התצוגה Grant users access to this service account (הענקת גישה לחשבון השירות הזה):
- בקטע Create key (optional) (יצירת מפתח (אופציונלי)), לוחצים על Create Key (יצירת מפתח).
ב-Google Cloud יש אפשרות להוריד מפתח JSON או P12:
- בוחרים באפשרות JSON (ברירת המחדל) ולוחצים על Create.
מערכת Google Cloud שומרת את קובץ המפתח בפורמט JSON במחשב המקומי ומציגה אישור אם הפעולה הצליחה, כמו בדוגמה הבאה:
בהמשך תשתמשו בחלק מהמפתחות של חשבונות השירות כדי להגדיר שירותי זמן ריצה היברידיים. לדוגמה, כשמגדירים את זמן הריצה ההיברידי, מציינים את המיקום של מפתחות חשבון השירות באמצעות המאפיינים service_name
.serviceAccountPath.חשבונות השירות משתמשים במפתחות האלה כדי לקבל אסימוני גישה, ואז משתמשים באסימוני הגישה כדי לשלוח בקשות לממשקי ה-API של Apigee בשמכם. (אבל זה יקרה רק בעתיד, בינתיים צריך לזכור איפה שמרתם את זה).
- חוזרים על שלבים 4 עד 11 לכל חשבון שירות שמופיע בקטע חשבונות שירות ותפקידים שמשמשים רכיבים היברידיים (חוץ מהחשבון
apigee-mart– שלא משויך אליו תפקיד, ולכן לא מקצים לו תפקיד).בסיום התהליך אמורים להיות לכם חשבונות השירות הבאים (בנוסף לחשבונות ברירת המחדל, אם יש כאלה):
במסוף Google Cloud, חשבונות שירות מסומנים בסמל
.
אחרי שיוצרים חשבון שירות, אם רוצים להוסיף לו תפקיד או להסיר ממנו תפקיד, צריך להשתמש בתצוגה IAM & Admin. אי אפשר לנהל תפקידים בחשבונות שירות בתצוגה חשבונות שירות.
שימוש בממשקי API ליצירת חשבון שירות ב-gcloud
אפשר ליצור ולנהל חשבונות שירות באמצעות Cloud Identity and Access Management API.
מידע נוסף מופיע במאמר בנושא יצירה וניהול של חשבונות שירות.