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

Last reviewed 2025-07-22 UTC

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

為確保應用程式和 Google Cloud 資源安全無虞,您可以根據各種背景資訊因素和組合,定義精細的存取權控管。您可以使用 Access Context Manager 定義存取政策,其中包含存取層級和服務參數。

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

存取層級

存取層級可讓您定義一組需求,使用者和裝置必須滿足這些需求,才能達到特定信任等級。

舉例來說,您可以使用 Access Context Manager 為機構設定下列存取層級:

  • 基本:您認為的最低要求。
  • :更嚴格的規定,要求員工和公司裝置必須符合。這個存取層級可能會排除擴展工作團隊使用者和非公司裝置。
  • :嚴格的規定,只有特定員工和裝置符合條件。

存取層級本身不會立即影響使用者或裝置。存取層級會指定要求,但不會定義應強制執行這些要求的對象 (使用者、應用程式或資源)。存取層級就像可重複使用的設定,您可以在設定特定應用程式或資源的存取權時參照。

Google Cloud 可讓您為多種不同類型的應用程式或資源使用存取層級,包括以下項目 (詳情請參閱本文):

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

應用程式和資源

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

Google Workspace 和其他應用程式與服務 (不屬於 Google Cloud

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

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

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

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

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

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

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

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

透過 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 應用程式的存取權,例如:

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

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

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

存取權繫結會套用至群組的直接和間接成員。如果使用者是多個群組的成員,則可能適用多個存取權繫結,進而導致多個存取層級。在本例中,存取層級也會使用 OR 語意合併,這表示使用者只需要符合其中一個存取層級。

虛擬私有雲服務範圍

建立 VPC 服務範圍時,您會指定受限制的服務清單。您可以在服務範圍內存取受限制的服務,但根據預設,無法從服務範圍外存取。

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

一個 VPC 服務範圍可以有多個連入規則。因此,特定使用者和應用程式可能適用多個連入規則,而這些規則可能需要不同的存取層級。在這種情況下,系統會使用 OR 語意評估存取層級,使用者只需符合其中一個存取層級即可。

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

如要查看及分析在 VPC 服務範圍內存取資源的嘗試,可以使用 VPC Service Controls 稽核記錄VPC Service Controls 違規分析工具

透過 SSH 和 RDP 存取 VM

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

IAP TCP 轉送功能支援存取權繫結和 VPC 服務範圍輸入規則。系統會自動將 Google Cloud 控制台和 Cloud API 的存取權繫結套用至 IAP TCP 轉送。

如果服務範圍包含「iaptunnel.googleapis.com」服務 (受限制的服務),則輸入規則會自動套用至 IAP TCP 轉送。如要瞭解最佳做法的詳細資訊,請參閱「將 IAP TCP 轉送功能納入受限制的服務」。

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

  • 將「受 IAP 保護的通道使用者」角色 (roles/iap.tunnelResourceAccessor) 授予使用者或群組。然後在角色繫結中,新增身分與存取權管理條件運算式,要求使用者達到特定存取層級。舉例來說,運算式可能如下所示:

    "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 範圍。
  • 由於 IAP 不是Google Cloud API,且無法設定為受限服務,因此 VPC 服務範圍的連入規則不適用於透過 IAP 設定的 Web 應用程式。

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

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

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

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

後續步驟

貢獻者

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

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