根據修復建議解決存取遭拒問題

您可以使用 VPC Service Controls 修正建議,診斷及解決因服務範圍而遭拒絕存取的問題。

當 VPC Service Controls 拒絕存取要求時,補救引擎會分析違規事件,並產生可執行的建議,範圍會盡量縮小。這些建議可協助您授予必要存取權,並遵循最小權限原則。

修復建議的運作方式

修正建議會直接整合至Google Cloud 控制台的違規分析工具。使用專屬 ID 或疑難排解權杖診斷存取遭拒問題時,修復引擎會評估違規情境,並根據違規類型建議設定變更:

  • 連入違規:引擎會建議範圍內的連入規則,並在適用時,讓您選取符合要求情境的現有存取層級 (建議),或建立新的情境感知存取層級 (例如 IP 子網路、地理區域和裝置政策規定),授權給呼叫者。
  • 輸出違規:引擎會建議範圍受限的輸出規則,指定 perimeter 外部的來源身分和目標資源/作業。
  • 可透過虛擬私有雲存取的服務違規:引擎會建議將要求的服務新增至許可清單,或更新 perimeter 限制。

單一存取遭拒事件可能涉及多種違規類型,例如輸入、輸出和可透過虛擬私有雲存取的服務違規。在這些情況下,補救引擎會產生建議,以解決所有適用的違規事項。您可以查看產生的設定變更,然後按一下滑鼠,直接將變更套用至服務周邊。

事前準備

必要的角色

如要取得查看及套用修正建議所需的權限,請要求管理員授予下列 IAM 角色:

  • 診斷存取遭拒事件並查看補救建議: 存取政策的 Access Context Manager 讀取者 (roles/accesscontextmanager.policyReader)
  • 從 Cloud 稽核記錄擷取疑難排解權杖: 在含有 VPC Service Controls 稽核記錄的專案中,使用 記錄檢視器 (roles/logging.viewer)
  • 套用修正建議並更新服務安全防護範圍: 存取政策的 Access Context Manager 編輯者 (roles/accesscontextmanager.editor)

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備查看及套用修正建議所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

必須具備下列權限,才能查看及套用補救建議:

  • 診斷存取遭拒事件並查看修復建議:
    • accesscontextmanager.accessLevels.list 存取權政策
    • accesscontextmanager.policies.get 存取權政策
    • accesscontextmanager.servicePerimeters.list 存取權政策
  • 從 Cloud 稽核記錄擷取疑難排解權杖: logging.logEntries.list 在含有 VPC Service Controls 稽核記錄的專案中
  • 套用修復建議並更新服務範圍:
    • accesscontextmanager.accessLevels.create 存取權政策
    • accesscontextmanager.accessLevels.get 存取權政策
    • accesscontextmanager.accessLevels.list 存取權政策
    • accesscontextmanager.policies.get 存取權政策
    • accesscontextmanager.servicePerimeters.get 存取權政策
    • accesscontextmanager.servicePerimeters.update 存取權政策

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

查看及套用修正建議

如要查看及套用存取遭拒的修正建議,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「VPC Service Controls」頁面。

    前往「VPC Service Controls」頁面

    如果系統提示您選取組織,請選取您的組織。

  2. 在「VPC Service Controls」頁面中,按一下「Violation analyzer」(違規分析工具)。

  3. 在「Troubleshooting token (or unique ID)」(疑難排解權杖 (或專屬 ID)) 欄位中,輸入存取遭拒的疑難排解權杖或專屬 ID。

  4. 按一下「繼續」。

  5. 在疑難排解結果頁面的「存取的受保護資源」部分,選取拒絕存取的 perimeter。

  6. 按一下「查看建議」。「補救詳細資料」窗格隨即開啟。

  7. 查看建議的補救措施:

    • 如果補救措施需要存取層級,請設定存取層級:
      • 選取現有的存取層級 (建議):按一下「現有存取層級」分頁,然後在「選取現有存取層級」清單中,選取符合要求情境的存取層級。
      • 建立新的存取層級:在「新的存取層級」分頁中,查看建議的存取層級名稱、IP 子網路、地理區域和裝置限制。
    • 查看 service perimeter 的建議輸入規則、輸出規則或可透過虛擬私有雲存取的服務變更。
  8. 如要套用建議的變更,請按一下「套用修正措施」。

