使用情境感知存取權保護應用程式和資源

Last reviewed 2025-07-22 UTC

本文說明如何使用情境感知存取權,保護不同類型的應用程式和資源。情境感知存取權是一種安全性方法,可根據使用者的驗證強度、裝置狀態、網路位置、地理位置或其他屬性,控管使用者的存取權。這種做法不只是使用基本使用者身分進行安全存取,還能協助您實作零信任安全模型,強化整體資安態勢。如要進一步瞭解最佳做法,請參閱「使用情境感知存取權保護應用程式和資源的最佳做法」。

為保護應用程式和 Google Cloud 資源,您可以根據各種情境因素和組合,定義精細的存取控管機制。您可以使用 Access Context Manager 定義存取權政策,其中包含存取層級和服務參數。

本文適用於負責 Identity and Access Management (IAM) 以及 Google Cloud 資源和應用程式安全性的資安專業人員。本文假設您已熟悉 Access Context Manager、Google Cloud和 IAM 管理。

存取層級

您可以透過存取層級定義一組要求,使用者和裝置必須符合這些要求,才能達到特定信任層級。

例如,您可以使用 Access Context Manager 為組織設定下列存取層級:

  • 基本:您認為是最低等級的基本需求。
  • 中:您希望員工和公司裝置符合更嚴格的要求。這個存取層級可能會排除延伸工作團隊使用者和非公司裝置。
  • 高:只有特定員工和裝置符合的嚴格要求。

存取層級本身不會對使用者或裝置產生任何立即影響。存取層級會指定需求條件,但不會定義應強制執行這些需求條件的使用者、應用程式或資源。存取層級就像可重複使用的設定,在設定特定應用程式或資源的存取權時,可以參考這項設定。

Google Cloud 可讓您針對多種不同類型的應用程式或資源使用存取層級,包括本文所述的下列項目:

  • Google Workspace 和 Google Cloud以外的其他應用程式和服務
  • Google Cloud 控制台和 Google Cloud API
  • 虛擬私有雲 (VPC) service perimeter
  • 透過 Identity-Aware Proxy (IAP) 存取 SSH 和 RDP
  • 網頁應用程式適用的 IAP

應用程式和資源

以下各節說明如何將存取層級套用至不同類型的應用程式和資源,以及不同類型的程序有何差異。

Google Workspace 和 Google Cloud以外的其他應用程式和服務

Google Cloud 以外支援情境感知存取權的應用程式和服務包括:

  • Google 管理控制台
  • Gmail、Google Meet 和 Google 日曆等 Google Workspace 應用程式
  • 其他 Google 應用程式,例如 Gemini 或數據分析
  • 自訂 SAML 應用程式

如要限制Google Cloud以外的 Google Workspace 和應用程式與服務存取權,請在管理控制台中,為各項服務或應用程式設定情境感知存取權。在管理控制台中,執行下列操作:

  • 定義要套用存取層級的範圍。範圍是下列項目的組合:

    • 要保護的特定服務或 SAML 應用程式。
    • 包含相關使用者的組織單位 (OU) 或群組。
  • 選取要套用至所選範圍的存取層級。

指派存取層級時,您也可以變更該存取層級的設定。您可以指定只有在使用者直接存取網頁應用程式時,才套用存取層級。或者,您也可以指定在行動應用程式和其他應用程式存取 API 時,也套用該層級。詳情請參閱「為應用程式指派情境感知存取權」一文中的「以存取層級設定為依據的應用程式行為」一節。

特定使用者和應用程式可能有多項指派作業。舉例來說,使用者可能是「員工」機構單位的成員,也是「all-apac」團隊的成員。各個機構單位和群組可能獲派不同的存取層級。在這種情況下,Cloud Identity 和 Google Workspace 只會套用優先順序最高的指派項目:

  • 群組指派項目的優先順序高於機構單位指派項目。
  • 您可以在群組中自訂相對優先順序。
  • 在機構單位中,根機構單位的相對優先順序最低。

Cloud Identity 和 Google Workspace 可讓您在情境感知存取權記錄中,查看及分析情境感知存取權事件。

Google Cloud 控制台和 Google Cloud API

您可以使用存取權繫結,設定 Google Cloud 控制台和Google Cloud API 的情境感知存取權。

Google Cloud API 使用 OAuth 2.0 進行驗證。如要使用 Google CloudAPI,使用者必須具備 Google 核發的有效 OAuth 存取權杖,且該權杖必須針對其中一個 Google Cloud OAuth 範圍核發。存取權繫結會限制使用者取得這類存取權杖的能力。因此,存取權繫結會限制對 Google Cloud 控制台和所有使用 Google Cloud OAuth 範圍的 OAuth 應用程式的存取權,例如:

  • gcloud CLI
  • Terraform 等第三方工具
  • 您自行建立且使用 Google Cloud OAuth 範圍的 OAuth 應用程式

