本文概略介紹 Access Context Manager 服務及其功能。 Cloud de Confiance by S3NS 組織管理員可以使用 Access Context Manager,依據屬性為 Cloud de Confiance中的專案和資源定義精細的存取控管機制。管理員首先要定義存取權政策,這是存取層級和 service perimeter 的組織層級容器。
存取層級會描述要求必須符合的規定。相關示例如下:
- 裝置類型和作業系統
- IP 位址
- 使用者身分
Service perimeter 會定義資源的沙箱。範圍內的資源可以自由交換資料,但無法將資料匯出至範圍外。Access Context Manager 並不負責執行政策,而是 Access Context Manager 用來定義特定規則或情境。政策會在多個點設定及強制執行,例如 VPC Service Controls。如要進一步瞭解這些服務,請參閱各自的使用手冊。
您可以在下列 Chrome Enterprise 進階版解決方案元件中,設定及強制執行 Access Context Manager 政策:
優點
許多公司仰賴防火牆等周邊安全模型,協助保護內部資源。邊界式安全模式設有單一出入口,並受到嚴密保護。perimeter 外部的所有內容都會視為危險。內部的一切都值得信任。
如果特定使用者和服務周圍有明確定義的邊界,防火牆和周邊安全模型就能發揮良好作用。不過,如果員工需要行動辦公,隨著使用者自備裝置 (BYOD) 並使用雲端式服務,裝置種類也會增加。這種情況會導致 perimeter 模型未考量的額外攻擊向量。因此,周邊防禦不再只是企業的實體位置,內部也無法假設為安全。
您可以使用 Access Context Manager 縮減特殊權限網路的大小,並改用端點不具備網路環境授權的模型。您可以根據要求的情境 (例如裝置類型、使用者身分等) 授予存取權,同時在必要時檢查公司網路存取權。
存取權政策
存取權政策是所有 Access Context Manager 資源的容器,例如存取層級和service perimeter。
您可以在組織層級建立存取權政策,並在組織中的任何位置使用。如要委派存取權政策的管理權,您可以建立範圍存取權政策,並在資料夾或專案層級設定政策範圍。獲派範圍政策的委派管理員只能管理範圍存取權政策,無法管理組織層級存取權政策。
存取權政策會使用 etag 建立版本。您可以使用 etag 指定存取權政策的變更,例如修改存取層級或政策的特定版本。如果有多個來源變更存取權政策,請在 gcloud 指令列工具和 API 呼叫中使用 etag 欄位,避免意外覆寫和衝突。
如要瞭解如何建立存取權政策,請參閱「建立存取權政策」。
存取層級
存取層級會根據要求的相關情境資訊,允許存取資源。您可以使用存取層級,開始整理信任層級。舉例來說,您可以建立名為 High_Level 的存取層級,允許一小群高權限人員提出要求。您也可以指定更廣泛的信任群組,例如要允許要求的 IP 範圍。在這種情況下,您可以建立名為 Medium_Level 的存取層級,允許這些要求。
定義存取層級後,強制執行服務就能使用這些層級,判斷是否要接受要求。例如,您可以指定 Medium_Trust 可使用許多資源,但某些較敏感的資源需要 High_Trust 層級。除了標準 IAM 政策外,系統也會套用這些檢查。
存取層級可以自訂,High_Trust 和 Medium_Trust 存取層級只是範例。您可以在存取權政策中指定多個存取層級。
!(origin.region_code in ['RU', 'BY', 'UA']) -> FAILED // levels.regions_check
inIpRange(origin.ip, ['205.220.128.0/23']) -> GRANTED // levels.ip_check
!(origin.region_code in ['RU', 'BY', 'UA']) || inIpRange(origin.ip, ['205.220.128.0/23']) -> GRANTED
levels.regions_check || levels.ip_check -> GRANTED
IP 位址
您可以根據原始要求的 IP 位址授予存取層級。允許的 IP 位址範圍是以無類別跨網域路由 (CIDR) 區塊的形式指定,可讓您精細控管允許的 IP 位址。
一個存取層級可包含多個 IP 範圍。
如要瞭解如何建立存取層級,僅允許存取指定範圍的 IP 位址 (例如單一公司網路內的 IP 位址),請參閱「建立公司網路存取權的存取層級」。
Access Context Manager 會將下列 IP 範圍視為私人範圍:
10.0.0.0/8(RFC 1918)172.16.0.0/12(RFC 1918)192.168.0.0/16(RFC 1918)100.64.0.0/10(RFC 6598 共用位址空間)fc00::/7(IPv6 專屬本機位址 RFC 4193)
使用者身分
在某些情況下,您可能需要將存取層級授予特定實體。在這些情況下,呼叫端的身分會決定是否符合條件。這個情境通常會與服務帳戶和 VPC Service Controls 搭配使用。
您可以使用 gcloud 指令列工具建立及管理僅限身分的存取層級,但無法使用 Cloud de Confiance 控制台。
如要開始建立基本存取層級,請參閱「建立 Access Context Manager 的存取層級」。
合併條件
一個存取層級可包含多個條件,您可使用 AND 或 OR 運算子來評估條件。此外,您建立或更新存取層級時可以指定模式。
AND 是較嚴格的預設選項。只有在所有條件都通過時,這個選項才會授予存取層級。舉例來說,您可以要求要求來自公司網路「且」來自執行最新版作業系統的裝置。
OR 的限制比較少,這個選項只需要符合多個條件中的其中一個。處理使用者身分時,這有時很有用,例如從一般需求中排除特定實體 (例如服務帳戶)。
巢狀條件
條件可以巢狀結構呈現,因此一個條件會依附於另一個條件。舉例來說,如果您有「中」和「高」信任度這兩個存取層級,可以將「高」層級的條件設為除了其他條件外,還必須符合「中」層級。
巢狀條件讓存取層級的管理作業更便利。舉例來說,假設您最寬鬆的存取層級包含最低作業系統版本,且更嚴格的層級依附於這個層級,如果日後更新最低版本,您只需要更新單一條件,而不必更新政策中的每個存取層級。
建立巢狀存取層級時,請注意下列限制和規定:
無循環相依關係:不允許循環相依關係。存取層級不能在迴圈中相互參照,無論是直接參照 (例如
Level_A需要Level_B,而Level_B需要Level_A,或存取層級參照自身) 或遞移參照 (例如Level_A需要Level_B,Level_B需要Level_C,而Level_C需要Level_A)。如果您嘗試建立或更新會導致循環相依的存取層級,呼叫會失敗並傳回INVALID_ARGUMENT錯誤。每個條件的依附元件數量上限:在基本存取層級中,單一條件的
requiredAccessLevels清單最多可參照 15 個其他存取層級。巢狀深度:Access Context Manager 會依依附關係順序評估巢狀存取層級,而非遞迴展開,因此巢狀存取層級鏈結沒有獨立的最大深度限制,僅受限於每項存取政策的存取層級總數限制。所有參照的存取層級都必須屬於相同存取權政策。