סקירה כללית על Application Default Credentials

במאמר הזה נתאר איפה מתבצע החיפוש של פרטי הכניסה בשירות Application Default Credentials ‏(ADC). המידע הזה יעזור לכם להבין באילו פרטי כניסה נעשה שימוש ב-ADC ואיפה הם אמורים להימצא.

השירות Application Default Credentials (ADC) משמש את ספריות האימות ב-Google כדרך למצוא את פרטי הכניסה באופן אוטומטי על סמך הסביבה שבה פועלת האפליקציה. ספריות האימות מאפשרות לספריות הלקוח ב-Cloud ולספריות הלקוח של Google API לגשת לפרטי הכניסה האלה. כשעובדים עם ADC, הקוד יכול לפעול גם בסביבת הפיתוח וגם בסביבת הייצור בלי שתצטרכו לשנות את שיטת האימות של האפליקציות מול השירותים וממשקי ה-API של Google Cloud.

במאמר הגדרת Application Default Credentials מוסבר איך לספק פרטי כניסה ל-ADC.

סדר החיפוש

החיפוש של פרטי הכניסה ב-ADC מתבצע במקומות הבאים:

  1. במשתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS
  2. בפרטי הכניסה של משתמשים שהוגדרו באמצעות Google Cloud CLI
  3. בחשבון השירות המצורף, שהוחזר על ידי שרת המטא-נתונים

הסדר של המקומות לחיפוש פרטי כניסה ב-ADC לא מרמז על סדר החשיבות שלהם. במאמר איך מגדירים את Application Default Credentials מתוארות הדרכים המומלצות לספק פרטי כניסה ל-ADC.

משתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS

אפשר להשתמש במשתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS כדי לספק את המיקום של קובץ ה-JSON שמכיל את פרטי הכניסה. קובץ ה-JSON יכול להיות בכל אחד מסוגי הקבצים הבאים:

  • קובץ תצורה של פרטי הכניסה עבור האיחוד של Workload Identity

    האיחוד של Workload Identity מאפשר להשתמש בספק זהויות חיצוני כדי לגשת למשאבים של Google Cloud. למידע נוסף, ראו אימות באמצעות ספריות לקוח, CLI של gcloud או Terraform, במאמרי העזרה בנושא ניהול זהויות והרשאות גישה (IAM).

  • מַפְתח של חשבון שירות

    מפתחות של חשבונות שירות יוצרים סיכון אבטחה ולא מומלץ להשתמש בהם. בניגוד לסוגים אחרים של קובצי פרטי כניסה, גורם זדוני עלול להשתמש במפתחות של חשבונות שירות שנפרצו גם ללא מידע נוסף. מידע נוסף זמין במאמר שיטות מומלצות לשימוש ולניהול מפתחות של חשבונות שירות.

פרטי הכניסה של משתמשים, שסופקו באמצעות ה-CLI של gcloud

אפשר לספק ל-ADC פרטי כניסה של משתמשים על ידי הרצת הפקודה gcloud auth application-default login. הפקודה הזו יוצרת קובץ JSON שמכיל את פרטי הכניסה שאתם מספקים (בדרך כלל של חשבון Google שלכם) במיקום ידוע במערכת הקבצים שלכם. המיקום שלו תלוי במערכת ההפעלה:

  • ב-Linux ו-macOS:‏ $HOME/.config/gcloud/application_default_credentials.json
  • ב-Windows:‏ %APPDATA%\gcloud\application_default_credentials.json

פרטי הכניסה שאתם מספקים ל-ADC באמצעות ה-CLI של gcloud הם לא אותם פרטי הכניסה שה-CLI של gcloud משתמש כדי לאמת מול Google Cloud. מידע נוסף על שתי קבוצות פרטי הכניסה האלה זמין במאמר פרטי כניסה ל-CLI של gcloud ופרטי כניסה של ADC.

חשבון השירות המצורף

בשירותים רבים של Google Cloud אפשר לצרף חשבון שירות שמספק את פרטי הכניסה כדי לגשת ל-Google Cloud APIs. אם ADC לא מוצא את פרטי הכניסה במשתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS או במיקום הידוע של פרטי הכניסה בחשבון Google,‏ ADC יחפש את פרטי הכניסה בשרת המטא-נתונים של השירות שבו הקוד פועל.

השימוש בפרטי הכניסה מחשבון השירות המצורף הוא השיטה המועדפת למציאת פרטי כניסה בסביבת הייצור ב-Google Cloud. כדי להשתמש בחשבון השירות המצורף:

  1. יוצרים חשבון שירות שמנוהל על ידי משתמש.
  2. מקצים לחשבון השירות את התפקידים עם ההרשאות המינימליות הנדרשות ב-IAM.
  3. מחברים את חשבון השירות למשאב שבו הקוד פועל.

למידע נוסף על יצירת חשבון שירות, תוכלו לקרוא את המאמר יצירה וניהול של חשבונות שירות. למידע נוסף, ראו איך מחברים חשבון שירות למשאב. במאמר בחירת תפקידים מוגדרים מראש מוסבר איך מגדירים את תפקידי ה-IAM הנדרשים לחשבון השירות.

המאמרים הבאים