VPC Service Controls 會自動佈建新的存取層級 (如果您選擇建立),並更新服務範圍設定。

依違規類型分類的補救措施

下表說明補救引擎根據違規類型建議執行的動作:

違規類型 建議的修復動作
輸入違規
  • 您可以選取符合要求情境的現有存取層級 (建議),或佈建符合呼叫端 IP 子網路、地理區域或裝置政策的新情境感知存取權。
  • 附加輸入規則,範圍限定為呼叫端身分、來源存取層級或網路、目標服務、方法選取器和資源。
輸出違規 附加輸出規則,範圍限定為來源身分或專案,以及目標服務、方法選取器和外部資源。
可以透過虛擬私有雲存取的服務 將受限制服務新增至 perimeter 的可透過虛擬私有雲存取的服務許可清單,或在服務不受支援時建議更新限制。

範例:使用存取層級修正 Ingress 問題

假設分析師 (analyst@example.com) 嘗試從外部工作站 (198.51.100.42) 讀取專案 803311519563 中 Cloud Storage bucket 的物件,但存取遭拒。

如要根據最小權限原則修正這項拒絕存取問題,修復引擎會建議採取下列兩個連鎖動作:

動作 1:選取現有的存取層級,或建立範圍存取層級

如要授權呼叫者的工作站,可以重複使用現有的存取層級,也可以建立新的存取層級:

  • 選取現有的存取層級 (建議):在「現有存取層級」分頁中,選擇已符合要求情境的現有存取層級 (例如 corp_trusted_workstations)。建議重複使用現有存取層級,避免建立重複的存取層級,並簡化政策管理。
  • 建立新的存取層級:或者,您也可以在「New access level」(新的存取層級) 分頁中,讓引擎建立範圍限定為呼叫者工作站的新存取層級:
    • 名稱: accessPolicies/POLICY_ID/accessLevels/analyst_secure_workstation
    • IP 子網路:198.51.100.0/24
    • 區域:US
    • 裝置政策:要求螢幕鎖定、磁碟加密、公司擁有的狀態,以及管理員核准。

動作 2:將範圍輸入規則附加至 perimeter

引擎會將範圍狹窄的輸入規則附加至 service perimeter,並參照您選取的現有存取層級或新建立的存取層級:

  • 身分:user:analyst@example.com
  • 來源:您選取的現有存取層級 (例如 corp_trusted_workstations) 或新的 analyst_secure_workstation 存取層級
  • 服務:storage.googleapis.com
  • 方法選取器:google.storage.objects.get
  • 資源:projects/803311519563

按一下「套用修正措施」後,VPC Service Controls 會套用所選存取層級 (或建立新的存取層級),並依序更新服務 perimeter。

限制

  • 資料遮蓋:
    • 系統無法使用經過修訂的內部 IP 位址,產生特定存取層級。
    • 如果稽核記錄中的呼叫端身分遭到遮蓋或無法使用,建議可能會使用 ANY_USER_ACCOUNT 等一般身分。
    • 如果服務方法不支援細微的建議,建議可能會使用萬用字元 (*)。
    • 如果無法存取網路名稱,建議會改用專案編號。
  • 如要取得補救建議,必須從 Cloud 稽核記錄 取得存取遭拒的詳細資料。系統無法分析早於記錄保留期限 (預設為 30 天) 的事件。
  • 補救建議僅適用於Google Cloud 控制台的機構層級。
  • 補救引擎不支援服務模式和特定第三方員工身分集區設定。

後續步驟