במסמך הזה מוסבר איך מנוע ה-Fleet מאבטח את חילופי המידע בין לשלוש הסביבות העיקריות של מערכת 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, וגם ב-JWT הצהרות שמבטיחות שלישויות מאומתות יש הרשאות לראות או לשנות את הנתונים שהם מבקשים.
הגדרת אבטחה בשרת ובלקוח
כדי להפעיל אבטחה באמצעות Fleet Engine, צריך להגדיר את החשבונות ואת האבטחה הנדרשים בשרת הקצה העורפי ובאפליקציות ובאתרים של הלקוח.
בתרשים הבא מוצגת סקירה כללית של השלבים להגדרת אבטחה במכשיר שרת עורפי ואפליקציות לקוח.
בסעיפים הבאים יש מידע נוסף בנושא.
הגדרת האבטחה של שרת הקצה העורפי
אדמינים של כלל המכשירים צריכים לבצע את הפעולות הבאות:
יצירה והגדרה של חשבונות שירות:
יוצרים חשבונות שירות במסוף Google Cloud.
מקצים לחשבונות השירות תפקידים ספציפיים ב-IAM.
מגדירים את שרת הקצה העורפי באמצעות חשבונות השירות שנוצרו. למידע נוסף, קראו את המאמר תפקידים של חשבונות שירות.
הגדרת תקשורת מאובטחת עם Fleet Engine (ADC): מגדירים את הקצה העורפי כך שישוחח עם המכונה של Fleet Engine באמצעות Application Default Credentials עם חשבון השירות המתאים עם הרשאת אדמין. עבור פרטים נוספים, Application Default Credentials
הגדרת תקשורת מאובטחת עם אפליקציות לקוח (JWT): יצירת אתר JSON מחולל אסימונים ליצירת אסימוני JWT עם הצהרות מתאימות ללקוח אפליקציות ואתרים למעקב. פרטים נוספים זמינים במאמר הנפקת אסימוני אינטרנט מסוג JSON.
הגדרה של אבטחת אפליקציות
מפתחי אפליקציות צריכים לכלול דרך לאחזור אסימוני אינטרנט JSON שנוצרו על ידי שרת הקצה העורפי באפליקציות או באתרים של הלקוח, ולהשתמש בהם כדי באופן מאובטח לתקשר עם Fleet Engine. פרטים נוספים זמינים בהוראות ההגדרה במסמכים של חוויית הנהג או חוויית הצרכן של האפליקציות הנדרשות.
תהליך האבטחה של אפליקציות שרת ולקוח
תרשים הרצף הבא מדגים את השרת ואפליקציית הלקוח תהליך האימות וההרשאה עם Fleet Engine באמצעות ADC שרת עורפי ואסימוני JWT עם אפליקציות הלקוח והאתרים.
שרת הקצה העורפי יוצר כלי רכב ונסיעות או משימות ב-Fleet Engine.
שרת הקצה העורפי – נסיעה או משימה לרכב: כשאפליקציית הנהג פעילה, היא מאחזרת את המטלה.
שרת הקצה העורפי: חותם על אסימון JWT ומנפיק אותו לחשבון השירות המתאים עם תפקיד ה-IAM המתאים למשימה או לנסיעה שהוקצו.
אפליקציית הלקוח: אפליקציית הלקוח משתמשת ב-JWT שהתקבל כדי לשלוח את הרכב עדכוני מיקום ל-Fleet Engine.
המאמרים הבאים
- יוצרים פרויקט ב-Fleet Engine.
- בקישור הבא מוסבר איך מנפיקים אסימוני אינטרנט JSON מהשרת שלכם.
- מידע נוסף על תפקידים בחשבונות שירות
- מידע נוסף על אסימוני JWT