本文件說明 Fleet Engine 如何在 Fleet Engine 系統的三個主要環境 (後端伺服器、Fleet Engine 伺服器,以及用戶端應用程式和網站) 之間,安全地交換資訊。
Fleet Engine 會根據最低權限原則,以兩種基本方式管理安全性:
應用程式預設憑證 (ADC):適用於伺服器對伺服器通訊等高權限環境。當後端伺服器建立車輛和行程,並在 Fleet Engine 中管理這些項目時,就會使用這項屬性。詳情請參閱「應用程式預設憑證」。
JSON Web Token (JWT):適用於低信任環境,例如在智慧型手機和瀏覽器上執行的用戶端應用程式。用於執行較低權限的作業,例如在 Fleet Engine 中更新車輛位置。
低信任度環境所需的 JWT 是由後端伺服器產生及核發,用於保護服務帳戶的密鑰,並包含 Fleet Engine 專用的額外權杖。詳情請參閱「JSON Web 符記」。
舉例來說,如果您有駕駛員應用程式,駕駛員會透過該應用程式存取 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 權杖產生器,為用戶端應用程式和監控網站建立具有適當權杖附加資訊的 JWT。詳情請參閱「發出 JSON Web Token」。
應用程式安全性設定
應用程式開發人員必須提供方式,讓用戶端應用程式或網站擷取後端伺服器產生的 JSON Web Token,並使用這些權杖與 Fleet Engine 安全地通訊。如需詳細資訊,請參閱所需應用程式的駕駛體驗或消費者體驗說明文件中的設定操作說明。
伺服器和用戶端應用程式安全性流程
下列流程圖示範了使用 Fleet Engine 的伺服器和用戶端應用程式驗證和授權流程,其中使用 ADC 搭配後端伺服器,以及 JWT 搭配用戶端應用程式和網站。
後端伺服器會在 Fleet Engine 中建立車輛和行程或工作。
後端伺服器將行程或任務指派給車輛:司機應用程式在啟用時會擷取指派。
您的後端伺服器:為相應服務帳戶簽署並發出 JWT,並為指派的工作或行程提供適當的 IAM 角色。
用戶端應用程式:用戶端應用程式會使用收到的 JWT,將車輛位置更新內容傳送至 Fleet Engine。
後續步驟
- 建立 Fleet Engine 專案。
- 瞭解如何從伺服器發出 JSON Web Token。
- 進一步瞭解服務帳戶角色。
- 進一步瞭解 JWTs。