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

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

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