安全性總覽

本文說明 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,用戶端應用程式和網站則使用 JWT。

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

  • 後端伺服器會在 Fleet Engine 中建立車輛和行程或工作

  • 後端伺服器將行程或工作指派給車輛:駕駛人應用程式會在啟用時擷取指派項目。

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

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

後續步驟