本文件說明 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 權杖產生器,為用戶端應用程式和監控網站建立具有適當權杖附加資訊的 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。
- 進一步瞭解服務帳戶角色。
- 進一步瞭解 JWT。