เอกสารนี้อธิบายวิธีที่ Fleet Engine รักษาความปลอดภัยในการแลกเปลี่ยนข้อมูลระหว่างสภาพแวดล้อมหลัก 3 รายการของระบบ Fleet Engine ได้แก่ เซิร์ฟเวอร์แบ็กเอนด์ เซิร์ฟเวอร์ Fleet Engine และแอปพลิเคชันและเว็บไซต์ไคลเอ็นต์
Fleet Engine จัดการความปลอดภัยด้วยวิธีพื้นฐาน 2 วิธี โดยใช้หลักการของสิทธิ์ระดับต่ำสุด ดังนี้
ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน (ADC): สําหรับสภาพแวดล้อมที่มีสิทธิ์สูง เช่น การสื่อสารระหว่างเซิร์ฟเวอร์ ใช้เมื่อเซิร์ฟเวอร์แบ็กเอนด์สร้างยานพาหนะและการเดินทาง รวมถึงจัดการยานพาหนะและการเดินทางใน Fleet Engine โปรดดูรายละเอียดที่หัวข้อข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน
JSON Web Token (JWT): สําหรับสภาพแวดล้อมที่มีความน่าเชื่อถือต่ำ เช่น แอปพลิเคชันไคลเอ็นต์ที่ทํางานบนสมาร์ทโฟนและเบราว์เซอร์ ใช้เพื่อดำเนินการที่มีสิทธิ์ต่ำกว่า เช่น การอัปเดตตำแหน่งของยานพาหนะใน Fleet Engine
JWT ที่จําเป็นสําหรับสภาพแวดล้อมที่มีระดับความน่าเชื่อถือต่ำจะสร้างขึ้นและออกโดยเซิร์ฟเวอร์แบ็กเอนด์เพื่อปกป้องคีย์ลับของบัญชีบริการ รวมถึงมีการอ้างสิทธิ์เพิ่มเติมสําหรับ Fleet Engine โดยเฉพาะ โปรดดูรายละเอียดที่หัวข้อโทเค็นเว็บ JSON
ตัวอย่างเช่น หากคุณมีแอปคนขับ คนขับจะเข้าถึงข้อมูลจาก Fleet Engine ได้ผ่านแอป โดยแอปจะตรวจสอบสิทธิ์โดยใช้ JWT ที่ได้รับจากเซิร์ฟเวอร์แบ็กเอนด์ การอ้างสิทธิ์ JWT ที่รวมอยู่ด้วยพร้อมกับบทบาทของบัญชีบริการจะเป็นตัวกำหนดว่าแอปคนขับมีสิทธิ์เข้าถึงส่วนใดของระบบและสามารถทําอะไรได้บ้าง แนวทางนี้จะจํากัดการเข้าถึงเฉพาะข้อมูลที่จําเป็นต่อการขับรถให้เสร็จสมบูรณ์
Fleet Engine ใช้แนวทางการรักษาความปลอดภัยเหล่านี้เพื่อมอบสิ่งต่อไปนี้
การตรวจสอบสิทธิ์จะยืนยันตัวตนของบุคคลที่ส่งคำขอ เครื่องมือของ Fleet ใช้ ADC สําหรับสภาพแวดล้อมที่มีความน่าเชื่อถือสูงและใช้ JWT สําหรับสภาพแวดล้อมที่มีความน่าเชื่อถือต่ำ
การให้สิทธิ์จะระบุทรัพยากรที่เอนทิตีที่ตรวจสอบสิทธิ์เข้าถึงได้ Fleet Engine ใช้บัญชีบริการที่มีบทบาท IAM ของ Google Cloud รวมถึงการอ้างสิทธิ์ JWT เพื่อให้แน่ใจว่าเอนทิตีที่ตรวจสอบสิทธิ์แล้วมีสิทธิ์ดูหรือเปลี่ยนแปลงข้อมูลที่ขอ
การตั้งค่าความปลอดภัยของเซิร์ฟเวอร์และไคลเอ็นต์
หากต้องการเปิดใช้ความปลอดภัยด้วย Fleet Engine ให้ตั้งค่าบัญชีและความปลอดภัยที่จำเป็นในเซิร์ฟเวอร์แบ็กเอนด์ และแอปพลิเคชันและเว็บไซต์ไคลเอ็นต์
แผนภาพต่อไปนี้แสดงภาพรวมของขั้นตอนในการตั้งค่าความปลอดภัยในเซิร์ฟเวอร์แบ็กเอนด์และแอปพลิเคชันไคลเอ็นต์
โปรดดูรายละเอียดเพิ่มเติมในส่วนต่อไปนี้
การตั้งค่าความปลอดภัยของเซิร์ฟเวอร์แบ็กเอนด์
ผู้ดูแลระบบของกลุ่มรถจะต้องทําตามขั้นตอนต่อไปนี้
สร้างและกําหนดค่าบัญชีบริการ
สร้างบัญชีบริการในคอนโซล Google Cloud
มอบหมายบทบาท IAM ที่เฉพาะเจาะจงให้กับบัญชีบริการ
กำหนดค่าเซิร์ฟเวอร์แบ็กเอนด์ด้วยบัญชีบริการที่สร้างไว้ โปรดดูรายละเอียดที่หัวข้อบทบาทของบัญชีบริการ
กำหนดค่าการสื่อสารที่ปลอดภัยกับ Fleet Engine (ADC): กำหนดค่าแบ็กเอนด์เพื่อสื่อสารกับอินสแตนซ์ Fleet Engine โดยใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันด้วย *บัญชีบริการของผู้ดูแลระบบที่เหมาะสม ดูรายละเอียดได้ที่ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน
กำหนดค่าการสื่อสารที่ปลอดภัยกับแอปไคลเอ็นต์ (JWT): สร้างเครื่องมือสร้างโทเค็นเว็บ JSON เพื่อสร้าง JWT ที่มีการอ้างสิทธิ์ที่เหมาะสมสําหรับแอปพลิเคชันไคลเอ็นต์และเว็บไซต์ตรวจสอบ โปรดดูรายละเอียดที่หัวข้อออก JSON เว็บโทเค็น
การตั้งค่าความปลอดภัยของแอปพลิเคชัน
นักพัฒนาแอปพลิเคชันต้องระบุวิธีดึงข้อมูลโทเค็นเว็บของ JSON ที่เซิร์ฟเวอร์แบ็กเอนด์สร้างขึ้นในแอปหรือเว็บไซต์ไคลเอ็นต์ และใช้โทเค็นดังกล่าวเพื่อสื่อสารกับ Fleet Engine อย่างปลอดภัย ดูรายละเอียดได้ในวิธีการตั้งค่าในเอกสารประกอบประสบการณ์การใช้งานของไดรเวอร์หรือประสบการณ์การใช้งานของผู้บริโภคสำหรับแอปพลิเคชันที่ต้องการ
ขั้นตอนการรักษาความปลอดภัยของแอปเซิร์ฟเวอร์และไคลเอ็นต์
แผนภาพลำดับขั้นต่อไปนี้แสดงขั้นตอนการตรวจสอบสิทธิ์และการให้สิทธิ์ของเซิร์ฟเวอร์และแอปไคลเอ็นต์ด้วย Fleet Engine โดยใช้ ADC กับเซิร์ฟเวอร์แบ็กเอนด์และ JWT กับแอปพลิเคชันและเว็บไซต์ไคลเอ็นต์
เซิร์ฟเวอร์แบ็กเอนด์จะสร้างยานพาหนะและการเดินทางหรืองานใน Fleet Engine
เซิร์ฟเวอร์แบ็กเอนด์ส่งการเดินทางหรืองานไปยังยานพาหนะ: แอปคนขับจะดึงข้อมูลงานเมื่อแอปทำงานอยู่
เซิร์ฟเวอร์แบ็กเอนด์ของคุณ: ลงนามและออก JWT สําหรับบัญชีบริการที่เกี่ยวข้องซึ่งมีบทบาท IAM ที่เหมาะสมสําหรับงานหรือการเดินทางที่ได้รับมอบหมาย
แอปไคลเอ็นต์: แอปไคลเอ็นต์ใช้ JWT ที่ได้รับเพื่อส่งการอัปเดตตำแหน่งของยานพาหนะไปยัง Fleet Engine
ขั้นตอนถัดไป
- สร้างโปรเจ็กต์ Fleet Engine
- ดูวิธีออก JSON Web Token จากเซิร์ฟเวอร์
- ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทของบัญชีบริการ
- ดูข้อมูลเพิ่มเติมเกี่ยวกับ JWT