为用户配置数据 RBAC
本页介绍了数据基于角色的访问权限控制 (data RBAC) 管理员如何在 Google Security Operations 中配置 data RBAC。通过创建和分配数据范围(由标签定义),您可以确保只有获得授权的用户才能访问数据。
数据 RBAC 依赖于 IAM 概念,包括预定义角色、自定义角色和 IAM 条件。
下面简要介绍了配置流程:
规划实现:确定您要限制用户访问的不同类型的数据。确定贵组织中的不同角色,并确定每个角色的数据访问权限要求。
可选:创建自定义标签:除了默认标签之外,您还可以创建自定义标签来对数据进行分类。
创建数据范围:通过组合相关标签来定义范围。
向用户分配镜重:根据用户的职责,在 IAM 中向用户角色分配镜重。
首次启用数据 RBAC 时,规则、参考列表和数据表没有分配任何范围。只有拥有全局访问权限的用户才能访问这些数据。默认情况下,受限用户无权访问任何数据。这可防止意外访问,并确保安全的起始点。如需授予访问权限,请根据您的要求定义镜重范围,并将其分配给用户、规则和参考列表。
准备工作
如需了解数据 RBAC 的核心概念、不同的访问权限类型和相应的用户角色、标签和镜重范围的运作方式,以及数据 RBAC 对 Google SecOps 功能的影响,请参阅数据 RBAC 概览。
设置 Google SecOps 实例。如需了解详情,请参阅设置或迁移 Google Security Operations 实例。
确保您拥有所需的角色。
默认情况下,数据 RBAC 处于停用状态。如需启用数据 RBAC,请与 Google SecOps 支持团队联系。
创建和管理自定义标签
自定义标签是指您可以添加到 SIEM 提取的 Google SecOps 数据中的元数据,以便根据 UDM 标准化值对其进行分类和整理。
例如,假设您要监控网络活动。您怀疑某个 IP 地址 (10.0.0.1) 可能已遭到入侵,因此想要跟踪该 IP 地址的动态主机配置协议 (DHCP) 事件。
如需过滤和识别这些特定事件,您可以创建一个名为“可疑 DHCP 活动”的自定义标签,并为其指定以下定义:
metadata.event_type = "NETWORK_DHCP" AND principal.ip = "10.0.0.1"
自定义标签的运作方式如下:
Google SecOps 会持续将网络日志和事件提取到其 UDM。提取 DHCP 事件时,Google SecOps 会检查该事件是否符合自定义标签的条件。如果 metadata.event_type
字段为 NETWORK_DHCP
,并且 principal.ip
字段(请求 DHCP 租约的设备的 IP 地址)为 10.0.0.1
,Google SecOps 会将自定义标签应用于该事件。
您可以使用“可疑的 DHCP 活动”标签创建范围,并将该范围分配给相关用户。通过范围分配,您可以将对这些事件的访问权限限制为组织中的特定用户或角色。
标签要求和限制
- 标签名称必须是唯一的,且最多包含 63 个字符。它们只能包含小写字母、数字字符和连字符。删除后无法重复使用。
- 标签无法使用参考列表。
- 标签无法使用丰富字段。
- 标签不支持正则表达式。
创建自定义标签
如需创建自定义标签,请执行以下操作:
依次点击设置 > SIEM 设置 > 数据访问。
在自定义标签标签页中,点击创建自定义标签。
在 UDM 搜索窗口中,输入您的查询,然后点击运行搜索。
您可以优化查询,然后点击运行搜索,直到结果中显示您要标记的数据。如需详细了解如何运行查询,请参阅输入 UDM 搜索查询。
点击创建标签。
在创建标签窗口中,选择另存为新标签,然后输入标签名称和说明。
点击创建标签。
系统会创建一个新的自定义标签。在数据提取期间,系统会将此标签应用于与 UDM 查询匹配的数据。该标签不会应用于已提取的数据。
修改自定义标签
您只能修改标签说明和与标签关联的查询。标签名称无法更新。修改自定义标签后,更改只会应用于新数据,而不会应用于已提取的数据。
如需修改标签,请执行以下操作:
依次点击设置 > SIEM 设置 > 数据访问。
在自定义标签标签页中,点击要修改的标签对应的
菜单,然后选择修改。在 UDM 搜索窗口中,更新您的查询,然后点击运行搜索。
您可以优化查询,然后点击运行搜索,直到结果中显示您要标记的数据。如需详细了解如何运行查询,请参阅输入 UDM 搜索查询。
点击保存更改。
自定义标签已修改。
删除自定义标签
删除标签后,系统将无法将新数据与其相关联。已与标签关联的数据仍会与该标签相关联。删除后,您将无法恢复自定义标签,也无法重复使用标签名称来创建新标签。
依次点击设置 > SIEM 设置 > 数据访问。
在自定义标签标签页中,点击要删除的标签的
菜单,然后选择删除。点击删除。
在确认窗口中,点击确认。
自定义标签已被删除。
查看自定义标签
如需查看自定义标签的详细信息,请执行以下操作:
依次点击设置 > SIEM 设置 > 数据访问。
在自定义标签标签页中,点击要修改的标签对应的
菜单,然后选择查看。系统会显示标签详情。
创建和管理镜重
您可以在 Google SecOps 界面中创建和管理数据范围,然后通过 IAM 将这些范围分配给用户或群组。您可以通过应用标签来创建范围,这些标签用于定义拥有该范围的用户可以访问的数据。
创建镜重
如需创建镜重,请执行以下操作:
依次点击设置 > SIEM 设置 > 数据访问。
在范围标签页中,点击创建范围。
在创建新作用域窗口中,执行以下操作:
输入范围名称和说明。
在使用标签定义范围访问权限 > 允许访问中,执行以下操作:
如需选择要向用户授予访问权限的标签及其对应的值,请点击允许使用特定标签。
在范围定义中,同一类型(例如日志类型)的标签使用 OR 运算符进行组合,而不同类型(例如日志类型和命名空间)的标签使用 AND 运算符进行组合。如需详细了解标签如何在镜重范围中定义数据访问权限,请参阅使用允许和禁止标签控制数据可见性。
如需授予对所有数据的访问权限,请选择允许访问所有内容。
如要排除对某些标签的访问权限,请选择排除某些标签,然后选择您要拒绝用户访问的标签类型和相应值。
在某个范围内应用多个拒绝访问标签后,如果请求与其中任一标签匹配,则会被拒绝访问。
点击测试范围,验证标签是如何应用于范围的。
在 UDM 搜索窗口中,输入您的查询,然后点击运行搜索。
您可以优化查询,然后点击运行搜索,直到结果中显示您要标记的数据。如需详细了解如何运行查询,请参阅输入 UDM 搜索查询。
点击创建镜重。
在创建镜重窗口中,确认镜重名称和说明,然后点击创建镜重。
范围已创建。您必须向用户分配此镜,才能向他们授予对此镜中数据的访问权限。
修改范围
您只能修改范围说明和关联的标签。范围名称无法更新。更新范围后,系统会根据新标签限制与该范围关联的用户。系统不会针对更新后的镜重匹配绑定到该镜的规则。
如需修改镜重,请执行以下操作:
依次点击设置 > SIEM 设置 > 数据访问。
在范围标签页中,点击与要修改的范围对应的
菜单,然后选择修改。点击
Edit(修改)以修改范围说明。在使用标签定义范围访问权限部分中,根据需要更新标签及其对应的值。
点击测试范围,验证新标签如何应用于范围。
在 UDM 搜索窗口中,输入您的查询,然后点击运行搜索。
您可以优化查询,然后点击运行搜索,直到结果中显示您要标记的数据。如需详细了解如何运行查询,请参阅输入 UDM 搜索查询。
点击保存更改。
范围已修改。
删除范围
删除某个镜重后,用户将无法访问与该镜重关联的数据。删除后,您将无法再使用该镜重名来创建新的镜。
如需删除镜重,请执行以下操作:
依次点击设置 > SIEM 设置 > 数据访问。
在范围标签页中,点击要删除的范围对应的
菜单。点击删除。
在确认窗口中,点击确认。
该镜重已删除。
视图范围
如需查看范围详情,请执行以下操作:
依次点击设置 > 数据访问。
在 Scopes(范围)标签页中,点击要查看的范围对应的
Menu(菜单),然后选择 View(查看)。
系统会显示镜重详细信息。
向用户分配范围
若要控制具有受限权限的用户的数据访问权限,必须进行范围分配。向用户分配特定范围可决定他们可以查看和互动的数据。向用户分配多个镜重后,他们将能够访问所有这些镜重中合并的数据。您可以向需要全局访问权限的用户分配适当的范围,以便用户查看和与所有数据互动。如需向用户分配镜重,请执行以下操作:
在 Google Cloud 控制台中,转到 IAM 页面。
选择已绑定到 Google SecOps 的项目。
点击
授予访问权限。在新的主账号字段中,执行以下操作:
在分配角色 > 选择角色菜单中,选择所需角色。 点击添加其他角色以添加多个角色。如需了解需要添加哪些角色,请参阅用户角色。
如需向用户分配范围,请向分配给用户的 Chronicle 受限数据访问权限角色添加条件(不适用于全局访问权限角色)。
针对 Chronicle Restricted Data Access 角色点击添加 IAM 条件。系统随即会显示添加条件窗口。
输入条件标题和可选说明。
添加条件表达式。
您可以使用条件构建器或条件编辑器添加条件表达式。
条件构建器提供一个交互式界面,用于选择条件类型、运算符以及有关表达式的其他适用详情。借助以下运算符,您可以创建精确的规则,以便使用单个 IAM 条件控制对多个镜的访问权限:
ENDS_WITH:检查镜重范围名称是否以特定字词结尾。如需匹配确切字词,请在字词前面添加
/
。假设有一个名为
projects/1234/locations/us/instances/2342-434-44-3434-343434/dataAccessScopes/scopename
的数据访问范围示例。ENDS_WITH /scopename
与确切名称匹配,并针对示例作用域评估为true
。ENDS_WITH scopename
匹配以“scopename”结尾的任何名称,并且对于示例作用域和projects/1234/locations/us/instances/2342-434-44-3434-343434/dataAccessScopes/testscopename
,其评估结果为true
。
STARTS_WITH:检查镜重范围名称是否以特定字词开头。例如,
STARTS_WITH projects/project1
会授予对“project1”中的所有镜的访问权限。EQUALS_TO:检查名称是否与特定字词或短语完全匹配。这样只会获得对一个镜子的访问权限。例如,对于示例作用域,
EQUALS_TO projects/1234/locations/us/instances/2342-434-44-3434-343434/dataAccessScopes/scopename
的求值结果为true
。
如需向角色添加镜重,我们建议您执行以下操作:
在条件类型中选择名称,在运算符中选择运算符,然后在值中输入镜重范围名称。
/<scopename>
如需分配多个镜重,请使用 OR 运算符添加更多条件。您最多可以为每个角色绑定添加 12 个条件。如需添加超过 12 个条件,请创建多个角色绑定,并为每个绑定添加最多 12 个条件。
如需详细了解条件,请参阅 IAM 条件概览。
点击保存。
条件编辑器提供基于文本的界面,可使用 CEL 语法手动输入表达式。
输入以下表达式:
(scope-name: resource.name.endsWith(/SCOPENAME1) || resource.name.endsWith(/SCOPENAME2) || … || resource.name.endsWith(/SCOPENAME))
点击运行 Linter 以验证 CEL 语法。
点击保存。
点击测试更改,了解您的更改对用户对数据的访问权限有何影响。
点击保存。
用户现在可以访问与这些镜重相关联的数据。
需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。