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

เอกสารนี้อธิบายวิธีที่ 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 ใช้บัญชีบริการที่มีบทบาท Cloud IAM ของ Google Cloud รวมถึงการอ้างสิทธิ์ JWT เพื่อให้มั่นใจว่าเอนทิตีที่ได้รับการตรวจสอบสิทธิ์มีสิทธิ์ดูหรือเปลี่ยนแปลงข้อมูลที่ขอ

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

หากต้องการเปิดใช้ความปลอดภัยด้วย Fleet Engine ให้ตั้งค่าบัญชีที่จำเป็น และความปลอดภัยในเซิร์ฟเวอร์แบ็กเอนด์ รวมถึงในแอปพลิเคชันไคลเอ็นต์และ เว็บไซต์

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

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

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

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

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

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

    1. สร้างบัญชีบริการในคอนโซล Google Cloud

    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

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