IAM 設定和服務帳戶角色

正確設定身分與存取權管理功能,是使用 Fleet Engine 系統的安全性和身分管理功能的必要條件。使用 IAM 角色,針對不同的作業和資料自訂存取權,以滿足駕駛人、消費者和車隊營運商的需求。

什麼是服務帳戶和 IAM 角色?

您可以在 Google Cloud 控制台中設定服務帳戶,以便驗證並授權存取 Fleet Engine 中的資料。Fleet Engine 有一組預先定義的 IAM 角色,您可以指派給服務帳戶,藉此決定該帳戶有權存取的資料。詳情請參閱 Google Cloud 說明文件中的「服務帳戶總覽」。

Fleet Engine 會使用 IAM 角色和政策,管理 Fleet Engine API 方法和資源的授權。詳情請參閱 Google Cloud 說明文件中的「角色總覽」。請僅使用下列各節所述的 Fleet Engine 服務帳戶角色。

如要進一步瞭解如何授予 IAM 角色,請參閱「使用 Google Cloud 控制台授予 IAM 角色」。

Fleet Engine 服務帳戶角色

您為 Fleet Engine 安裝作業選擇的 Mobility 服務,會決定所包含的角色和權限。

以下角色說明權限與 Fleet Engine 角色的運作方式:

  • ondemandAdmindeliveryAdmin 角色可執行 Fleet Engine 中的所有作業。請僅在可信任的環境中使用這些角色,例如後端伺服器和 Fleet Engine 之間的通訊。

  • driverSdkUserconsumerSdkUser 角色僅可取得指派行程的詳細資料,以及更新或接收車輛位置。這類角色通常用於信任度較低的環境中,例如駕駛員、消費者或監控應用程式。

下表說明隨選行程和排程任務的角色和權限。

隨選行程

角色 權限

Fleet Engine On-demand 管理員

roles/fleetengine.ondemandAdmin

授予所有車輛和行程資源的讀取及寫入權限。具有此角色的使用者不必使用 JWT,應盡可能使用應用程式預設憑證。這個角色會忽略自訂 JWT 憑證附加資訊。請將這個角色的使用權限限制在後端伺服器等信任環境。

Fleet Engine 推動者 SDK 使用者

roles/fleetengine.driverSdkUser

更新車輛位置和路線,並擷取車輛和行程相關資訊。使用透過此角色建立的自訂宣告,搭配 JWT 驗證和授權共乘或外送服務的駕駛應用程式。

Fleet Engine 用戶 SDK 使用者

roles/fleetengine.consumerSdkUser

搜尋車輛,擷取車輛和行程的相關資訊。使用 JWT 搭配透過此角色建立的自訂宣告,用於共乘或外送的消費者應用程式。

已排定的工作

角色 權限

Fleet Engine Delivery 管理員

roles/fleetengine.deliveryAdmin

可讀取及寫入提交資源。具備這個角色的主體不需要使用 JWT,應改用應用程式預設憑證。忽略自訂 JWT 權杖。將此角色的使用權限限制在後端伺服器等信任環境。

Fleet Engine Delivery 的 Fleet Reader

roles/fleetengine.deliveryFleetReader

可授予讀取運輸車輛和工作的權限,以及使用追蹤 ID 搜尋工作的權限。具有此角色的服務帳戶所核發的權杖,通常會透過運送車隊操作員的網路瀏覽器使用。

不受信任的 Fleet Engine Delivery 駕駛員使用者

roles/fleetengine.deliveryUntrustedDriver

授予更新運送車輛位置的權限。具有此角色的服務帳戶所發出的權杖通常會在提交驅動程式的行動裝置上使用。

注意:不受信任的意思是指駕駛人的裝置並非由公司 IT 部門管理,而是由駕駛人提供,且通常沒有適當的 IT 安全控管機制。採用「自備裝置」政策的機構應選擇這個角色的安全性,並只透過行動應用程式將車輛位置更新內容傳送至 Fleet Engine。所有其他互動都應由後端伺服器發起。

Fleet Engine Delivery 一般使用者

roles/fleetengine.deliveryConsumer

可使用追蹤 ID 搜尋工作,以及讀取工作資訊但不更新。具有此角色的服務帳戶所發出的權杖,通常會在提交消費者的網路瀏覽器中使用。

Fleet Engine Delivery 受信任驅動者

roles/fleetengine.deliveryTrustedDriver

授予權限,可建立及更新運送車輛和工作,包括更新運送車輛位置和工作狀態或結果。具有此角色的服務帳戶所發出的權杖,通常會用於提交驅動程式的行動裝置或後端伺服器。

注意:所謂「受信任」是指駕駛人的裝置由公司 IT 部門管理,且具備適當的安全控制項。提供這些裝置的機構可以選擇將 Fleet Engine 互動整合至行動應用程式。

如何搭配使用 Fleet Engine 的 IAM 角色和服務帳戶

如要在 Fleet Engine 中使用服務帳戶進行驗證和授權,請按照下列一般步驟操作:

  1. 在 Google Cloud 控制台中,為所需的每個角色建立服務帳戶。您需要服務帳戶來驗證駕駛員、消費者、車隊監控和車隊管理應用程式和網站,也就是任何需要存取 Fleet Engine 資料的軟體。需要相同權限的軟體可以使用同一個服務帳戶。

  2. 為每個服務帳戶指派 Fleet Engine IAM 政策角色。請選取 Fleet Engine 專屬的 IAM 政策角色,該角色可提供適當權限來存取或更新 Fleet Engine 中的資料。

  3. 在應用程式和軟體中使用適當的服務帳戶,驗證他們與 Fleet Engine 的連線,並授權存取指派角色授予的資源。

如要進一步瞭解服務帳戶角色如何與 Fleet Engine 安全性配合運作,請參閱安全性總覽。如需服務帳戶角色的完整說明,請參閱 Google Cloud 說明文件中的「瞭解 IAM 角色」一文。

後續步驟

  • 請參閱 JSON Web Token 相關說明,瞭解這類權杖在 Fleet Engine 中的用途。
  • 如需 Fleet Engine 安全性總覽,請參閱安全性總覽
  • 如需 Google Cloud 主控台服務帳戶角色的完整說明,請參閱「瞭解 IAM 角色」一文。