ภาพรวมด้านความปลอดภัย

เอกสารนี้อธิบายวิธีที่ 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 ให้ตั้งค่าบัญชีที่จำเป็น และความปลอดภัยในเซิร์ฟเวอร์แบ็กเอนด์ รวมถึงในแอปพลิเคชันไคลเอ็นต์และ เว็บไซต์

แผนภาพต่อไปนี้แสดงภาพรวมของขั้นตอนในการตั้งค่าความปลอดภัยในเซิร์ฟเวอร์แบ็กเอนด์และแอปพลิเคชันไคลเอ็นต์

แผนภาพขั้นตอนการรักษาความปลอดภัยระหว่างการตั้งค่าสำหรับการตรวจสอบสิทธิ์ของเซิร์ฟเวอร์และแอปไคลเอ็นต์

ดูรายละเอียดเพิ่มเติมได้ที่ส่วนต่อไปนี้

การตั้งค่าความปลอดภัยของเซิร์ฟเวอร์แบ็กเอนด์

ผู้ดูแลระบบกลุ่มยานพาหนะต้องทำตามขั้นตอนต่อไปนี้

  1. สร้างและกำหนดค่าบัญชีบริการ

    1. สร้างบัญชีบริการใน Google Cloud Console

    2. มอบหมายบทบาท IAM ที่เฉพาะเจาะจงให้กับบัญชีบริการ

    3. กำหนดค่าเซิร์ฟเวอร์แบ็กเอนด์ด้วยบัญชีบริการที่สร้างขึ้น โปรดดูรายละเอียดที่บทบาทของบัญชีบริการ

  2. กำหนดค่าการสื่อสารที่ปลอดภัยกับ Fleet Engine (ADC): กำหนดค่าแบ็กเอนด์ให้สื่อสารกับอินสแตนซ์ Fleet Engine โดยใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันกับบัญชีบริการผู้ดูแลระบบที่เหมาะสม ดูรายละเอียดได้ที่ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน

  3. กำหนดค่าการสื่อสารที่ปลอดภัยกับแอปไคลเอ็นต์ (JWT): สร้างตัวสร้างโทเค็นเว็บ JSON เพื่อสร้าง JWT ที่มีการอ้างสิทธิ์ที่เหมาะสมสำหรับแอปพลิเคชันไคลเอ็นต์และเว็บไซต์ตรวจสอบ ดูรายละเอียดได้ที่ ออกโทเค็นเว็บ JSON

การตั้งค่าความปลอดภัยของแอปพลิเคชัน

นักพัฒนาแอปพลิเคชันต้องหาวิธีดึงโทเค็นเว็บ JSON ที่สร้างโดยเซิร์ฟเวอร์แบ็กเอนด์ในแอปหรือเว็บไซต์ไคลเอ็นต์ และใช้โทเค็นดังกล่าวเพื่อสื่อสารกับ Fleet Engine อย่างปลอดภัย โปรดดูรายละเอียดในวิธีการตั้งค่าในเอกสารประกอบประสบการณ์การใช้งานของคนขับหรือประสบการณ์การใช้งานของผู้บริโภคสำหรับแอปพลิเคชันที่คุณต้องการ

ขั้นตอนความปลอดภัยของแอปเซิร์ฟเวอร์และไคลเอ็นต์

แผนภาพลำดับต่อไปนี้แสดงโฟลว์การตรวจสอบสิทธิ์และการให้สิทธิ์ของเซิร์ฟเวอร์และแอปไคลเอ็นต์ ด้วย Fleet Engine โดยใช้ ADC กับ เซิร์ฟเวอร์แบ็กเอนด์ และ JWT กับแอปพลิเคชันไคลเอ็นต์และเว็บไซต์

แผนภาพขั้นตอนการรักษาความปลอดภัยระหว่างการดำเนินการสำหรับการตรวจสอบสิทธิ์แอปเซิร์ฟเวอร์และไคลเอ็นต์

  • เซิร์ฟเวอร์แบ็กเอนด์ของคุณสร้างยานพาหนะและการเดินทางหรืองานใน Fleet Engine

  • เซิร์ฟเวอร์แบ็กเอนด์ของคุณส่งการเดินทางหรืองานไปยังยานพาหนะ เมื่อเปิดใช้งาน แอปคนขับจะดึงข้อมูลงานที่ได้รับ

  • เซิร์ฟเวอร์แบ็กเอนด์: ลงนามและออก JWT สำหรับบัญชีบริการที่เกี่ยวข้อง โดยมีบทบาท IAM ที่เหมาะสมสำหรับงานหรือการเดินทางที่กำหนด

  • แอปไคลเอ็นต์: แอปไคลเอ็นต์ใช้ JWT ที่ได้รับเพื่อส่งข้อมูลอัปเดตตำแหน่งของยานพาหนะไปยัง Fleet Engine

ขั้นตอนถัดไป