您可以使用 VPC Service Controls 修正建議,診斷及解決因服務範圍而遭拒絕存取的問題。
當 VPC Service Controls 拒絕存取要求時,補救引擎會分析違規事件,並產生可執行的建議,範圍會盡量縮小。這些建議可協助您授予必要存取權,並遵循最小權限原則。
修復建議的運作方式
修正建議會直接整合至Google Cloud 控制台的違規分析工具。使用專屬 ID 或疑難排解權杖診斷存取遭拒問題時,修復引擎會評估違規情境,並根據違規類型建議設定變更:
- 連入違規:引擎會建議範圍內的連入規則,並在適用時,讓您選取符合要求情境的現有存取層級 (建議),或建立新的情境感知存取層級 (例如 IP 子網路、地理區域和裝置政策規定),授權給呼叫者。
- 輸出違規:引擎會建議範圍受限的輸出規則,指定 perimeter 外部的來源身分和目標資源/作業。
- 可透過虛擬私有雲存取的服務違規:引擎會建議將要求的服務新增至許可清單,或更新 perimeter 限制。
單一存取遭拒事件可能涉及多種違規類型,例如輸入、輸出和可透過虛擬私有雲存取的服務違規。在這些情況下,補救引擎會產生建議,以解決所有適用的違規事項。您可以查看產生的設定變更,然後按一下滑鼠,直接將變更套用至服務周邊。
事前準備
- 確認您具備查看及套用補救建議所需的權限。
- 請確認您擁有要解決的存取遭拒問題專屬 ID 或疑難排解權杖。您可以從拒絕錯誤回應、Cloud 稽核記錄或違規事項資訊主頁中擷取這個 ID。詳情請參閱「從稽核記錄擷取錯誤」。
必要的角色
如要取得查看及套用修正建議所需的權限,請要求管理員授予下列 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存取權政策
-
查看及套用修正建議
如要查看及套用存取遭拒的修正建議,請按照下列步驟操作:
前往 Google Cloud 控制台的「VPC Service Controls」頁面。
如果系統提示您選取組織,請選取您的組織。
在「VPC Service Controls」頁面中,按一下「Violation analyzer」(違規分析工具)。
在「Troubleshooting token (or unique ID)」(疑難排解權杖 (或專屬 ID)) 欄位中,輸入存取遭拒的疑難排解權杖或專屬 ID。
按一下「繼續」。
在疑難排解結果頁面的「存取的受保護資源」部分,選取拒絕存取的 perimeter。
按一下「查看建議」。「補救詳細資料」窗格隨即開啟。
查看建議的補救措施:
- 如果補救措施需要存取層級,請設定存取層級:
- 選取現有的存取層級 (建議):按一下「現有存取層級」分頁,然後在「選取現有存取層級」清單中,選取符合要求情境的存取層級。
- 建立新的存取層級:在「新的存取層級」分頁中,查看建議的存取層級名稱、IP 子網路、地理區域和裝置限制。
- 查看 service perimeter 的建議輸入規則、輸出規則或可透過虛擬私有雲存取的服務變更。
- 如果補救措施需要存取層級,請設定存取層級:
如要套用建議的變更,請按一下「套用修正措施」。
VPC Service Controls 會自動佈建新的存取層級 (如果您選擇建立),並更新服務範圍設定。
依違規類型分類的補救措施
下表說明補救引擎根據違規類型建議執行的動作:
| 違規類型 | 建議的修復動作 |
|---|---|
| 輸入違規 |
|
| 輸出違規 | 附加輸出規則,範圍限定為來源身分或專案,以及目標服務、方法選取器和外部資源。 |
| 可以透過虛擬私有雲存取的服務 | 將受限制服務新增至 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 控制台的機構層級。
- 補救引擎不支援服務模式和特定第三方員工身分集區設定。
後續步驟
- 進一步瞭解如何在違規分析工具中診斷存取遭拒問題。
- 使用違規事項資訊主頁監控存取遭拒記錄。
- 瞭解如何設定輸入和輸出政策。
- 請參閱 VPC Service Controls 疑難排解指南。