เอกสารนี้อธิบายวิธีที่ Fleet Engine รักษาความปลอดภัยในการแลกเปลี่ยนข้อมูลระหว่างสภาพแวดล้อมหลัก 3 อย่างของระบบ Fleet Engine ได้แก่ เซิร์ฟเวอร์แบ็กเอนด์ เซิร์ฟเวอร์ Fleet Engine และแอปพลิเคชันและเว็บไซต์ไคลเอ็นต์
Fleet Engine จัดการความปลอดภัยใน 2 วิธีพื้นฐานโดยใช้หลักการ สิทธิ์น้อยที่สุด
ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน (ADC): สำหรับสภาพแวดล้อมที่มีสิทธิ์สูง เช่น การสื่อสารจากเซิร์ฟเวอร์ไปยังเซิร์ฟเวอร์ ใช้เมื่อเซิร์ฟเวอร์แบ็กเอนด์ สร้างยานพาหนะและการเดินทาง รวมถึงจัดการยานพาหนะและการเดินทางใน Fleet Engine โปรดดูรายละเอียดที่ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน
โทเค็นเว็บ JSON (JWT): สำหรับสภาพแวดล้อมที่มีความน่าเชื่อถือต่ำ เช่น แอปพลิเคชันไคลเอ็นต์ที่ทำงานบนสมาร์ทโฟนและเบราว์เซอร์ ใช้เพื่อดำเนินการที่มีสิทธิ์ต่ำกว่า เช่น การอัปเดตตำแหน่งยานพาหนะใน 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 Console
มอบหมายบทบาท 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 จากเซิร์ฟเวอร์
- ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทของบัญชีบริการ
- ดูข้อมูลเพิ่มเติมเกี่ยวกับ JWT