設定功能存取權
功能 RBAC 可控管使用者對系統內特定功能或功能的存取權,並根據使用者的角色決定使用者可存取的功能。本頁面說明如何在 Google Security Operations 設定功能存取控管。
本文中的「舊版 RBAC」一詞,是指先前可用的存取控管系統,該系統是使用 Google SecOps 的 SIEM 端設定,而非 Identity and Access Management (IAM)。功能 RBAC 是指使用 IAM 設定的功能型存取控管。
Google SecOps 與 Google Cloud IAM 整合,提供 Google SecOps 專屬權限和預先定義的角色。這項異動適用於 SIEM 功能,以及已將 SOAR 權限群組遷移至 IAM 角色的客戶所使用的 SOAR 功能。
Google SecOps 管理員可以建立 IAM 政策,將使用者或群組繫結至預先定義的角色,或建立自訂 IAM 角色,控管功能存取權。這項功能不會控管特定 UDM 記錄或 UDM 記錄中欄位的存取權。
本文件會執行下列操作:
- 說明 Google SecOps 如何與 IAM 整合。
- 說明功能 RBAC 角色與舊版 RBAC 角色的差異。
- 提供將 Google SecOps 執行個體遷移至功能 RBAC 的步驟。
- 提供使用 IAM 指派權限的範例。
- 摘要說明 IAM 提供的權限和預先定義的角色。
如要查看常用的 Google SecOps 權限和產生的稽核記錄清單,請參閱「依資源群組劃分的權限和 API 方法」。如需所有 Google SecOps 權限的清單,請參閱「Identity and Access Management 權限參考資料」。
每項 Google SecOps 權限都與 Chronicle API 資源和方法相關聯。使用者或群組獲得權限後,即可存取 Google SecOps 中的功能,並使用相關 API 方法傳送要求。
Google SecOps 如何與 IAM 整合
如要使用 IAM,Google SecOps 必須繫結至 Google Cloud專案,並設定 Cloud Identity、Google Workspace 或 Google Cloud 員工身分聯盟,做為驗證流程中的中介,連至第三方識別資訊提供者。如要瞭解第三方驗證流程,請參閱「將 Google SecOps 與第三方識別資訊提供者整合」。
Google SecOps 會執行下列步驟,驗證及控管功能存取權:
- 使用者登入 Google SecOps 後,會存取 Google SecOps 應用程式頁面。或者,使用者也可以向 Google SecOps 傳送 API 要求。
- Google SecOps 會驗證為該使用者定義的 IAM 政策中授予的權限。
- IAM 會傳回授權資訊。如果使用者存取應用程式頁面,Google SecOps 只會啟用使用者有權存取的功能。
- 如果使用者傳送 API 要求,但沒有執行要求動作的權限,API 回應就會包含錯誤。否則,系統會傳回標準回應。
Google SecOps 提供一組預先定義的角色,並定義一組權限,控管使用者能否存取該功能。單一 IAM 政策會控管透過網頁介面和 API 存取這項功能的權限。
如果 Google Cloud 專案中還有其他 Google Cloud 服務繫結至 Google SecOps,且您想限制具備專案 IAM 管理員角色的使用者,只能修改 Google SecOps 資源,請務必在允許政策中新增 IAM 條件。如需操作範例,請參閱「將角色指派給使用者和群組」。
管理員會根據員工在組織中的角色,調整 Google SecOps 功能的存取權。
事前準備
- 請確認您熟悉 Cloud Shell、gcloud CLI 指令和 Google Cloud 控制台。
- 熟悉 IAM,包括下列概念:
- 請按照「將 Google SecOps 繫結至 Google Cloud 專案」中的所有步驟操作,設定要繫結至 Google SecOps 的專案。
- 使用下列其中一種方式設定識別資訊提供者:
- 設定 Google Cloud 識別資訊提供者
- 請按照「將 Google SecOps 與第三方識別資訊提供者整合」一文中的所有步驟操作,透過第三方識別資訊提供者 (IdP) 設定驗證機制。
- 將專案繫結至 Google SecOps 執行個體,並設定識別資訊提供者。
- 請確認您具備執行本文步驟的權限。如要瞭解新手上路程序各階段所需的權限,請參閱「必要角色」。
規劃實作
建立支援組織部署需求的 IAM 政策。您可以使用 Google SecOps 預先定義的角色,或自行建立自訂角色。
請根據貴組織的需求,查看 Google SecOps 預先定義的角色和權限清單。找出貴組織中應具備各項 Google SecOps 功能存取權的成員。如果貴組織需要與預先定義 Google SecOps 角色不同的 IAM 政策,請建立自訂角色來支援這些需求。如要瞭解 IAM 自訂角色,請參閱「建立及管理自訂角色」。
Google SecOps 角色和權限摘要
以下各節提供預先定義角色的高階摘要。
如需最新的 Google SecOps 權限清單,請參閱「IAM 權限參考資料」。在「Search for a permission」(搜尋權限) 專區下方,搜尋 chronicle。
如要查看預先定義 Google Security Operations 角色的最新清單,請參閱「IAM 基本和預先定義的角色參考資料」。在「Predefined roles」(預先定義的角色) 區段,選取「Chronicle API roles」(Chronicle API 角色) 服務,或搜尋 chronicle。
如要瞭解 API 方法和權限、使用權限的頁面,以及呼叫 API 時記錄在 Cloud 稽核記錄中的資訊,請參閱「IAM 中的 Chronicle 權限」。
IAM 中的 Google SecOps 預先定義角色
Google SecOps 提供下列預先定義的角色,如 IAM 所示。
| IAM 中的預先定義角色 | 標題 | 說明 |
|---|---|---|
roles/chronicle.admin |
Chronicle API 管理員 | 具備 Google SecOps 應用程式和 API 服務的完整存取權,包括全域設定。 |
roles/chronicle.editor |
Chronicle API 編輯者 | 可修改 Google SecOps 應用程式和 API 資源的存取權。 |
roles/chronicle.viewer |
Chronicle API 檢視者 | 具備 Google SecOps 應用程式和 API 資源的唯讀存取權 |
roles/chronicle.limitedViewer |
Chronicle API 有限檢視者 | 可授予 Google SecOps 應用程式和 API 資源的唯讀存取權,但不包括偵測引擎規則和 RetroHunt。 |
roles/chronicle.soarAdmin |
Chronicle SOAR 管理員 | 具備 Google SecOps SOAR 應用程式和 API 服務的完整存取權,包括全域設定。遷移至 Google Cloud後,即可管理 SOAR 平台的功能 RBAC。 |
IAM 中的 Google SecOps 權限
Google SecOps 權限與 Chronicle API 方法一對一對應。每項 Google SecOps 權限都能在使用網頁應用程式或 API 時,對特定 Google SecOps 功能執行特定動作。與 IAM 搭配使用的 Google SecOps API 處於 Alpha 推出階段。
Google SecOps 權限名稱的格式為 SERVICE.FEATURE.ACTION。舉例來說,權限名稱 chronicle.dashboards.edit 包含下列部分:
chronicle:Chronicle API 服務名稱。dashboards:特徵名稱。edit:可對地圖項目執行的動作。
權限名稱說明您可以在 Google SecOps 中對該功能執行的動作。所有 Google SecOps 權限都具有 chronicle 服務名稱。
為使用者和群組指派角色
下列各節提供建立 IAM 政策的用途範例。<project> 一詞代表您繫結至 Google SecOps 的專案 ID。
啟用 Chronicle API 後,您可以在 IAM 中使用 Google SecOps 預先定義的角色和權限,並建立政策來支援組織需求。
如果您有新建立的 Google SecOps 執行個體,請開始建立 IAM 政策,以符合組織需求。
如果這是現有的 Google SecOps 執行個體,請參閱「將 Google SecOps 遷移至 IAM 以控管功能存取權」,瞭解如何將執行個體遷移至 IAM。
範例:在專屬專案中指派專案 IAM 管理員角色
在本範例中,專案專用於 Google SecOps 執行個體。您將專案 IAM 管理員角色授予使用者,讓他們可以授予及修改專案的 IAM 角色繫結。使用者可以管理專案中的所有 Google SecOps 角色和權限,並執行專案 IAM 管理員角色授予的工作。
使用 Google Cloud 控制台指派角色
下列步驟說明如何使用 Google Cloud 控制台,將角色授予使用者。
- 開啟 Google Cloud 控制台。
- 選取繫結至 Google SecOps 的專案。
- 選取「IAM & Admin」(IAM 與管理)。
- 選取「授予存取權」。系統會顯示「Grant Access to 」(授予「
<project>」存取權)。 - 在「新增主體」部分,於「新主體」欄位輸入代管帳戶的電子郵件地址。
- 在「指派角色」部分,從「請選擇角色」選單選取「專案 IAM 管理員」角色。
- 按一下「儲存」。
- 開啟「IAM」>「權限」頁面,確認使用者已獲派正確的角色。
使用 Google Cloud CLI 指派角色
下列範例指令說明如何在使用員工身分聯盟時,將 chronicle.admin 角色授予使用者。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin
更改下列內容:
PROJECT_ID:您在「將 Google SecOps 執行個體繫結至 Google Cloud 專案」中,建立的 Google SecOps 繫結專案 ID。如需識別專案的欄位說明,請參閱「建立及管理專案」。WORKFORCE_POOL_ID:為識別資訊提供者建立的工作團隊集區 ID。USER_EMAIL:使用者的電子郵件地址。
下列範例指令示範如何在使用 Cloud Identity 或 Google Workspace 時,將 chronicle.admin 角色授予使用者。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "user:USER_EMAIL" \
--role=roles/chronicle.admin
更改下列內容:
PROJECT_ID:您在「將 Google SecOps 執行個體繫結至 Google Cloud 專案」中,建立的 Google SecOps 繫結專案 ID。如需識別專案的欄位說明,請參閱「建立及管理專案」。USER_EMAIL:使用者的電子郵件地址。
範例:在共用專案中指派專案 IAM 管理員角色
在這個範例中,專案用於多個應用程式。該專案繫結至 Google SecOps 執行個體,並執行與 Google SecOps 無關的服務。例如用於其他用途的 Compute Engine 資源。
在這種情況下,您可以將專案 IAM 管理員角色授予使用者,讓他們授予及修改專案的 IAM 角色繫結,並設定 Google SecOps。您也會將 IAM 新增至角色繫結,限制他們只能存取專案中與 Google SecOps 相關的角色。這位使用者只能授予 IAM 條件中指定的角色。
如要進一步瞭解 IAM 條件,請參閱「IAM 條件總覽」和「管理條件式角色繫結」。
使用 Google Cloud 控制台指派角色
下列步驟說明如何使用 Google Cloud 控制台,將角色授予使用者。
- 開啟 Google Cloud 控制台。
- 選取繫結至 Google SecOps 的專案。
- 選取「IAM & Admin」(IAM 與管理)。
- 選取「授予存取權」。系統會顯示「Grant Access to 」(授予「
<project>」存取權)。 - 在「Grant Access to
<project>」(授予 存取權) 對話方塊的「Add Principals」(新增主體) 專區, 在「New Principals」(新增主體) 欄位輸入使用者電子郵件地址。 - 在「Assign Roles」(指派角色) 專區的「Select a role」(請選擇角色) 選單中,選取「Project IAM Admin」(專案 IAM 管理員) 角色。
- 按一下「+ 新增 IAM 條件」。
- 在「Add condition」(新增條件) 對話方塊中,輸入下列資訊:
- 輸入條件的「Title」(名稱)。
- 選取「條件編輯器」。
- 輸入下列條件:
api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])
- 在「新增條件」對話方塊中,按一下「儲存」。
- 在「授予
<project>存取權」對話方塊中,點選「儲存」。 - 開啟「IAM」>「權限」頁面,確認使用者已獲派正確的角色。
使用 Google Cloud CLI 指派角色
下列範例指令說明如何在使用員工身分聯盟時,將 chronicle.admin 角色授予使用者,並套用 IAM 條件。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
更改下列內容:
PROJECT_ID:您在「將 Google SecOps 執行個體繫結至 Google Cloud 專案」中,建立的 Google SecOps 繫結專案 ID。如需識別專案的欄位說明,請參閱「建立及管理專案」。WORKFORCE_POOL_ID:為識別資訊提供者建立的工作團隊集區 ID。USER_EMAIL:使用者的電子郵件地址。
下列範例指令說明如何在使用 Cloud Identity 或 Google Workspace 時,將 chronicle.admin 角色授予群組並套用 IAM 條件。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
更改下列內容:
PROJECT_ID:您在「將 Google SecOps 執行個體繫結至 Google Cloud 專案」中,建立的 Google SecOps 繫結專案 ID。如需識別專案的欄位說明,請參閱「建立及管理專案」。USER_EMAIL:使用者電子郵件地址,例如bob@example.com。
範例:將 Chronicle API 編輯者角色指派給使用者
在這種情況下,您想讓使用者能修改 Chronicle API 資源的存取權。
使用 Google Cloud 控制台指派角色
- 開啟 Google Cloud 控制台。
- 選取繫結至 Google SecOps 的專案。
- 選取「IAM & Admin」(IAM 與管理)。
- 選取「授予存取權」。「Grant Access to
<project>」(授予 存取權) 對話方塊隨即開啟。 - 在「新增主體」部分的「新主體」欄位中,輸入使用者電子郵件地址。
- 在「指派角色」部分,從「請選擇角色」選單中選取「Chronicle API 編輯者」角色。
- 在「授予
<project>存取權」對話方塊中,點選「儲存」。 - 開啟「IAM」>「權限」頁面,確認使用者已獲派正確的角色。
使用 Google Cloud CLI 指派角色
下列範例指令說明如何在使用員工身分聯盟時,將 chronicle.editor 角色授予使用者。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.editor
更改下列內容:
PROJECT_ID:您在「將 Google SecOps 執行個體繫結至 Google Cloud 專案」中,建立的 Google SecOps 繫結專案 ID。如需識別專案的欄位說明,請參閱「建立及管理專案」。WORKFORCE_POOL_ID:為識別資訊提供者建立的工作團隊集區 ID。USER_EMAIL:使用者的電子郵件地址。下列範例指令說明如何在使用 Cloud Identity 或 Google Workspace 時,將
chronicle.editor角色授予使用者。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.editor
更改下列內容:
PROJECT_ID:您在「將 Google SecOps 執行個體繫結至 Google Cloud 專案」中,建立的 Google SecOps 繫結專案 ID。如需識別專案的欄位說明,請參閱「建立及管理專案」。WORKFORCE_POOL_ID:為識別資訊提供者建立的工作團隊集區 ID。USER_EMAIL:使用者的電子郵件地址。
範例:建立自訂角色並指派給群組
如果 Google SecOps 預先定義的角色無法提供符合貴組織用途的權限群組,您可以建立自訂角色,並將 Google SecOps 權限指派給該自訂角色。您可以將自訂角色指派給使用者或群組。如要進一步瞭解 IAM 自訂角色,請參閱「建立及管理自訂角色」。
請按照下列步驟建立名為 LimitedAdmin 的自訂角色。
建立 YAML 或 JSON 檔案,定義自訂角色 (名為
LimitedAdmin) 和授予該角色的權限。以下是 YAML 檔案範例。title: "LimitedAdmin" description: "Admin role with some permissions removed" stage: "ALPHA" includedPermissions: - chronicle.collectors.create - chronicle.collectors.delete - chronicle.collectors.get - chronicle.collectors.list - chronicle.collectors.update - chronicle.dashboards.copy - chronicle.dashboards.create - chronicle.dashboards.delete - chronicle.dashboards.get - chronicle.dashboards.list - chronicle.extensionValidationReports.get - chronicle.extensionValidationReports.list - chronicle.forwarders.create - chronicle.forwarders.delete - chronicle.forwarders.generate - chronicle.forwarders.get - chronicle.forwarders.list - chronicle.forwarders.update - chronicle.instances.get - chronicle.instances.report - chronicle.legacies.legacyGetCuratedRulesTrends - chronicle.legacies.legacyGetRuleCounts - chronicle.legacies.legacyGetRulesTrends - chronicle.legacies.legacyUpdateFinding - chronicle.logTypeSchemas.list - chronicle.multitenantDirectories.get - chronicle.operations.cancel - chronicle.operations.delete - chronicle.operations.get - chronicle.operations.list - chronicle.operations.wait - chronicle.parserExtensions.activate - chronicle.parserExtensions.create - chronicle.parserExtensions.delete - chronicle.parserExtensions.generateKeyValueMappings - chronicle.parserExtensions.get - chronicle.parserExtensions.legacySubmitParserExtension - chronicle.parserExtensions.list - chronicle.parserExtensions.removeSyslog - chronicle.parsers.activate - chronicle.parsers.activateReleaseCandidate - chronicle.parsers.copyPrebuiltParser - chronicle.parsers.create - chronicle.parsers.deactivate - chronicle.parsers.delete - chronicle.parsers.get - chronicle.parsers.list - chronicle.parsers.runParser - chronicle.parsingErrors.list - chronicle.validationErrors.list - chronicle.validationReports.get - resourcemanager.projects.get建立自訂角色。下列 gcloud CLI 指令範例說明如何使用上一步建立的 YAML 檔案,建立這個自訂角色。
gcloud iam roles create ROLE_NAME \ --project=PROJECT_ID \ --file=YAML_FILE_NAME更改下列內容:
PROJECT_ID:您在「將 Google SecOps 執行個體繫結至 Google Cloud 專案」中,建立的 Google SecOps 繫結專案 ID。如需識別專案的欄位說明,請參閱「建立及管理專案」。YAML_FILE_NAME:您在上一個步驟中建立的檔案名稱。ROLE_NAME:YAML 檔案中定義的自訂角色名稱。
使用 Google Cloud CLI 指派自訂角色。
下列範例指令說明如何在使用員工身分聯盟時,將自訂角色
limitedAdmin授予一組使用者。gcloud projects add-iam-policy-binding PROJECT_ID \ --member=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin更改下列內容:
PROJECT_ID:您在「將 Google SecOps 執行個體繫結至 Google Cloud 專案」中,建立的 Google SecOps 繫結專案 ID。如需識別專案的欄位說明,請參閱「建立及管理專案」。WORKFORCE_POOL_ID:為識別資訊提供者建立的員工集區 ID。GROUP_ID:在員工身分聯盟中建立的群組 ID。如要瞭解在員工身分聯盟中建立的群組 ID,請參閱「在 IAM 政策中代表員工集區使用者」。如要瞭解GROUP_ID,請參閱「在 IAM 政策中代表工作團隊集區使用者」。
下列範例指令說明如何在使用 Cloud Identity 或 Google Workspace 時,將自訂角色
limitedAdmin授予一組使用者。gcloud projects add-iam-policy-binding PROJECT_ID \ --member=groupid:GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin更改下列內容:
PROJECT_ID:您在「將 Google SecOps 執行個體繫結至 Google Cloud 專案」中,建立的 Google SecOps 繫結專案 ID。如需識別專案的欄位說明,請參閱「建立及管理專案」。WORKFORCE_POOL_ID:為識別資訊提供者建立的員工集區 ID。GROUP_ID:在員工身分聯盟中建立的群組 ID。如要瞭解在員工身分聯盟中建立的群組 ID,請參閱「在 IAM 政策中代表員工集區使用者」。如要瞭解GROUP_ID,請參閱「在 IAM 政策中代表工作團隊集區使用者」。
驗證稽核記錄
Google SecOps 中的使用者動作和 Chronicle API 要求會記錄為 Cloud 稽核記錄。如要確認記錄是否正在寫入,請執行下列步驟:
- 以具備任何功能存取權限的使用者身分,登入 Google SecOps。詳情請參閱「登入 Google SecOps」。
- 執行操作,例如搜尋。
- 在 Google Cloud 控制台,使用記錄檔探索工具查看 Google SecOps 繫結 Cloud 專案中的稽核記錄。Google SecOps 稽核記錄的服務名稱為
chronicle.googleapis.com。
如要進一步瞭解如何查看 Cloud 稽核記錄,請參閱「Google SecOps 稽核記錄資訊」。
以下範例記錄是在使用者 alice@example.com 於 Google SecOps 查看剖析器擴充功能清單時寫入。
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"authenticationInfo": {
"principalEmail": "alice@example.com"
},
"requestMetadata": {
"callerIp": "private",
"callerSuppliedUserAgent": "abc_client",
"requestAttributes": {
"time": "2023-03-27T21:09:43.897772385Z",
"reason": "8uSywAYeWhxBRiBhdXRoIFVwVGljay0-REFUIGV4Y2abcdef",
"auth": {}
},
"destinationAttributes": {}
},
"serviceName": "chronicle.googleapis.com",
"methodName": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"authorizationInfo": [
{
"resource": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"permission": "chronicle.parserExtensions.list",
"granted": true,
"resourceAttributes": {}
}
],
"resourceName": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"numResponseItems": "12",
"request": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsRequest",
"parent": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-"
},
"response": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsResponse"
}
},
"insertId": "1h0b0e0a0",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "dev-sys-server001",
"method": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"service": "chronicle.googleapis.com"
}
},
"timestamp": "2023-03-27T21:09:43.744940164Z",
"severity": "INFO",
"logName": "projects/dev-sys-server001/logs/cloudaudit.googleapis.com%2Fdata_access",
"receiveTimestamp": "2023-03-27T21:09:44.863100753Z"
}
將 Google SecOps 遷移至功能 RBAC,控管功能存取權
請參閱以下各節,瞭解如何將現有的 Google Security Operations SIEM 執行個體,從舊版 RBAC 系統遷移至功能 RBAC。
遷移至功能 RBAC 後,您也可以使用 Cloud 稽核記錄,稽核 Google SecOps 執行個體上的活動。
舊版 RBAC 與功能 RBAC 的差異
雖然功能 RBAC 預先定義的角色名稱與舊版 RBAC 角色類似,但功能 RBAC 預先定義的角色提供的功能存取權與舊版 RBAC 角色不同。指派給各個預先定義功能 RBAC 角色的權限略有不同。詳情請參閱「功能 RBAC IAM 角色與舊版 RBAC 角色的對應方式」。
您可以直接使用 Google SecOps 預先定義的角色、變更各個預先定義角色中的權限,或是建立自訂角色並指派一組不同的權限。
遷移 Google SecOps 執行個體後,您可以在 Google Cloud 控制台中使用 IAM 管理角色、權限和功能 RBAC 政策。下列 Google SecOps 應用程式頁面經過修改,會將使用者導向 Google Cloud 控制台:
- 使用者與群組
- 角色
在舊版 RBAC 中,每項權限都是由功能名稱和動作描述。功能 RBAC 中的 IAM 權限會以資源名稱和方法描述。下表列出兩個範例,說明兩者之間的差異,一個與資訊主頁有關,另一個與動態饋給有關。
資訊主頁範例:如要控管資訊主頁的存取權,舊版 RBAC 提供五種可對資訊主頁執行的動作。功能 RBAC 提供類似的 IAM 權限,並額外提供
dashboards.list,讓使用者列出可用的資訊主頁。動態消息範例:如要控管動態消息的存取權,舊版 RBAC 提供七種可啟用或停用的動作。功能 RBAC 則有四種:
feeds.delete、feeds.create、feeds.update和feeds.view。
| 功能 | 舊版 RBAC 中的權限 | 功能 RBAC 中的 IAM 權限 | 使用者動作說明 |
|---|---|---|---|
| 資訊主頁 | 編輯 | chronicle.dashboards.edit |
編輯資訊主頁 |
| 資訊主頁 | 複製 | chronicle.dashboards.copy |
複製資訊主頁 |
| 資訊主頁 | 建立 | chronicle.dashboards.create |
建立資訊主頁 |
| 資訊主頁 | 排程 | chronicle.dashboards.schedule |
安排報表執行時間 |
| 資訊主頁 | 刪除 | chronicle.dashboards.delete |
刪除報表 |
| 資訊主頁 | 無,這項功能僅適用於 RBAC。 | chronicle.dashboards.list |
列出可用的資訊主頁 |
| 動態饋給 | DeleteFeed | chronicle.feeds.delete |
刪除動態饋給。 |
| 動態饋給 | CreateFeed | chronicle.feeds.create |
建立動態饋給。 |
| 動態饋給 | UpdateFeed | chronicle.feeds.update |
更新動態饋給。 |
| 動態饋給 | EnableFeed | chronicle.feeds.update |
更新動態饋給。 |
| 動態饋給 | DisableFeed | chronicle.feeds.update |
更新動態饋給。 |
| 動態饋給 | ListFeeds | chronicle.feeds.view |
傳回一或多個動態饋給。 |
| 動態饋給 | GetFeed | chronicle.feeds.view |
傳回一或多個動態饋給。 |
遷移現有存取控管權限的步驟
完成遷移現有 Google SecOps 執行個體的步驟後,您也可以遷移功能存取控管設定。
Google SecOps 會自動生成指令,建立新 功能 RBAC IAM 政策,等同於 在 Google SecOps 的 「設定」>「存取權管理」>「使用者和群組」頁面中設定的舊版 RBAC。
請確認您具備「設定 Google SecOps 的 Google Cloud 專案」一文所述的必要權限,然後按照「將現有權限和角色遷移至 IAM」一節的步驟操作。
功能 RBAC IAM 角色與舊版 RBAC 角色的對應關係
本節的對應資訊說明遷移前後,預先定義角色的存取權差異。雖然舊版 RBAC 角色名稱與功能 RBAC IAM 預先定義角色類似,但兩者提供的存取權限不同。本節將介紹其中一些差異。
Chronicle API 有限檢視者
這個角色可授予 Google SecOps 應用程式和 API 資源的唯讀存取權,但不包括偵測引擎規則和 RetroHunt。角色名稱為 chronicle.limitedViewer。
如需詳細的權限清單,請參閱「Chronicle API 檢視者」。
Chronicle API 檢視者
這個角色提供 Google SecOps 應用程式和 API 資源的唯讀存取權。角色名稱為 chronicle.viewer。
下列權限說明類似的舊版 RBAC 和功能 RBAC 角色之間的一些差異。如需詳細的權限清單,請參閱「Chronicle API 檢視者」。
| Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
|---|---|
chronicle.ruleDeployments.get |
Viewer |
chronicle.ruleDeployments.list |
Viewer |
chronicle.rules.verifyRuleText |
Viewer |
chronicle.rules.get |
Viewer |
chronicle.rules.list |
Viewer |
chronicle.legacies.legacyGetRuleCounts |
Viewer |
chronicle.legacies.legacyGetRulesTrends |
Viewer |
chronicle.rules.listRevisions |
Viewer |
chronicle.legacies.legacyGetCuratedRulesTrends |
Viewer |
chronicle.ruleExecutionErrors.list |
Viewer |
chronicle.curatedRuleSets.get |
Viewer |
chronicle.curatedRuleSetDeployments.get |
Viewer |
chronicle.curatedRuleSets.list |
Viewer |
chronicle.curatedRuleSetDeployments.list |
Viewer |
chronicle.curatedRuleSetCategories.get |
Viewer |
chronicle.curatedRuleSetCategories.list |
Viewer |
chronicle.curatedRuleSetCategories.countAllCuratedRuleSetDetections |
Viewer |
chronicle.curatedRuleSets.countCuratedRuleSetDetections |
Viewer |
chronicle.curatedRules.get |
Viewer |
chronicle.curatedRules.list |
Viewer |
chronicle.referenceLists.list |
Viewer |
chronicle.referenceLists.get |
Viewer |
chronicle.referenceLists.verifyReferenceList |
Viewer |
chronicle.retrohunts.get |
Viewer |
chronicle.retrohunts.list |
Viewer |
chronicle.dashboards.schedule |
Editor |
chronicle.operations.get |
None. This is available in feature RBAC only. |
chronicle.operations.list |
None. This is available in feature RBAC only. |
chronicle.operations.wait |
None. This is available in feature RBAC only. |
chronicle.instances.report |
None. This is available in feature RBAC only. |
chronicle.collectors.get |
None. This is available in feature RBAC only. |
chronicle.collectors.list |
None. This is available in feature RBAC only. |
chronicle.forwarders.generate |
None. This is available in feature RBAC only. |
chronicle.forwarders.get |
None. This is available in feature RBAC only. |
chronicle.forwarders.list |
None. This is available in feature RBAC only. |
Chronicle API 編輯者
這個角色可讓使用者修改 Google SecOps 應用程式和 API 資源的存取權。角色名稱為 chronicle.editor。
下列權限說明類似的舊版 RBAC 和功能 RBAC 角色之間的一些差異。如需權限的詳細清單,請參閱「Chronicle API 編輯者」。
| Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
|---|---|
chronicle.ruleDeployments.update |
Editor |
chronicle.rules.update |
Editor |
chronicle.rules.create |
Editor |
chronicle.referenceLists.create |
Editor |
chronicle.referenceLists.update |
Editor |
chronicle.rules.runRetrohunt |
Editor |
chronicle.retrohunts.create |
Editor |
chronicle.curatedRuleSetDeployments.batchUpdate |
Editor |
chronicle.curatedRuleSetDeployments.update |
Editor |
chronicle.dashboards.copy |
Editor |
chronicle.dashboards.edit |
Editor |
chronicle.dashboards.create |
Editor |
chronicle.legacies.legacyUpdateFinding |
Editor |
chronicle.dashboards.delete |
Editor |
chronicle.operations.delete |
None. This is available in feature RBAC only. |
Chronicle API 管理員
這個角色具備 Google SecOps 應用程式和 API 服務的完整存取權,包括全域設定。角色名稱為 chronicle.admin。
下列權限說明類似的舊版 RBAC 和功能 RBAC 角色之間的一些差異。如需權限的詳細清單,請參閱「Chronicle API 管理員」。
| Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
|---|---|
chronicle.parserExtensions.delete |
Admin |
chronicle.parsers.copyPrebuiltParser |
Admin |
chronicle.extensionValidationReports.get |
Admin |
chronicle.extensionValidationReports.list |
Admin |
chronicle.validationErrors.list |
Admin |
chronicle.parsers.runParser |
Admin |
chronicle.parserExtensions.get |
Admin |
chronicle.parserExtensions.list |
Admin |
chronicle.validationReports.get |
Admin |
chronicle.parserExtensions.create |
Admin |
chronicle.parserExtensions.removeSyslog |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parserExtensions.activate |
Admin |
chronicle.parsers.activateReleaseCandidate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parserExtensions.generateKeyValuechronicle.Mappings |
Admin |
chronicle.parserExtensions.legacySubmitParserExtension |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.list |
Admin |
chronicle.parsers.create |
Admin |
chronicle.parsers.delete |
Admin |
chronicle.feeds.delete |
Admin |
chronicle.feeds.create |
Admin |
chronicle.feeds.update |
Admin |
chronicle.feeds.enable |
Admin |
chronicle.feeds.disable |
Admin |
chronicle.feeds.list |
Admin |
chronicle.feeds.get |
Admin |
chronicle.feedSourceTypeSchemas.list |
Admin |
chronicle.logTypeSchemas.list |
Admin |
chronicle.operations.cancel |
Editor |
chronicle.collectors.create |
None. This is available in feature RBAC only. |
chronicle.collectors.delete |
None. This is available in feature RBAC only. |
chronicle.collectors.update |
None. This is available in feature RBAC only. |
chronicle.forwarders.create |
None. This is available in feature RBAC only. |
chronicle.forwarders.delete |
None. This is available in feature RBAC only. |
chronicle.forwarders.update |
None. This is available in feature RBAC only. |
chronicle.parsingErrors.list |
None. This is available in feature RBAC only. |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。