情境感知存取權代理程式安全性

本文說明情境感知存取權如何透過在 Gemini Enterprise Agent Platform 中強制執行相互 TLS (mTLS) 和示範擁有權證明 (DPoP) 驗證與授權,在 Gemini Enterprise Agent Platform 中支援端對端安全防護機制。

在 Gemini Enterprise Agent Platform 中,Agent Gateway (預覽版) 可控管所有代理與代理之間,以及代理與任何位置之間的互動, 包括內嵌存取控管。

情境感知存取權預設為開啟,可確保受 Agent Gateway 管控的代理程式使用下列方法進行驗證 (authn) 和授權 (authz) 安全防護:

  • 相互傳輸層安全標準 (mTLS):為確保存取 Agent Gateway 的代理程式安全無虞,情境感知存取權和 IAP 會驗證憑證型權杖繫結,強制代理程式使用 mTLS

  • 證明擁有權 (DPoP):為確保代理程式存取 Agent Gateway 以外的服務時安全無虞,情境感知存取權會使用 DPoP,強制驗證代理程式身分是否有效。

停用 Agent Gateway 後,代理程式可透過 mTLS 直接存取Google Cloud API。不過,啟用代理閘道後,閘道會終止 mTLS,因此必須使用 DPoP。

強制執行雙向傳輸層安全標準和 DPoP 後,情境感知存取權可提供端對端的基本安全防護,有助於防範憑證遭竊和帳戶入侵 (ATO)。強制執行情境感知存取權政策,有助於確保遭盜用的權杖在預期用途以外的受信任執行階段中無效。情境感知存取權強制執行憑證繫結,有助於確保不同 Gemini Enterprise Agent Platform Runtime 租戶之間的憑證隔離。

基本概念

如要瞭解情境感知存取權如何使用 mTLS 和 DPoP,強制執行代理程式與資源互動的安全措施,請務必瞭解下列概念。

  • 代理程式身分集區:資源和設定的群組,用於管理特定代理程式組合的安全憑證和金鑰。

  • 授權 DPoP 驗證:代理程式首次獲派身分時,代理程式身分產生的加密驗證。

  • 與憑證繫結的工作負載存取權杖:以密碼編譯方式與代理程式的 X.509 憑證繫結的權杖。這個權杖用於驗證代理程式,透過 Google Cloud API (包括 Agent Gateway) 進行 mTLS 資源存取。情境感知存取權 (CAA) 政策會驗證這個繫結,強制使用相互傳輸層安全性 (mTLS)。驗證可確保權杖只能由在佈建環境中執行的代理程式使用,例如 Cloud Run 容器。

  • 示範擁有權證明 (DPoP):代理程式通過 Agent Gateway 後,必須使用的通訊協定,才能透過 Google Cloud API 驗證及存取資源。與雙向傳輸層安全標準 (mTLS) 比較。DPoP 是以 RFC 9449 為基礎。

  • DPoP 金鑰管理:系統會為基礎代理程式身分集區佈建必要的公開/私密金鑰組,以支援 DPoP 作業。

  • DPoP 繫結授權權杖:平台也會將授權權杖繫結至代理程式。這個權杖與代理程式的憑證繫結,並使用代理程式身分管理的一組金鑰簽署,因此支援 DPoP。情境感知存取權會強制執行這項 DPoP 權杖的存在性和有效性,確認呼叫端擁有相關聯的私密金鑰。

  • 相互傳輸層安全標準 (mTLS):代理身分用來存取 API 的驗證通訊協定,包括存取 Agent Gateway。Google Cloud 與 DPoP 比較。

  • 資源 DPoP 驗證:由 Agent Gateway 產生並提供給 Google CloudAPI 的加密驗證。

  • SPIFFE 身分:部署後,系統會自動為每個代理程式提供專屬且可透過密碼驗證的身分,並遵循 SPIFFE (Secure Production Identity Framework For Everyone) 架構。 SPIFFE 提供雲端原生環境的聯合服務身分架構。

  • X.509 憑證:代理程式的容器會收到由 Google 管理的信任網域核發的 X.509 憑證,代表其 SPIFFE 身分。這項憑證可用於建立安全通訊管道。

透過 Agent Gateway 執行情境感知存取權

Agent Platform 會使用情境感知存取權,從代理身分到 Agent Gateway,以及從 Agent Gateway 到資源,強制執行內嵌安全性。情境感知存取權是下列工作流程的一部分。

代理程式部署

  1. 代理程式部署在 Gemini Enterprise Agent Platform Runtime。

  2. Agent Identity 會自動佈建下列項目:

    • 包含金鑰組的代理身分集區

    • 集區中的代理程式工作負載,具備下列項目:

      • 專屬 SPIFFE 身分

      • 不重複的已簽署憑證繫結工作負載存取權杖,其中包含加密的授權 DPoP 驗證

使用 mTLS 進行代理至代理閘道存取

  1. 當代理程式使用 mTLS 存取 Google Cloud API 時,必須通過 Agent Gateway。在這種情況下,mTLS 會在代理程式和 Agent Gateway 之間提供安全管道。

  2. 情境感知存取權會驗證代理程式是否已佈建憑證繫結權杖,並使用 mTLS。

  3. Agent Gateway 會檢查代理程式是否獲准存取資源。

    Agent Gateway 會使用 IAP 檢查代理的 IAM 允許政策。如果目標資源的身分與存取權管理允許政策允許代理程式嘗試存取,代理程式閘道就會允許代理程式呼叫 Google CloudAPI。

    不過,由於 mTLS 會在 Agent Gateway 終止,因此當代理程式嘗試存取Google Cloud API 時,必須使用 DPoP 重新驗證。

使用 DPoP 授予代理閘道資源存取權

  1. 如要啟用 DPoP,Agent Gateway 會使用 IAP 生成資源 DPoP 驗證。Agent Gateway 會將資源 DPoP 驗證傳遞至 Google Cloud API。

  2. 代理程式嘗試存取 Google Cloud API。

  3. 情境感知存取權會以加密方式驗證授權 DPoP 證明和資源 DPoP 證明是否是在代理程式身分集區中,使用相同的私密金鑰產生。

  4. 如果情境感知存取權驗證了這兩項 DPoP 證明,代理程式就能透過 Google Cloud API 存取資源。

停用 CAA 政策強制執行

在某些情況下,您可能需要停用情境感知存取權政策的強制執行功能。舉例來說,您可能對代理程式間的權杖共用有特定要求。

如要停用 CAA 政策強制執行功能,請設定下列環境變數:

GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES=False

後續步驟