בדף הזה מוסבר מהם חשבונות שירות ומתוארים שיקולים חשובים בניהול של חשבונות השירות בכל שלב במחזור החיים שלהם.
מהם חשבונות שירות?
חשבון שירות הוא סוג מיוחד של חשבון, שמשמש בדרך כלל אפליקציה או עומס עבודה, כמו מכונה של Compute Engine, ולא אנשים. חשבון שירות מזוהה באמצעות כתובת האימייל הייחודית שלו.
אפליקציות משתמשות בחשבונות שירות כדי לבצע קריאות מורשות ל-API על ידי אימות כחשבון השירות עצמו, או כמשתמש Google Workspace או משתמש Cloud Identity, באמצעות הענקת גישה ברמת הדומיין. כשאפליקציה מבצעת אימות כחשבון שירות, יש לה גישה לכל המשאבים שחשבון השירות מורשה לגשת אליהם.
הדרך הנפוצה ביותר לאפשר לאפליקציה לבצע אימות כחשבון שירות היא לצרף חשבון שירות למשאב שמפעיל את האפליקציה. לדוגמה, אתם יכולים לצרף חשבון שירות למכונה של Compute Engine, כדי שאפליקציות שפועלות במכונה הזו יוכלו לבצע אימות כחשבון השירות. לאחר מכן תוכלו להקצות לחשבון השירות תפקידי IAM כדי לאפשר לו (וכתוצאה מכך, לאפליקציות שבמכונה) לגשת למשאבי Google Cloud .
יש עוד דרכים לאפשר לאפליקציות לבצע אימות כחשבונות שירות מלבד הצירוף של חשבון שירות. לדוגמה, אתם יכולים להגדיר איחוד שירותי אימות הזהות של עומסי עבודה כדי לאפשר לעומסי עבודה חיצוניים לבצע אימות כחשבונות שירות, או ליצור מפתח של חשבון שירות ולהשתמש בו בכל סביבה כדי לקבל אסימוני גישה מסוג OAuth 2.0.
למידע נוסף על אימות של חשבונות שירות לאפליקציות, קראו את המאמר סקירה כללית על זהויות לעומסי עבודה.
גם חשבונות משתמשים, למשל משתמשים וחשבונות שירות אחרים, יכולים לבצע אימות כחשבונות שירות. למידע נוסף, ראו התחזות לחשבון שירות בהמשך הדף.
הסוגים של חשבונות שירות
ב- Google Cloudיש כמה סוגים שונים של חשבונות שירות:
חשבונות שירות בניהול המשתמש: חשבונות שירות שאתם יוצרים ומנהלים. חשבונות השירות האלה משמשים בדרך כלל כזהויות לעומסי עבודה.
חשבונות שירות שמוגדרים כברירת מחדל: חשבונות שירות בניהול המשתמש, שנוצרים באופן אוטומטי כשמפעילים שירותים מסוימים של Google Cloud . הניהול של חשבונות השירות האלה הוא באחריותכם.
סוכני שירות: חשבונות שירות שנוצרים ומנוהלים על ידיGoogle Cloud, ומאפשרים לשירותים לגשת למשאבים בשמכם.
למידע נוסף על הסוגים השונים של חשבונות שירות, ראו הסוגים של חשבונות שירות.
פרטי כניסה לחשבון שירות
אפליקציות וחשבונות משתמשים מבצעים אימות כחשבון שירות על ידי ביצוע אחת מהפעולות הבאות:
- קבלת פרטי כניסה לטווח קצר. במקרים רבים, כמו במקרה של חשבונות שירות מצורפים ופקודות שמשתמשות בדגל
--impersonate-service-accountב-CLI של gcloud, פרטי הכניסה האלה נוצרים באופן אוטומטי – לא צריך ליצור או לנהל אותם בעצמכם. - שימוש במפתח של חשבון שירות כדי לחתום על אסימון אינטרנט מסוג JSON (JWT) ולהחליף אותו באסימון גישה. מפתחות של חשבונות שירות מהווים סיכון אבטחה אם לא מנהלים אותם בצורה נכונה, לכן כשאפשר, מומלץ לבחור שיטה מאובטחת יותר למפתחות של חשבונות שירות.
למידע נוסף על אימות של חשבון שירות, ראו פרטי הכניסה של חשבון שירות.
התחזות לחשבון שירות
המצב שבו חשבון משתמש מאומת, כמו משתמש או חשבון שירות אחר, מבצע אימות כחשבון שירות כדי לקבל את ההרשאות של חשבון השירות, נקרא התחזות לחשבון השירות. התחזות לחשבון שירות מאפשרת לחשבון משתמש מאומת לגשת לכל מה שחשבון השירות יכול לגשת אליו. רק חשבונות משתמשים מאומתים עם ההרשאות המתאימות יכולים להתחזות לחשבונות שירות.
התחזות שימושית כשרוצים לשנות את ההרשאות של משתמש בלי לשנות את המדיניות של ניהול הזהויות והרשאות הגישה (IAM). לדוגמה, אפשר להשתמש בהתחזות כדי להעניק למשתמש גישה זמנית עם הרשאות גבוהות יותר, או כדי לבדוק אם קבוצה ספציפית של הרשאות מספיקה למשימה מסוימת. אפשר גם להשתמש בהתחזות כדי לפתח באופן מקומי אפליקציות שיכולות לפעול רק כחשבון שירות, או כדי לאמת אפליקציות שפועלות מחוץ ל- Google Cloud.
מידע נוסף על התחזות לחשבון שירות זמין במאמר התחזות לחשבון שירות.
גישה לממשקי API מחוץ ל- Google Cloud
למרות שחשבונות שירות משמשים בעיקר לגישה ל-API Google Cloud שמנוהלים דרך IAM, אפשר להשתמש בהם גם לאימות ב-Google APIs שלא מנוהלים על ידי IAM, כמו Google Ads, YouTube ו-Google Workspace. כל שירות קובע את כללי ההרשאה שלו.
חשבונות שירות ודומיינים ב-Google Workspace
בניגוד לחשבונות משתמשים, חשבונות שירות לא שייכים לדומיין שלכם ב-Google Workspace. אם אתם משתפים נכסים ב-Google Workspace, כמו מסמכים או אירועים, ברמת הדומיין ב-Google Workspace, הם לא ישותפו עם חשבונות שירות.
חשבונות שירות לא יכולים להיות הבעלים של נכסים ב-Google Workspace. עם זאת, הם יכולים ליצור נכסים באחסון שיתופי בדומיין. הנכסים שנוצרים באחסון שיתופי נמצאים בבעלות הארגון ומנוהלים על ידו.
הרשאות של חשבון שירות
חשבונות שירות הם חשבונות משתמשים. המשמעות היא שאתם יכולים לתת לחשבונות שירות גישה ל Google Cloud משאבים. לדוגמה, אפשר לתת לחשבון שירות את התפקיד 'אדמין Compute' (roles/compute.admin) בפרויקט. לאחר מכן, חשבון השירות יוכל לנהל את המשאבים ב-Compute Engine באותו הפרויקט.
אבל חשבונות שירות הם גם משאבים. המשמעות היא שאתם יכולים לתת לחשבונות משתמשים אחרים הרשאה לגשת לחשבון השירות. לדוגמה, אפשר לתת למשתמש את התפקיד 'משתמש בחשבון שירות' (roles/iam.serviceAccountUser) בחשבון שירות כדי לאפשר לו לצרף את חשבון השירות למשאבים. לחלופין, אפשר להקצות למשתמש את התפקיד 'אדמין של חשבון שירות' (roles/iam.serviceAccountAdmin) כדי לאפשר לו לבצע פעולות כמו צפייה בחשבון השירות, עריכה, השבתה ומחיקה שלו.
בקטעים הבאים נסביר איך מנהלים חשבונות שירות כחשבונות משתמשים וכמשאבים.
חשבונות שירות כחשבונות משתמשים
מאחר שחשבונות שירות הם חשבונות משתמשים, אפשר לנהל את הגישה לחשבונות שירות בדיוק כמו שמנהלים את הגישה לכל חשבון משתמש אחר. לדוגמה, אם אתם רוצים לאפשר לחשבון השירות של האפליקציה לגשת לאובייקטים בקטגוריה של Cloud Storage, אתם יכולים להעניק לחשבון השירות את התפקיד 'צפייה באובייקט אחסון' (roles/storage.objectViewer) בקטגוריה. לחלופין, אם רוצים לוודא שחשבון השירות של אפליקציה לא יכול לשנות את מדיניות ה-IAM של פרויקט, אפשר להשתמש במדיניות דחייה כדי למנוע מחשבון השירות להשתמש בהרשאה resourcemanager.projects.setIamPolicy בפרויקט הזה. מידע נוסף על ניהול הגישה לחשבונות משתמשים זמין במאמר גישה ב-Google Cloud.
אתם יכולים לנהל את הגישה לחשבונות שירות ספציפיים או לכל חשבונות השירות בפרויקט, בתיקייה או בארגון מסוימים. כשמנהלים גישה לחשבונות שירות, משתמשים במזהי חשבונות המשתמשים הבאים כדי להתייחס לחשבונות השירות:
| סוג חשבון המשתמש |
|---|