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

เอกสารนี้อธิบายวิธีที่ Fleet Engine รักษาความปลอดภัยในการแลกเปลี่ยนข้อมูลระหว่างสภาพแวดล้อมหลัก 3 อย่างของระบบ Fleet Engine ได้แก่ เซิร์ฟเวอร์แบ็กเอนด์, เซิร์ฟเวอร์ Fleet Engine รวมถึงแอปพลิเคชันไคลเอ็นต์และเว็บไซต์

Fleet Engine จัดการความปลอดภัยด้วยวิธีพื้นฐาน 2 วิธี โดยใช้หลักการให้สิทธิ์ขั้นต่ำที่สุด ดังนี้

  • ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC): สำหรับสภาพแวดล้อมที่มีสิทธิ์สูง เช่น การสื่อสารระหว่างเซิร์ฟเวอร์กับเซิร์ฟเวอร์ ใช้เมื่อเซิร์ฟเวอร์แบ็กเอนด์สร้างยานพาหนะและการเดินทาง รวมถึงจัดการยานพาหนะและการเดินทางเหล่านั้นใน Fleet Engine โปรดดูรายละเอียดที่หัวข้อข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน

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

    JWT ที่สภาพแวดล้อมที่มีความน่าเชื่อถือต่ำต้องการจะสร้างและออกโดยเซิร์ฟเวอร์แบ็กเอนด์เพื่อปกป้องคีย์ลับของบัญชีบริการ และรวมการอ้างสิทธิ์เพิ่มเติมที่เจาะจงสำหรับ Fleet Engine โปรดดูรายละเอียดที่หัวข้อ JSON Web Tokens

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

Fleet Engine ใช้วิธีการรักษาความปลอดภัยเหล่านี้เพื่อให้บริการต่อไปนี้

  • การตรวจสอบสิทธิ์จะยืนยันตัวตนของเอนทิตีที่ส่งคำขอ Fleet Engine ใช้ ADC สำหรับสภาพแวดล้อมที่มีความน่าเชื่อถือสูง และใช้ JWT สำหรับสภาพแวดล้อมที่มีความน่าเชื่อถือต่ำ

  • การให้สิทธิ์จะระบุทรัพยากรที่เอนทิตีที่ผ่านการตรวจสอบสิทธิ์มีสิทธิ์เข้าถึง Fleet Engine ใช้บัญชีบริการที่มีบทบาท Google Cloud IAM รวมถึงการอ้างสิทธิ์ JWT ที่ช่วยให้มั่นใจว่าเอนทิตีที่ตรวจสอบสิทธิ์แล้วมีสิทธิ์ดูหรือเปลี่ยนแปลงข้อมูลที่ขอ

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

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

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

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

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

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

ผู้ดูแลระบบ Fleet ต้องทำตามขั้นตอนต่อไปนี้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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