存取權繫結會將群組連結至存取層級。每個群組只能有一個存取權繫結。每個存取權繫結都可以定義下列設定:

  • scopedAccessSettings 清單,用於為個別 OAuth 應用程式指派存取層級。
  • 預設存取層級。

如果存取權繫結同時指定範圍存取權設定和預設存取層級,則會使用 OR 語意合併這兩個存取層級。這樣一來,使用者只要符合其中一個存取層級,就能存取 OAuth 應用程式。

存取權繫結會套用至群組的直接和間接成員。如果使用者屬於多個群組,可能適用多個存取權繫結,進而產生多個存取層級。在這種情況下,存取層級也會使用 OR 語意合併,這表示使用者只需要符合其中一個存取層級即可。

VPC Service Perimeter

建立虛擬私有雲服務範圍時,您會指定受限制的服務清單。受限服務可以從 service perimeter 內部存取,但預設無法從 service perimeter 外部存取。

如要允許從 service perimeter 外部存取,請使用輸入規則。輸入規則可讓您指定允許外部存取的條件。您可以使用存取層級,讓輸入規則強制執行情境感知存取權。

虛擬私有雲 service perimeter 可有多個輸入規則。因此,特定使用者和應用程式可能適用多項輸入規則,而這些輸入規則可能需要不同的存取層級。在這種情況下,系統會使用 OR 語意評估存取層級,使用者只需符合其中一個存取層級即可。

您可以將存取繫結與 VPC service perimeter 輸入規則結合。如果存取繫結和輸入規則為特定使用者和應用程式指定不同的存取層級,系統會使用 AND 語意合併這些層級。在這種情況下,使用者必須符合這兩個存取層級。

如要查看及分析嘗試存取 VPC service perimeter 資源的行為,可以使用 VPC Service Controls 稽核記錄或 VPC Service Controls 違規分析工具。

透過 SSH 和 RDP 存取 VM

您可以使用 IAP TCP 轉送功能,為 VM 的 SSH 和 RDP 存取權設定情境感知存取權。

IAP TCP 轉送支援存取繫結和 VPC Service Controls 輸入規則。 Google Cloud 控制台和 Cloud API 的存取繫結會自動套用至 IAP TCP 轉送。

如果 service perimeter 將 iaptunnel.googleapis.com 服務列為受限制服務,則輸入規則會自動套用至 IAP TCP 轉送。如要進一步瞭解最佳做法,請參閱「將 IAP TCP 轉送納入受限制的服務」。

您也可以使用 IAM 條件設定情境感知存取權。您可以使用 IAM 條件,做為存取繫結和 VPC Service Perimeter 輸入規則的替代方案,也可以一併使用。

  • 將「受 IAP 保護的通道使用者」角色 (roles/iap.tunnelResourceAccessor) 授予使用者或群組。接著,在角色繫結中新增 IAM 條件運算式,要求使用者必須符合特定存取層級。例如,運算式可能如下所示:

    "accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
    
  • 您也可以視需要自訂 IAM 條件,要求多個存取層級或加入其他檢查。

當特定使用者和應用程式存取 IAP TCP 轉送時,可能會受到存取繫結、輸入規則和 IAM 條件的限制。在這種情況下,系統會使用 AND 語意合併存取層級,且使用者必須符合所有存取層級。

如要查看及分析存取 IAP TCP 轉送的嘗試,您必須啟用 IAP 的資料存取稽核記錄。

網頁應用程式

您可以使用 IAP 為網頁應用程式設定情境感知存取權。

網頁應用程式的 IAP 與 IAP TCP 轉送功能不同:

  • 存取權繫結不適用於設定 IAP 的網頁應用程式,因為 IAP 使用的 OAuth 應用程式不使用任何 Google Cloud OAuth 範圍。
  • VPC service perimeter 輸入規則不適用於設定 IAP 的網頁應用程式,因為 IAP 不是Google Cloud API,無法設為受限制的服務。

如要使用 IAP 設定網頁應用程式的情境感知存取權,必須使用 IAM 條件:

  • 將「受 IAP 保護的網頁應用程式使用者」角色 (roles/iap.httpsResourceAccessor) 授予使用者或群組。接著,在角色繫結中新增 IAM 條件運算式,要求使用者必須符合特定存取層級。例如,運算式可能如下所示:

    "accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
    
  • 您也可以視需要自訂 IAM 條件,要求多個存取層級或加入其他檢查。

如要查看及分析嘗試存取已設定 IAP 的網頁應用程式,您必須為 IAP 啟用資料存取稽核記錄。

後續步驟

貢獻者

作者:Johannes Passing | 雲端解決方案架構師

其他貢獻者:Ido Flatow | 雲端解決方案架構師