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

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

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

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

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

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

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

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

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

  • Authorization จะระบุทรัพยากรที่เอนทิตีที่ตรวจสอบสิทธิ์แล้วมีสิทธิ์เข้าถึง Fleet Engine ใช้บัญชีบริการที่มีบทบาท 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

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