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