סקירה כללית על טוקנים

במסמך הזה ובמסמך סוגי טוקנים מוסבר על הטוקנים הרבים שבהם משתמשת Google Cloud לאימות ולמתן הרשאה. המאמרים האלה מיועדים לאנשים שרוצים ללמוד איך פועל אימות מבוסס-טוקן, או שרוצים להטמיע אימות בלי להשתמש בספריות לקוח ב-Cloud.

אתם לא צריכים לדעת את הפרטים האלה כשאתם משתמשים בממשקי API של Google Cloudבאמצעות ספריות הלקוח ב-Cloud, המסוף או Google Cloud CLI – התהליך של בחירת סוג האסימון הנכון, קבלת האסימונים ועדכון שלהם מתבצע באופן אוטומטי. Google Cloud

אימות משתמשים

כשמשתמשים אנושיים יוצרים אינטראקציה עם Google Cloud, הם לא יוצרים אינטראקציה עם ממשקי API שלGoogle Cloud באופן ישיר. במקום זאת, הם משתמשים בלקוח כדי לפעול בשמם. הלקוח שבו הם משתמשים יכול להיות אפליקציית אינטרנט, אפליקציה למחשב או כלי כמו Google Cloud CLI או curl.

מכיוון שהלקוח שולח את הבקשות ולא המשתמש, Google Cloud אי אפשר לבקש מידע על הזהות של המשתמש ישירות כדי לבדוק אם יש לו הרשאה להשתמש ב-API. במקום זאת, הזהות הזו מועברת אל ה-API דרך הלקוח בצורה של אסימון, שנכלל בכל בקשת API.

טוקן אימות משתמש מכיל את המידע הבא:

  • הזהות של המשתמש.

  • הזהות של הלקוח.

  • הבטחה שללקוח יש הרשאה לפעול בשם המשתמש.

הצדדים שמעורבים באימות המשתמש ובהרשאת הלקוח הם:

  • משתמש.

  • לקוח שפועל בשם המשתמש.

  • שרת הרשאות, שממשקי Google API מסתמכים עליו כדי לאמת את הלקוח.

  • ממשק API שדרכו הלקוח יוצר אינטראקציה. Google Cloud

לקוחות לא יכולים להנפיק אסימונים בעצמם. במקום זאת, הם צריכים לעבוד עם שרת הרשאות כדי לבצע את הפעולות הבאות:

  1. מאמתים את המשתמש.

  2. מאמתים את הלקוח.

  3. מאשרים ללקוח לפעול בשם המשתמש.

  4. הנפקת טוקן ללקוח.

דיאגרמת קשרים של משתמש המאמת את זהותו דרך לקוח משתמש שעובר אימות באמצעות כניסה לחשבון Google שלו הוא משתמש ראשי. לחשבון הראשי יש מזהה חשבון ראשי שדומה לזה:

user:alex@example.com

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

principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/raha@altostrat.com

אימות עומסי עבודה

חלק מהלקוחות צריכים ליצור אינטראקציה עם ממשקי API של Google בשמם. לדוגמה, יכול להיות שמשימה מתוזמנת תצטרך לקרוא נתונים מ-BigQuery או מ-Cloud Storage בלי שמשתמש אנושי יהיה מעורב.

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

אימות והרשאה של עומסי עבודה כוללים את הצדדים הבאים:

  • עומס עבודה, שפועל כלקוח וגם כמשתמש, ומטעם עצמו.

  • שרת הרשאות, שממשקי Google API מסתמכים עליו כדי לאמת את הלקוח.

  • ממשק API שדרכו הלקוח יוצר אינטראקציה. Google Cloud

כדי לגשת לממשקי API, לקוחות צריכים לעבוד עם שרת הרשאות כדי לבצע את הפעולות הבאות: Google Cloud

  1. מאמתים את הלקוח.

  2. מאשרים את הלקוח.

  3. הנפקת טוקן ללקוח.

דיאגרמת קשרים של עומס עבודה שעובר אימות דרך לקוח

עומס עבודה מאומת נקרא גם ישות (principal), אבל עומסי עבודה משתמשים במזהי ישות שונים מאלה של משתמשים.

עומס עבודה שעובר אימות באמצעות חשבון שירות הוא חשבון משתמש . לחשבון הראשי יש מזהה חשבון ראשי שדומה לזה:

serviceAccount:my-service-account@my-project.iam.gserviceaccount.com

עומס עבודה שעובר אימות באמצעות איחוד שירותי אימות הזהות של עומסי עבודה הוא סוג של מאגר זהויות של עומסי עבודה. לחשבון הראשי יש מזהה חשבון ראשי שדומה לזה:

principal://iam.googleapis.com/projects/PROJECT_NAME/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE

שרתי הרשאות

‫Google Cloud משתמש במנגנוני אימות והרשאה ספציפיים שמשותפים עם שירותים אחרים של Google. הכלים המשותפים כוללים את הכניסה באמצעות חשבון Google ואת השירותים OpenID Connect ו-OAuth 2.0 שמוצעים על ידי Google Identity.

שירותים אחרים שקשורים לאימות, כמו איחוד שירותי אימות הזהות של עומסי עבודה ואיחוד שירותי אימות הזהות של כוח העבודה, ספציפיים ל- Google Cloud ואי אפשר להשתמש בהם בשירותים אחרים של Google.

בגלל הפיצול הזה, Google Cloud משתמש בשני שרתי הרשאה. אחד מהם משותף עם שירותים אחרים של Google, והשני ספציפי ל- Google Cloud. בטבלה הבאה מתוארים השרתים השונים והמאפיינים שלהם.

שרת הרשאות סוג אימות ממשקי API לאימות חשבונות משתמשים
שרת ההרשאות של Google
  • אימות משתמשים
  • אימות עומסי עבודה
Google Cloud שרת הרשאות לניהול זהויות והרשאות גישה (IAM)
  • אימות משתמשים
  • אימות עומסי עבודה

שרתי ההרשאות הם שירותים גלובליים, ואפשר לגשת אליהם מכל Google Cloud אזור. עם זאת, לא בכל האזורים יש פריסות של שני שרתי ההרשאות:

  • שרת ההרשאות של Google זמין באזורים נבחרים.

  • שרת ההרשאות של Google Cloud IAM זמין בכל האזורים.

כדי לשפר את המהימנות, מומלץ להשתמש בשרת ההרשאות של Google Cloud IAM כשאפשר.

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

מידע על סוגי אסימונים