本文說明 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 啟用安全性,請在後端伺服器、用戶端應用程式和網站上設定必要帳戶和安全性。
下圖概述在後端伺服器和用戶端應用程式上設定安全性的步驟。
詳情請參閱以下各節。
後端伺服器安全性設定
車隊管理員必須採取下列步驟:
建立及設定服務帳戶:
在 Google Cloud 控制台中建立服務帳戶。
為服務帳戶指派特定 IAM 角色。
使用建立的服務帳戶設定後端伺服器。詳情請參閱「服務帳戶角色」。
設定與 Fleet Engine 的安全通訊 (ADC):設定後端,使用應用程式預設憑證和適當的 *Admin 服務帳戶,與 Fleet Engine 執行個體通訊。詳情請參閱「應用程式預設憑證」。
設定與用戶端應用程式的安全通訊 (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。
後續步驟
- 建立 Fleet Engine 專案。
- 瞭解如何從伺服器核發 JSON Web Token。
- 進一步瞭解服務帳戶角色。
- 進一步瞭解 JWT。