为用户配置数据 RBAC
本页面介绍了数据基于角色的访问权限控制(以下简称数据 RBAC)管理员如何在 Google Security Operations 中配置数据 RBAC。通过创建和分配由标签定义的数据范围,您可以验证数据是否仅供授权用户访问。
数据 RBAC 依赖于 IAM 概念,包括预定义角色、自定义角色和 IAM 条件。
下面简要介绍了配置流程:
规划实现:确定要限制用户访问的不同类型的数据。确定组织内的不同角色,并确定每个角色的数据访问要求。
可选:创建自定义标签:创建自定义标签(除了默认标签之外)以对数据进行分类。
创建数据范围:通过组合相关标签来定义范围。
为用户分配范围:根据用户的职责,在 IAM 中为用户角色分配范围。
首次启用数据 RBAC 时,规则、参考列表和数据表不会分配任何范围。只有具有全局访问权限的用户才能访问数据。默认情况下,范围限定的用户无权访问任何数据。这样可以防止意外访问,并验证安全的起点。如需授予访问权限,请根据您的需求定义范围,并将其分配给用户、规则和参考列表。
准备工作
如需了解数据 RBAC 的核心概念、不同的访问类型和相应的用户角色、标签和范围的运作方式,以及数据 RBAC 对 Google SecOps 功能的影响,请参阅数据 RBAC 概览。
完成 Google SecOps 实例的初始配置。如需了解详情,请参阅初始化或迁移 Google SecOps 实例。
确保您拥有所需的角色。
默认情况下,数据 RBAC 未启用。如需启用数据 RBAC,请与 Google SecOps 支持团队联系。
创建和管理自定义标签
自定义标签是您可以添加到 SIEM 提取的 Google SecOps 数据中的元数据,用于根据 UDM 归一化值对数据进行分类和整理。
例如,假设您要监控网络活动。您想要跟踪来自特定 IP 地址 (10.0.0.1) 的动态主机配置协议 (DHCP) 事件,因为您怀疑该 IP 地址可能已被入侵。
如需过滤和识别这些特定事件,您可以创建一个自定义标签,将其命名为“可疑 DHCP 活动”,并使用以下定义:
metadata.event_type = "NETWORK_DHCP" AND principal.ip = "10.0.0.1"
自定义标签的运作方式如下:
Google SecOps 会持续将网络日志和事件提取到其 UDM 中。当 Google SecOps 接收到 DHCP 事件时,会检查该事件是否符合自定义标签的标准。如果 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 设置 > 数据访问。
在范围标签页上,点击要修改的范围对应的
菜单,然后选择修改。点击
修改以修改范围说明。在使用标签定义范围访问权限部分中,根据需要更新标签及其对应的值。
点击测试范围,验证新标签如何应用于范围。
在 UDM 搜索窗口中,输入查询,然后点击运行搜索。
您可以优化查询,然后点击运行搜索,直到结果显示您要标记的数据。如需详细了解如何运行查询,请参阅输入 UDM 搜索。
点击保存更改。
范围已修改。
删除范围
删除某个范围后,用户将无法访问与该范围关联的数据。删除后,范围名称无法再用于创建新范围。
如需删除范围,请执行以下操作:
依次点击设置 > SIEM 设置 > 数据访问。
在范围标签页上,点击要删除的范围旁边的
菜单。点击删除。
在确认窗口中,点击确认。
范围已删除。
查看范围
如需查看范围详细信息,请执行以下操作:
依次点击设置 > 数据访问权限。
在范围标签页中,点击要查看的范围对应的
菜单,然后选择查看。
系统会显示范围详细信息。
为用户分配范围
必须分配范围,才能控制具有受限权限的用户的数据访问权限。为用户分配特定范围后,用户可以查看和互动的数据范围也会随之确定。如果用户被分配了多个范围,则可以访问所有这些范围的合并数据。您可以为需要全局访问权限的用户分配适当的范围,以便他们查看和互动所有数据。
如需向用户分配范围,请执行以下操作:
在 Google Cloud 控制台中,前往 IAM 页面。
选择与 Google SecOps 绑定的项目。
点击
授予访问权限。在新的主账号字段中,执行以下操作:
如果您使用的是员工身份联合或任何其他第三方身份验证,请添加您的主账号标识符,如下所示:
principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/USER_EMAIL_ADDRESS
替换以下内容:
POOL_ID
:为您的身份提供方创建的池的标识符。USER_EMAIL
:用户的电子邮件地址。
如果您使用的是 Cloud Identity 或 Google Workspace,请按如下方式添加您的正文标识符:
user:USER_EMAIL
替换以下内容:
USER_EMAIL
:用户的电子邮件地址。
在分配角色 > 选择角色菜单中,选择所需角色。 点击添加其他角色可添加多个角色。如需了解需要添加哪些角色,请参阅用户角色。
如需为用户分配范围,请向分配给用户的 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 专业人士那里获得解答。