安全性總覽

本文說明 Fleet Engine 如何在 Fleet Engine 系統的三個主要環境 (後端伺服器、Fleet Engine 伺服器,以及用戶端應用程式和網站) 之間,確保資訊交換安全。

Fleet Engine 採用最小權限原則,透過兩種基本方式管理安全性:

  • 應用程式預設憑證 (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。

  • 「授權」會指定通過驗證的實體可存取哪些資源。Fleet Engine 使用具備 Google Cloud IAM 角色的服務帳戶,以及 JWT 宣告,確保已驗證的實體有權查看或變更要求的資料。

伺服器和用戶端安全性設定

如要啟用 Fleet Engine 的安全性功能,請在後端伺服器、用戶端應用程式和網站上,設定必要的帳戶和安全性。

下圖概略說明在後端伺服器和用戶端應用程式上設定安全性的步驟。

設定伺服器和用戶端應用程式驗證時,安全性流程的圖表

詳情請參閱以下各節。

後端伺服器安全性設定

車隊管理員必須採取下列步驟:

  1. 建立及設定服務帳戶:

    1. 在 Google Cloud 控制台建立服務帳戶。

    2. 將特定 IAM 角色指派給服務帳戶。

    3. 使用建立的服務帳戶設定後端伺服器。詳情請參閱「服務帳戶角色」。

  2. 設定與 Fleet Engine (ADC) 的安全通訊:設定後端,使用應用程式預設憑證和適當的 *Admin 服務帳戶,與 Fleet Engine 執行個體通訊。詳情請參閱「應用程式預設憑證」。

  3. 設定與用戶端應用程式的安全通訊 (JWT):建立 JSON Web Token 產生器,為用戶端應用程式和監控網站建立具有適當宣告的 JWT。詳情請參閱「核發 JSON Web Token」。

應用程式安全防護設定

應用程式開發人員必須在用戶端應用程式或網站中,加入擷取後端伺服器所產生 JSON Web Token 的方法,並使用這些權杖與 Fleet Engine 安全通訊。詳情請參閱所需應用程式的司機體驗或消費者體驗說明文件中的設定操作說明。

伺服器和用戶端應用程式安全性流程

下列序列圖說明伺服器和用戶端應用程式的驗證和授權流程,其中 Fleet Engine 搭配後端伺服器使用 ADC,並搭配用戶端應用程式和網站使用 JWT。

伺服器和用戶端應用程式驗證作業期間的安全流程圖

  • 後端伺服器在 Fleet Engine 中建立車輛和行程或任務。

  • 後端伺服器將行程或工作指派給車輛: 司機應用程式啟用時,會擷取指派作業。

  • 後端伺服器:為各個服務帳戶簽署及核發 JWT,並為指派的工作或行程授予適當的 IAM 角色。

  • 用戶端應用程式:用戶端應用程式會使用收到的 JWT,將車輛位置更新傳送至 Fleet Engine。

後續步驟