במסמך הזה מוסבר איך Fleet Engine מאבטח את חילופי המידע בין שלושת הסביבות העיקריות של מערכת Fleet Engine: שרת הקצה העורפי, שרת Fleet Engine והאפליקציות והאתרים של הלקוח.
האבטחה ב-Fleet Engine מנוהלת בשתי דרכים בסיסיות, בהתאם לעקרון של הרשאות מינימליות:
Application Default Credentials (ADC): לסביבות עם הרשאות גבוהות, כמו תקשורת בין שרתים. השימוש הוא כששרת הקצה העורפי יוצר כלי רכב ונסיעות ומנהל אותם ב-Fleet Engine. פרטים נוספים זמינים במאמר בנושא Application Default Credentials.
JSON Web Tokens (JWT): לסביבות עם רמת אמון נמוכה, כמו אפליקציות לקוח שפועלות בסמארטפונים ובדפדפנים. ההרשאה הזו משמשת לביצוע פעולות עם הרשאות נמוכות יותר, כמו עדכון מיקום הרכב ב-Fleet Engine.
סביבות עם רמת אמון נמוכה דורשות שימוש ב-JWT, ולכן שרת הקצה העורפי שלכם יוצר ומנפיק אותם כדי להגן על מפתחות סודיים של חשבונות שירות. ה-JWT כוללים טענות נוספות שספציפיות ל-Fleet Engine. פרטים נוספים זמינים במאמר בנושא אסימוני אינטרנט מסוג JSON.
לדוגמה, אם יש לכם אפליקציית נהגים, הנהגים ניגשים לנתונים מ-Fleet Engine דרך האפליקציה. האפליקציה מאומתת באמצעות אסימוני JWT שהיא מקבלת משרת בק-אנד שלכם. התביעות שכלולות ב-JWT, יחד עם התפקיד של חשבון השירות, קובעות לאילו חלקים במערכת יש לאפליקציית הנהג גישה, ומה היא יכולה לעשות. הגישה מוגבלת רק לנתונים שנדרשים כדי לבצע את משימות הנהיגה.
Fleet Engine משתמש בגישות האבטחה האלה כדי לספק את הדברים הבאים:
אימות מאמת את הזהות של הגורם ששולח את הבקשה. Fleet Engine משתמש ב-ADC בסביבות עם רמת אמון גבוהה וב-JWT בסביבות עם רמת אמון נמוכה.
הרשאה מציינת לאילו משאבים יש לישות מאומתת גישה. Fleet Engine משתמש בחשבונות שירות עם תפקידי Cloud IAM ב-Google Cloud, בתוספת טענות JWT שמוודאות לישויות מאומתות יש הרשאות לראות או לשנות את הנתונים שהן מבקשות.
הגדרת אבטחה של השרת והלקוח
כדי להפעיל את האבטחה ב-Fleet Engine, צריך להגדיר את החשבונות הנדרשים ואת האבטחה בשרת הבק-אנד, באפליקציות הלקוח ובאתרים.
בתרשים הבא מוצגת סקירה כללית של השלבים להגדרת האבטחה בשרת בקצה העורפי ובאפליקציות הלקוח.

בסעיפים הבאים יש מידע נוסף בנושא.
הגדרת האבטחה של שרת בק-אנד
אדמין של צי מכשירים צריך לפעול לפי השלבים הבאים:
יצירה והגדרה של חשבונות שירות:
יוצרים חשבונות שירות במסוף Google Cloud.
מקצים לחשבונות השירות תפקידים ספציפיים ב-IAM.
מגדירים את שרתי הקצה העורפי באמצעות חשבונות השירות שנוצרו. פרטים נוספים על תפקידים בחשבונות שירות
הגדרת תקשורת מאובטחת עם Fleet Engine (ADC): מגדירים את ה-backend כך שיתקשר עם המכונה של Fleet Engine באמצעות Application Default Credentials עם חשבון השירות המתאים של האדמין. מידע נוסף זמין במאמר בנושא Application Default Credentials.
הגדרת תקשורת מאובטחת עם אפליקציות לקוח (JWT): יוצרים מחולל JSON Web Token כדי ליצור אסימוני JWT עם טענות מתאימות לאפליקציות לקוח ולאתרים למעקב. פרטים נוספים זמינים במאמר בנושא הנפקת אסימוני JWT.
הגדרת אבטחת אפליקציות
מפתחי אפליקציות צריכים לכלול דרך לאחזר טוקנים של JSON Web שנוצרו על ידי שרת בק-אנד באפליקציות או באתרים של הלקוחות, ולהשתמש בהם כדי לתקשר באופן מאובטח עם Fleet Engine. פרטים נוספים זמינים בהוראות ההגדרה במסמכי חוויית הנהג או חוויית הצרכן של האפליקציות שאתם צריכים.
תהליך האבטחה של אפליקציית הלקוח והשרת
בתרשים הרצף הבא מוצג תהליך האימות וההרשאה של אפליקציית הלקוח והשרת עם Fleet Engine באמצעות ADC עם שרת הקצה העורפי, ו-JWT עם אפליקציות הלקוח והאתרים.

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