使用 IAM 設定功能存取控管機制
功能 RBAC 可控管使用者對系統中特定功能或特性的存取權,並根據使用者的角色決定可存取的功能。本頁說明如何在 Google Security Operations 中設定功能存取權控管。
本文所指的「舊版 RBAC」,是指先前可用的存取權控管系統,該系統是使用 Google SecOps 設定,而非 Identity and Access Management (IAM)。功能 RBAC 用於描述您使用 IAM 設定的以功能為基礎的存取權控管。
Google SecOps 會與 Google Cloud IAM 整合,提供 Google SecOps 專屬的權限和預先定義的角色。Google SecOps 管理員可以建立 IAM 政策,將使用者或群組繫結至預先定義的角色,或建立自訂 IAM 角色,藉此控管功能存取權。這項功能無法控管對特定 UDM 記錄或 UDM 記錄中欄位的存取權。
本文內容如下:
- 說明 Google SecOps 如何與 IAM 整合。
- 說明功能 RBAC 角色與舊版 RBAC 角色的差異。
- 提供將 Google SecOps 執行個體遷移至 RBAC 功能的步驟。
- 提供如何使用 IAM 指派權限的範例。
- 概述 IAM 提供的權限和預先定義角色。
如需常見 Google SecOps 權限及其產生的稽核記錄清單,請參閱「依資源群組列出的權限和 API 方法」。如需所有 Google SecOps 權限的清單,請參閱身分與存取權管理權限參考資料。
每項 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 SecOps,且您想限制具有專案 IAM 管理員角色的使用者只能修改 Google SecOps 資源,請務必在允許政策中新增 IAM 條件。 Google Cloud 如需操作範例,請參閱「將角色指派給使用者和群組」。
管理員會根據員工在機構中的角色,調整 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 權限參考資料。在「搜尋權限」專區下方,搜尋「chronicle
」一詞。
如需最新的 Google Security Operations 預先定義角色清單,請參閱 IAM 基本和預先定義角色參考資料。在「預先定義的角色」部分,選取「Chronicle API roles」服務,或搜尋 chronicle
一詞。
如要瞭解 API 方法和權限、使用權限的頁面,以及呼叫 API 時記錄在 Cloud Audit Logs 中的資訊,請參閱「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。 |
IAM 中的 Google SecOps 權限
Google SecOps 權限與 Chronicle API 方法一一對應。使用網頁應用程式或 API 時,每項 Google SecOps 權限都可對特定 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 與管理)。
- 選取「授予存取權」。系統會顯示「將存取權授予『
<project>
』」。 - 在「新增主體」部分下方,於「New principals」(新增主體) 欄位中輸入受管理帳戶的電子郵件地址。
- 在「指派角色」部分,選取「請選擇角色」選單中的「專案 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 Security Operations 執行個體,並執行與 Google Security Operations 無關的服務。舉例來說,Compute Engine 資源用於其他用途。
在這種情況下,您可以將「專案 IAM 管理員」角色授予使用者,讓他們授予及修改專案的 IAM 角色繫結,並設定 Google SecOps。您也會在角色繫結中新增 IAM,將存取權限制為只能存取專案中與 Google SecOps 相關的角色。這位使用者只能授予 IAM 條件中指定的角色。
如要進一步瞭解 IAM 條件,請參閱IAM 條件總覽和管理條件式角色繫結。
使用 Google Cloud 控制台指派角色
下列步驟說明如何使用 Google Cloud 控制台將角色授予使用者。
- 開啟 Google Cloud 控制台。
- 選取與 Google SecOps 綁定的專案。
- 選取「IAM & Admin」(IAM 與管理)。
- 選取「授予存取權」。系統會顯示「將存取權授予『
<project>
』」。 - 在「授予
<project>
存取權」對話方塊的「新增主體」部分下方,於「新增主體」欄位中輸入使用者電子郵件地址。 - 在「指派角色」部分,選取「請選擇角色」選單中的「專案 IAM 管理員」角色。
- 按一下「+ Add IAM Condition」。
- 在「新增條件」對話方塊中,輸入下列資訊:
- 輸入條件的名稱。
- 選取「條件編輯器」。
- 輸入下列條件:
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 與管理)。
- 選取「授予存取權」。系統會開啟「授予存取權給
<project>
」對話方塊。 - 在「Add Principals」(新增主體) 部分下方的「New principals」(新增主體) 欄位中,輸入使用者電子郵件地址。
- 在「指派角色」部分,選取「請選擇角色」選單中的「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 或 時,授予一組使用者自訂角色
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 稽核記錄資訊。
以下是使用者在 Google SecOps 中查看剖析器擴充功能清單時,系統寫入的記錄範例。alice@example.com
{
"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 對應的新功能 RBAC IAM 政策。舊版 RBAC 是在 Google SecOps 的「SIEM 設定」>「使用者和群組」頁面中設定。
請確認您具備「為 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 專業人員尋求答案。