סקירה כללית על אבטחה

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

מערכת Fleet Engine מנהלת את האבטחה בשתי דרכים בסיסיות, לפי עקרון ההרשאות המינימליות:

  • Application Default Credentials‏ (ADC): לסביבות עם הרשאות גבוהות, כמו תקשורת בין שרתים. משמש כשרת הקצה העורפי יוצר כלי רכב ונסיעות ומנהל אותם ב-Fleet Engine. פרטים נוספים זמינים במאמר Application Default Credentials.

  • JSON Web Tokens (JWT): לסביבות עם רמת אמון נמוכה כמו אפליקציות לקוח שפועלות בסמארטפונים ובדפדפנים. משמש לביצוע פעולות עם הרשאות נמוכות יותר, כמו עדכון המיקום של הרכב ב-Fleet Engine.

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

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

Fleet Engine משתמש בגישות האבטחה האלה כדי לספק את הדברים הבאים:

  • אימות הוא תהליך לאימות הזהות של הישות ששולחת את הבקשה. ב-Fleet Engine נעשה שימוש ב-ADC בסביבות עם רמת אמון גבוהה וב-JWT בסביבות עם רמת אמון נמוכה.

  • הרשאה מציינת לאילו משאבים יש לישות מאומתת גישה. ב-Fleet Engine נעשה שימוש בחשבונות שירות עם תפקידים ב-IAM של Google Cloud, וגם בטענות JWT שמבטיחות שלישויות המאומתות יש הרשאות לראות או לשנות את הנתונים שהן מבקשות.

הגדרה של אבטחת השרת והלקוח

כדי להפעיל אבטחה באמצעות Fleet Engine, צריך להגדיר את החשבונות ואת האבטחה הנדרשים בשרת הקצה העורפי ובאפליקציות ובאתרים של הלקוח.

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

תרשים של תהליך האבטחה במהלך ההגדרה של אימות השרת ואפליקציית הלקוח

מידע נוסף זמין בסעיפים הבאים.

הגדרת האבטחה של שרת הקצה העורפי

האדמין של הצי צריך לפעול לפי השלבים הבאים:

  1. יצירה והגדרה של חשבונות שירות:

    1. יוצרים חשבונות שירות במסוף Google Cloud.

    2. להקצות תפקידי IAM ספציפיים לחשבונות השירות.

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

  2. הגדרת תקשורת מאובטחת עם Fleet Engine (ADC): מגדירים את הקצה העורפי כך שישתמש ב-Application Default Credentials עם חשבון השירות המתאים עם הרשאת אדמין כדי לתקשר עם המכונה של Fleet Engine. מידע נוסף זמין במאמר Application Default Credentials.

  3. הגדרת תקשורת מאובטחת עם אפליקציות לקוח (JWT): אפשר ליצור מחולל אסימוני אינטרנט בפורמט JSON כדי ליצור אסימוני JWT עם הצהרות מתאימות לאפליקציות לקוח ולאתרים למעקב. פרטים נוספים זמינים במאמר הנפקת אסימוני JSON Web.

הגדרת אבטחת האפליקציה

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

תהליך האבטחה של אפליקציות שרת ושל אפליקציות לקוח

בתרשים התהליך הבא מוצג תהליך האימות וההרשאה של השרתים והאפליקציות של הלקוח באמצעות Fleet Engine באמצעות ADC עם שרת הקצה העורפי ואסימוני JWT עם האפליקציות והאתרים של הלקוח.

תרשים של תהליך האבטחה בזמן הפעולה לאימות של אפליקציית שרת ולקוח

  • שרת הקצה העורפי יוצר רכבים ונסיעות או משימות ב-Fleet Engine.

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

  • שרת הקצה העורפי: חותם על אסימון JWT ומנפיק אותו לחשבון השירות המתאים עם תפקיד ה-IAM המתאים למשימה או לנסיעה שהוקצו.

  • אפליקציית הלקוח: אפליקציית הלקוח משתמשת ב-JWT שהתקבל כדי לשלוח עדכונים לגבי מיקום הרכב ל-Fleet Engine.

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