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

במסמך הזה מוסבר איך מנוע 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, וגם בטענות JWT שמבטיחות שלישויות המאומתות יש הרשאות לראות או לשנות את הנתונים שהן מבקשות.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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