資料 RBAC 總覽
資料角色型存取權控管 (資料 RBAC) 是一種安全模式,可根據個別使用者角色,限制使用者存取機構內的資料。管理員可以透過資料 RBAC 定義範圍並指派給使用者,確保使用者只能存取工作職能所需的資料。
本頁面會概略介紹資料 RBAC,並說明標籤和範圍如何共同定義資料存取權。
資料 RBAC 和功能 RBAC 的差異
資料 RBAC 和功能 RBAC 都是控管系統內存取權的方法,但著重的層面不同。
功能 RBAC 可控管系統中特定功能或功能的存取權。系統會根據使用者的角色,決定他們可存取哪些功能。舉例來說,初級分析師可能只能查看資訊主頁,但無法建立或修改偵測規則,而資深分析師則可能擁有建立及管理偵測規則的權限。如要進一步瞭解功能 RBAC,請參閱「使用 IAM 設定功能存取控管機制」。
資料 RBAC 可控管系統內特定資料或資訊的存取權。根據使用者角色,控管使用者是否能查看、編輯或刪除資料。舉例來說,在客戶關係管理 (CRM) 系統中,銷售代表可能可以存取客戶聯絡資料,但無法存取財務資料;財務經理則可能可以存取財務資料,但無法存取客戶聯絡資料。
資料 RBAC 和功能 RBAC 通常會搭配使用,提供完整的存取權控管系統。舉例來說,使用者可能獲准存取特定功能 (功能 RBAC),但他們在該功能中存取特定資料時,可能會受到角色限制 (資料 RBAC)。
規劃實作方式
如要規劃實作作業,請查看 Google Security Operations 的預先定義 Google SecOps 角色和權限清單,並根據貴機構的需求進行調整。制定策略,定義範圍並標記傳入的資料。請確認您具備角色檢視者 (roles/iam.roleViewer) 角色,才能管理範圍。找出哪些成員必須存取這些範圍內的資料。
如果貴機構需要預先定義的 Google SecOps 角色以外的 IAM 政策,請建立自訂角色,以支援特定需求。
使用者角色
使用者可以擁有範圍資料存取權 (範圍使用者),也可以擁有全域資料存取權 (全域使用者)。
- 範圍內使用者只能存取所指派範圍內的資料。這些範圍會限制其可見度和動作,只能存取特定資料。下表詳細列出與範圍存取權相關的特定權限。 
- 全域使用者沒有已指派的範圍,可不受限制地存取 Google SecOps 中的所有資料。下表詳細列出與全域存取權相關的特定權限。 
全域存取權會覆寫限定範圍存取權。如果使用者同時獲派全域角色和範圍角色,則可存取所有資料,不受範圍角色施加的任何限制。
資料 RBAC 管理員可以建立範圍並指派給使用者,控管使用者在 Google SecOps 中的資料存取權。如要限制使用者只能存取特定範圍,必須指派 Chronicle API 有限資料存取權 (roles/chronicle.restrictedDataAccess) 角色,以及預先定義或自訂的角色。「Chronicle API 有限資料存取權」角色會將使用者識別為範圍內使用者。如果使用者需要全域資料存取權,您不必指派 Chronicle 受限資料存取權角色。
可指派給使用者的角色如下:
| 存取權類型 | 角色 | 權限 | 
|---|---|---|
| 預先定義的全域存取權 | 您可以將任何預先定義的 IAM 角色授予全域使用者。 | |
| 預先定義的範圍唯讀存取權 | Chronicle API 有限資料存取權 ( roles/chronicle.restrictedDataAccess) 和 Chronicle API 有限資料存取權檢視者 (roles/chronicle.restrictedDataAccessViewer) | Chronicle API 有限資料存取權檢視者 | 
| 自訂範圍存取權 | Chronicle API 有限資料存取權 ( roles/chronicle.restrictedDataAccess) 和自訂角色 (適用於功能 RBAC 定義) | 功能中的自訂權限 | 
| 自訂全域存取權 | chronicle.globalDataAccessScopes.permit權限和 Chronicle API 全域資料存取權 (roles/globalDataAccess) | 功能中的全域權限 | 
下表說明各存取類型:
預先定義的全域存取權:通常需要存取所有資料的使用者會需要這項權限。您可以根據必要權限,將一或多個角色指派給使用者。
預先定義的範圍唯讀存取權:這項存取權適用於需要唯讀存取權的使用者。「Chronicle API 有限資料存取權」角色會將使用者識別為範圍內使用者。Chronicle API 有限資料存取權檢視者角色可讓使用者在功能中查看資料。
自訂範圍存取權:Chronicle API 有限資料存取權角色會將使用者識別為範圍使用者。自訂角色會指定使用者可存取的功能。新增至 Chronicle API 有限資料存取權角色的範圍,會指定使用者可在功能中存取的資料。
如要驗證 RBAC 自訂範圍是否正常運作,請在建立自訂角色時加入 chronicle.dataAccessScopes.list 權限。不過,請勿加入 chronicle.DataAccessScopes.permit 或 chronicle.globalDataAccessScopes.permit 權限。如果您使用預先建立的 Chronicle API 編輯者或 Chronicle API 管理員做為自訂角色的起點,這些權限可能會包含在內。
自訂全域存取權:使用者在獲派的功能中需要不受限制的權限時,可使用這項存取權。如要授予使用者自訂全域存取權,除了指派給使用者的自訂角色外,您還必須指定 chronicle.globalDataAccessScopes.permit 權限。
資訊主頁的使用者角色
能否存取資訊主頁取決於兩個主要因素:使用者的職務角色和資料存取範圍。這兩項元素的組合決定了資訊主頁的存取權。指派給使用者的角色會直接影響他們可用的使用者介面和功能。 以下是最常見的預先定義角色,可讓使用者存取資訊主頁:
| 存取權類型 | 角色 | 說明 | 
|---|---|---|
| 檢視者 | roles/chroniclesiem.viewer | 授予唯讀存取權。使用者可以開啟所有資訊主頁並與之互動,但無法建立或編輯資訊主頁。 | 
| 編輯者 | roles/chroniclesiem.editor | 授予所有資料和所有權限的存取權,包括建立、編輯及刪除自訂資訊主頁的權限。 | 
| 管理員 | roles/chroniclesiem.admin | 授予完整權限,與「編輯者」角色類似,可存取所有資料。 | 
| 受限制的檢視者 | roles/chroniclesiem.restrictedViewer | 與「檢視者」角色類似,但資訊主頁中顯示的所有資料都會根據使用者獲派的記錄範圍 (資料 RBAC) 進行篩選。 | 
如要進一步瞭解資料 RBAC 和功能 RBAC,請參閱「資料 RBAC 和功能 RBAC 的差異」。
自訂角色的權限
您可以建立自訂角色,定義精細的權限。
以下權限適用於資訊主頁:
- chronicle.dashboards.list:讓使用者查看可用資訊主頁的清單。
- chronicle.dashboards.get:讓使用者開啟及查看資訊主頁內容。
- chronicle.dashboards.create:讓使用者建立新的資訊主頁。
- chronicle.dashboards.update:允許使用者編輯現有資訊主頁並儲存變更。
- chronicle.dashboards.delete:允許使用者刪除自訂資訊主頁。
舉例來說,您可以建立只具備 chronicle.dashboards.create 和 chronicle.dashboards.list permissions 的資訊主頁建立者自訂角色。具備這個角色的使用者可以建立新資訊主頁,但無法編輯現有資訊主頁。
透過範圍和標籤控管存取權
Google SecOps 可讓您使用範圍控管使用者的資料存取權。範圍是透過「標籤」定義,標籤會定義範圍內使用者可存取的資料。在擷取期間,系統會以標籤形式將中繼資料指派給資料,例如命名空間 (選用)、擷取中繼資料 (選用) 和記錄類型 (必要)。這些是系統在擷取資料時套用的預設標籤。此外,你也可以建立自訂標籤。 您可以使用預設和自訂標籤定義範圍,以及範圍定義的資料存取層級。
使用允許和拒絕標籤查看資料
每個範圍都包含一或多個「允許存取」標籤,以及視需要包含「拒絕存取」標籤。存取權標籤可授予使用者與標籤相關聯的資料存取權。拒絕存取標籤會拒絕使用者存取與標籤相關聯的資料。拒絕存取標籤會覆寫允許存取標籤,限制使用者存取權。
在範圍定義中,允許使用 OR 運算子合併相同類型的存取權標籤 (例如記錄類型),並使用 AND 運算子合併不同類型的標籤 (例如記錄類型和自訂標籤)。系統會使用 OR 運算子合併拒絕存取標籤。如果在範圍內套用多個拒絕存取權標籤,只要符合其中任一標籤,就會拒絕存取。
舉例來說,假設 Cloud Logging 系統使用下列標籤類型將記錄分類:
記錄類型:存取、系統、防火牆
命名空間:App1、App2、Database
嚴重程度:重大、警告
假設有個名為「受限記錄」的範圍,具有下列存取權:
| 標籤類型 | 允許值 | 拒絕的值 | 
|---|---|---|
| 記錄類型 | 存取權、防火牆 | 系統 | 
| 命名空間 | App1 | App2、資料庫 | 
| 嚴重性 | 警告 | 重大 | 
範圍定義如下所示:
允許: (Log type: "Access" OR "Firewall") AND (Namespace: "App1") AND (Severity: "Warning")
拒絕: Log type: "System" OR Namespace: App2 OR Namespace: Database OR Severity: "Critical"
符合範圍的記錄範例:
- 從 App1 存取記錄,嚴重程度為「警告」
- 來自 App1 的防火牆記錄,嚴重性為「警告」
不符合範圍的記錄檔範例:
- App1 的系統記錄,嚴重性為「警告」
- 資料庫存取記錄,嚴重程度為「警告」
- 來自 App2 的防火牆記錄,嚴重性為「重大」
擴充事件中的資料顯示狀態
經過擴充的事件是指安全事件,除了原始記錄資料包含的內容外,還會提供額外的背景資訊。只有在範圍內可存取基礎事件,且任何經過擴充的標籤都不包含範圍的拒絕標籤時,才能在範圍內存取經過擴充的事件。
舉例來說,假設原始記錄顯示某個 IP 位址的登入嘗試失敗,且具有經過擴充的標籤 user_risk: high (表示使用者風險偏高)。如果使用者範圍含有拒絕標籤 user_risk: high,就無法查看高風險使用者登入失敗的嘗試。
資料 RBAC 對 Google Security Operations 功能的影響
設定資料 RBAC 後,使用者就會開始在 Google 安全性作業功能中看到經過篩選的資料。影響程度取決於這項功能與基礎資料的整合方式。如要瞭解資料 RBAC 對各項功能的影響,請參閱「資料 RBAC 對 Google Security Operations 功能的影響」。
後續步驟
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。