允許政策的 Policy Simulator

Identity and Access Management 的 Policy Simulator allow policies 可讓您在決定是否要進行變更前,查看允許政策變更對主體存取權的影響。您可以使用 Policy Simulator,確保所做的變更不會導致主體失去必要的存取權。

這項功能只會評估允許政策,如要瞭解如何模擬其他政策類型,請參閱下列文章:

允許政策的 Policy Simulator 運作方式

允許政策的 Policy Simulator 可協助您判斷允許政策變更對使用者可能造成的影響。為此,系統不僅會比較現有和建議允許政策中的權限,而是會使用存取記錄,著重於實際會影響使用者的權限變更。

如要瞭解變更允許政策對主體存取權的影響,Policy Simulator 會判斷在提議的允許政策和目前的允許政策下,過去 90 天的哪些存取嘗試會產生不同結果。然後,系統會將這些結果回報為存取權變更清單。

模擬允許政策的變更時,請提供建議的允許政策,並附上要測試的變更。這項建議的允許政策可適用於接受允許政策的任何資源

執行模擬作業時,政策模擬器會執行下列操作:

  1. 擷取過去 90 天內支援的資源類型存取記錄。這些記錄的收集來源取決於您要模擬允許政策的資源:

    • 如果您要模擬專案或機構的允許政策,Policy Simulator 會擷取該專案或機構的存取記錄。
    • 如果您要模擬其他資源類型的允許政策,Policy Simulator 會擷取該資源父項專案或機構的存取記錄。
    • 如果您要一次模擬多項資源的允許政策,Policy Simulator 會擷取資源最接近的共同專案或機構的存取記錄。

    如果父項資源存在時間未滿 90 天,Policy Simulator 會擷取資源建立以來的所有存取嘗試。

  2. 使用目前的允許政策,重新評估或重播存取記錄中記錄的存取嘗試,並考量任何沿用的允許政策,以及在後代資源上設定的任何允許政策。

    使用目前的允許政策重播存取嘗試,可確保政策模擬器只會回報因建議的允許政策而造成的存取權變更,不會回報因您在過去 90 天內進行的其他允許政策修改而造成的變更。

  3. 使用建議的允許政策再次重播存取嘗試,並再次考量任何沿用的允許政策,以及在後代資源上設定的任何允許政策。

  4. 比較兩次重播的結果並回報差異,藉此瞭解提議的變更對主體存取權的影響。

範例:測試政策變更

假設您想移除使用者的組織檢視者角色 (roles/resourcemanager.organizationViewer),並想使用 Policy Simulator 確認這項變更不會影響使用者的存取權。

您可以使用 Google Cloud 控制台、REST API 或 Google Cloud CLI 模擬允許政策的變更

開始模擬時,政策模擬器會執行下列操作:

  • 擷取貴機構過去 90 天的存取記錄。
  • 使用機構目前的允許政策重播存取嘗試,使用者必須具備機構檢視者角色。
  • 使用建議的允許政策再次重播存取嘗試,但使用者沒有「機構檢視者」角色。
  • 比較兩次重播的結果,並回報兩者之間的差異。

接著,您可以查看結果,瞭解提議的變更對使用者存取權的影響。

範例:政策繼承

假設您想模擬變更機構中資料夾「folder-123」的允許政策,該機構的結構如下:Engineering

機構架構範例

請注意,Engineering 有一個父項資源,也就是機構 example.comEngineering 會沿用機構的允許政策。此外,還有三個子專案,可各自擁有允許政策:example-prodexample-devexample-test

您提供建議的允許政策並執行模擬作業。開始模擬時,政策模擬器會執行下列操作:

  • 擷取過去 90 天內的所有相關記錄。由於 Engineering 是資料夾,因此 Policy Simulator 會從上層機構 example.com 擷取記錄。
  • 使用資料夾目前的允許政策、從 example.com 沿用的允許政策,以及子專案的允許政策,重新播放存取嘗試。
  • 使用建議的允許政策、從 example.com 繼承的允許政策,以及子項專案的允許政策,再次重播每次存取嘗試。
  • 比較重播結果,並回報兩者之間的差異。

接著,您可以查看結果,瞭解提議的變更對使用者存取權的影響。

Policy Simulator 結果

Policy Simulator 會以存取權變更清單的形式,回報提議的允許政策變更所造成的影響。存取權變更是指過去 90 天內,在提議的允許政策下,存取嘗試的結果會與目前的允許政策不同。

Policy Simulator 也會列出模擬期間發生的任何錯誤,協助您找出模擬作業中可能出現的缺口。

存取權變更類型如下:

存取權限變更 詳細資料
存取權已撤銷 主體目前可依據允許政策存取資源,但建議的變更生效後,主體將無法再存取資源。
可能已撤銷存取權限

發生這種情況的原因如下:

  • 主體目前具備存取權,但根據建議的允許政策,主體的存取權不明
  • 根據目前的允許政策,主體的存取權為不明,但提議的變更生效後,主體將無法存取。
已獲得存取權 主體目前不具備存取權,但建議的變更生效後,主體將具備存取權。
可能已授予存取權

