配置功能访问权限
功能 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,并且您希望限制具有 Project IAM Admin 角色的用户只能修改 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 权限参考。在搜索权限部分下,搜索字词 chronicle。
如需查看预定义的 Google Security Operations 角色的最新列表,请参阅 IAM 基本角色和预定义角色参考文档。在预定义角色部分下,选择 Chronicle API 角色服务或搜索字词 chronicle。
如需了解 API 方法和权限、使用权限的页面以及调用 API 时在 Cloud Audit Logs 中记录的信息,请参阅 IAM 中的 Chronicle 权限。
IAM 中的 Google SecOps 预定义角色
Google SecOps 提供以下预定义角色,这些角色在 IAM 中显示。
| IAM 中的预定义角色 | 标题 | 说明 |
|---|---|---|
roles/chronicle.admin |
Chronicle API Admin | 拥有对 Google SecOps 应用和 API 服务(包括全局设置)的完整访问权限。 |
roles/chronicle.editor |
Chronicle API Editor | 拥有对 Google SecOps 应用和 API 资源的修改权限。 |
roles/chronicle.viewer |
Chronicle API Viewer | 拥有对 Google SecOps 应用和 API 资源的只读权限 |
roles/chronicle.limitedViewer |
Chronicle API Limited Viewer | 授予对 Google SecOps 应用和 API 资源(不包括检测引擎规则和 Retrohunt)的只读权限。 |
roles/chronicle.soarAdmin |
Chronicle SOAR Admin | 拥有对 Google SecOps SOAR 应用和 API 服务(包括全局设置)的完整访问权限。迁移到 Google Cloud后,您可以管理平台 SOAR 侧的功能 RBAC。 |
IAM 中的 Google SecOps 权限
Google SecOps 权限与 Chronicle API 方法一一对应。每个 Google SecOps 权限都允许在使用 Web 应用或 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 后,Google SecOps 预定义角色和权限将在 IAM 中提供,您可以创建政策来支持组织要求。
如果您有新创建的 Google SecOps 实例,请开始创建 IAM 政策以满足组织要求。
如果这是现有 Google SecOps 实例,请参阅将 Google SecOps 迁移到 IAM 以进行功能访问权限控制,了解如何将实例迁移到 IAM。
示例:在专用项目中分配 Project IAM Admin 角色
在此示例中,该项目专用于您的 Google SecOps 实例。您向用户授予 Project IAM Admin 角色,以便他们可以授予和修改项目的 IAM 角色绑定。该用户可以管理项目中的所有 Google SecOps 角色和权限,并执行 Project IAM Admin 角色授予的任务。
使用 Google Cloud 控制台分配角色
以下步骤介绍了如何使用 Google Cloud 控制台向用户授予角色。
- 打开 Google Cloud 控制台。
- 选择与 Google SecOps 绑定的项目。
- 选择 IAM 和管理。
- 选择授予访问权限。系统会显示授予对
<project>的访问权限。 - 在“添加主账号”部分,在新的主账号字段中输入受管理账号的邮箱。
- 在分配角色部分,从选择角色菜单中选择 Project IAM Admin 角色。
- 点击保存。
- 打开 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:为您的身份提供方创建的员工池的标识符。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:用户的电子邮件地址。
示例:在共享项目中分配 Project IAM Admin 角色
在此示例中,该项目用于多个应用。它绑定到 Google SecOps 实例,并运行与 Google SecOps 无关的服务。例如,用于其他用途的 Compute Engine 资源。
在这种情况下,您可以向用户授予 Project IAM Admin 角色,以便他们授予和修改项目的 IAM 角色绑定并配置 Google SecOps。您还需要将 IAM 添加到角色绑定中,以限制他们只能访问项目中与 Google SecOps 相关的角色。此用户只能授予 IAM 条件中指定的角色。
如需详细了解 IAM 条件,请参阅 IAM 条件概览和管理条件角色绑定。
使用 Google Cloud 控制台分配角色
以下步骤介绍了如何使用 Google Cloud 控制台向用户授予角色。
- 打开 Google Cloud 控制台。
- 选择与 Google SecOps 绑定的项目。
- 选择 IAM 和管理。
- 选择授予访问权限。系统会显示授予对
<project>的访问权限。 - 在授予对
<project>的访问权限对话框中,在添加主账号部分下,在新的主账号字段中输入用户邮箱。 - 在分配角色部分,从选择角色菜单中选择 Project IAM Admin 角色。
- 点击 + 添加 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 Condition。
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:为您的身份提供方创建的员工池的标识符。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 Editor 角色
在这种情况下,您希望向用户授予修改对 Chronicle API 资源的访问权限的能力。
使用 Google Cloud 控制台分配角色
- 打开 Google Cloud 控制台。
- 选择与 Google SecOps 绑定的项目。
- 选择 IAM 和管理。
- 选择授予访问权限。系统会打开授予对
<project>的访问权限对话框。 - 在添加主账号部分的新的主账号字段中,输入用户邮箱。
- 在分配角色部分下的选择角色菜单中,选择 Chronicle API Editor 角色。
- 在向
<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:为您的身份提供方创建的员工池的标识符。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:为您的身份提供方创建的员工池的标识符。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:为您的身份提供方创建的员工池的标识符。GROUP_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:为您的身份提供方创建的员工池的标识符。GROUP_ID:在员工身份联合中创建的群组标识符。如需了解在员工身份联合中创建的群组标识符,请参阅在 IAM 政策中表示员工池用户。如需了解GROUP_ID,请参阅在 IAM 政策中表示员工池用户。
验证审核日志记录
Google SecOps 中的用户操作和对 Chronicle API 的请求会记录为 Cloud Audit Logs。如需验证是否正在写入日志,请执行以下步骤:
- 以有权访问任何功能的用户身份登录 Google SecOps。 如需了解详情,请参阅登录 Google SecOps。
- 执行操作,例如执行搜索。
- 在 Google Cloud 控制台中,使用 Logs Explorer 查看与 Google SecOps 绑定的云项目中的审核日志。Google SecOps 审核日志具有以下服务名称
chronicle.googleapis.com。
如需详细了解如何查看 Cloud Audit Logs,请参阅 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 Audit Logs 审核 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 权限由资源名称和方法描述。下表通过两个示例说明了这种差异,一个与信息中心相关,另一个与 Feed 相关。
信息中心示例:为了控制对信息中心的访问权限,旧版 RBAC 提供了五种可对信息中心执行的操作。功能 RBAC 提供类似的 IAM 权限,并额外提供一项权限
dashboards.list,允许用户列出可用的信息中心。Feed 示例:为了控制对 Feed 的访问权限,旧版 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 |
列出可用的信息中心 |
| Feed | DeleteFeed | chronicle.feeds.delete |
删除 Feed。 |
| Feed | CreateFeed | chronicle.feeds.create |
创建 Feed。 |
| Feed | UpdateFeed | chronicle.feeds.update |
更新 Feed。 |
| Feed | EnableFeed | chronicle.feeds.update |
更新 Feed。 |
| Feed | DisableFeed | chronicle.feeds.update |
更新 Feed。 |
| Feed | ListFeeds | chronicle.feeds.view |
返回一个或多个 Feed。 |
| Feed | GetFeed | chronicle.feeds.view |
返回一个或多个 Feed。 |
迁移现有访问权限控制权限的步骤
完成迁移现有 Google SecOps 实例的步骤后,您还可以迁移功能访问权限控制配置。
Google SecOps 提供自动生成的命令,这些命令可创建与旧版 RBAC 等效的新功能 RBAC IAM 政策,这些政策在 Google SecOps 的设置 > 访问管理 > 用户和群组页面中配置。
确保您拥有为 Google SecOps 配置 Google Cloud 项目中所述的必要权限,然后按照将现有权限和角色迁移到 IAM 中的步骤操作。
功能 RBAC IAM 角色如何映射到旧版 RBAC 角色
本部分中的映射信息说明了迁移前后预定义角色的访问权限的一些差异。虽然旧版 RBAC 角色名称与功能 RBAC IAM 预定义角色类似,但每个角色提供访问权限的操作不同。本部分将介绍其中一些差异。
Chronicle API Limited Viewer
此角色授予对 Google SecOps 应用和 API 资源(不包括检测引擎规则和 Retrohunt)的只读权限。角色名称为 chronicle.limitedViewer。
如需查看权限的详细列表,请参阅 Chronicle API Viewer。
Chronicle API Viewer
此角色提供对 Google SecOps 应用和 API 资源的只读权限。角色名称为 chronicle.viewer。
以下权限说明了类似的旧版 RBAC 角色和功能 RBAC 角色之间的一些差异。如需查看权限的详细列表,请参阅 Chronicle API Viewer。
| 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 Editor
此角色可让用户修改对 Google SecOps 应用和 API 资源的访问权限。角色名称为 chronicle.editor。
以下权限说明了类似的旧版 RBAC 角色和功能 RBAC 角色之间的一些差异。如需查看权限的详细列表,请参阅 Chronicle API Editor。
| 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 Admin
此角色提供对 Google SecOps 应用和 API 服务(包括全局设置)的完整访问权限。角色名称为 chronicle.admin。
以下权限说明了类似的旧版 RBAC 角色和功能 RBAC 角色之间的一些差异。如需查看权限的详细列表,请参阅 Chronicle API Admin。
| 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. |