發生這種情況的原因如下:

  • 主體目前不具備存取權,但建議變更後,主體的存取權狀態為不明
  • 根據目前的允許政策,主體的存取權為不明,但提議的變更生效後,主體將可存取。
存取權不明 在目前的允許政策和建議的允許政策下,主體的存取權都是不明,且建議的變更可能會影響主體的存取權。
錯誤 模擬期間發生錯誤。

不明結果

如果存取結果為「不明」,表示 Policy Simulator 沒有足夠資訊,無法完整評估存取嘗試。

結果不明的原因如下:

  • 角色資訊遭拒:執行模擬的主體沒有權限,無法查看一或多個模擬角色的詳細資料。
  • 無法存取政策:執行模擬作業的主體沒有權限,無法取得模擬作業中一或多項資源的允許政策。
  • 拒絕提供成員資訊:執行模擬作業的主體沒有權限,無法查看模擬允許政策中一或多個群組的成員。
  • 不支援的條件:要測試的允許政策中含有條件式角色繫結。Policy Simulator 不支援條件,因此無法評估繫結。

如果存取結果不明,Policy Simulator 結果報表會列出不明原因,以及無法存取或評估的特定角色、允許政策、成員資格資訊和條件。

錯誤

Policy Simulator 也會回報模擬期間發生的任何錯誤。請務必查看這些錯誤,瞭解模擬作業中可能出現的落差。

Policy Simulator 可能會回報幾種錯誤:

  • 作業錯誤:無法執行模擬作業。

    如果錯誤訊息指出專案或機構的記錄過多,導致無法執行模擬作業,您就無法對資源執行模擬作業。

    如果因其他原因收到這則錯誤訊息,請再試一次。 如果仍無法執行模擬,請傳送電子郵件至 policy-simulator-feedback@google.com。

  • 重播錯誤:單一存取嘗試的重播作業失敗,因此 Policy Simulator 無法判斷在提議的允許政策下,存取嘗試的結果是否會變更。

  • 不支援的資源類型錯誤:建議的允許政策會影響與不支援的資源類型相關聯的權限,而 Policy Simulator 無法模擬這類權限。Policy Simulator 會在模擬結果中列出這些權限,方便您瞭解無法模擬的權限。

記錄重播大小上限

模擬作業最多可重播 5,000 個存取記錄。如果專案或機構過去 90 天的存取記錄超過 5,000 筆,模擬作業就會失敗。

如要瞭解 Policy Simulator 如何決定要擷取哪些存取記錄,請參閱本頁面的「Policy Simulator 的運作方式」。

資源類型的支援級別

Policy Simulator 不支援模擬中的所有資源類型。這會影響模擬權限變更的範圍。

支援的資源類型

Policy Simulator 支援下列資源類型:

服務 支援的資源類型
Cloud Storage
  • buckets
Pub/Sub
  • snapshots
  • subscriptions
  • topics
Cloud SQL
  • backupRuns
  • databases
  • instances
  • sslCerts
  • users
Spanner
  • backups
  • backupOperations
  • databases
  • databaseOperations
  • instanceConfigs
  • instanceOperations
  • instances
  • sessions
Resource Manager
  • folders
  • organizations
  • projects
Compute Engine
  • instances

模擬憑證存取權範圍

您可以使用憑證存取權界線「縮減」或限制短期憑證可用的 IAM 權限,藉此控管憑證存取 Cloud Storage 資源的權限。如要縮減權限範圍,使用者或服務帳戶 (權杖代理人) 會在一組資源的縮減範圍存取權杖中定義可用權限,然後將存取權杖提供給其他使用者或服務帳戶 (權杖消費者)。

權杖中介服務必須具備某個角色,其中包含授予權杖消費者權限的範圍縮減存取權杖。從權杖代理程式移除該角色,也會一併移除權杖消費者的存取權。不過,Policy Simulator 不會評估權杖代理人的權限變更對權杖消費者存取權的影響。

舉例來說,假設使用者已獲授權,可透過使用以憑證存取權界線建立的範圍縮減存取權權杖,對資源執行「Storage Legacy Bucket Reader」 (roles/storage.legacyBucketReader) 角色。

  • 如果您模擬從該使用者移除 Storage 舊版值區讀取者角色,Policy Simulator 無法回報存取權遭移除。

  • 如果您模擬從權杖代理程式移除 Storage Legacy Bucket Reader 角色,政策模擬器將無法回報使用者失去存取權。同樣地,如果權杖代理人的存取權在 90 天內未使用,模擬作業就不會納入該存取權。

詳情請參閱「Cloud Storage 的憑證存取權界線」。

不支援的資源類型

不支援的資源類型是指 Policy Simulator 無法擷取存取記錄的資源類型。如果 Policy Simulator 無法擷取資源的存取記錄,就無法評估提議的允許政策對這些存取嘗試的影響。

如果建議的允許政策變更涉及不支援資源類型的權限,Policy Simulator 會在模擬結果中列出這些權限,讓您瞭解無法模擬的權限。舉例來說,Policy Simulator 不支援 AI Platform 模型。因此,如果建議的允許政策移除了具有 aiplatform.models.list 權限的角色,該模擬的結果會指出系統無法模擬 aiplatform.models.list 權限。

後續步驟