为用户配置数据 RBAC

支持的平台:

本页介绍了数据基于角色的访问权限控制 (data RBAC) 管理员如何在 Google Security Operations 中配置 data RBAC。通过创建和分配数据范围(由标签定义),您可以确保只有获得授权的用户才能访问数据。

数据 RBAC 依赖于 IAM 概念,包括预定义角色自定义角色IAM 条件

下面简要介绍了配置流程:

  1. 规划实现:确定您要限制用户访问的不同类型的数据。确定贵组织中的不同角色,并确定每个角色的数据访问权限要求。

  2. 可选:创建自定义标签:除了默认标签之外,您还可以创建自定义标签来对数据进行分类。

  3. 创建数据范围:通过组合相关标签来定义范围。

  4. 向用户分配镜重:根据用户的职责,在 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 个字符。它们只能包含小写字母、数字字符和连字符。删除后无法重复使用。
  • 标签无法使用参考列表。
  • 标签无法使用丰富字段。
  • 标签不支持正则表达式。

创建自定义标签

如需创建自定义标签,请执行以下操作:

  1. 登录 Google SecOps

  2. 依次点击设置 > SIEM 设置 > 数据访问

  3. 自定义标签标签页中,点击创建自定义标签

  4. UDM 搜索窗口中,输入您的查询,然后点击运行搜索

    您可以优化查询,然后点击运行搜索,直到结果中显示您要标记的数据。如需详细了解如何运行查询,请参阅输入 UDM 搜索查询

  5. 点击创建标签

  6. 创建标签窗口中,选择另存为新标签,然后输入标签名称和说明。

  7. 点击创建标签

    系统会创建一个新的自定义标签。在数据提取期间,系统会将此标签应用于与 UDM 查询匹配的数据。该标签不会应用于已提取的数据。

修改自定义标签

您只能修改标签说明和与标签关联的查询。标签名称无法更新。修改自定义标签后,更改只会应用于新数据,而不会应用于已提取的数据。

如需修改标签,请执行以下操作:

  1. 登录 Google SecOps

  2. 依次点击设置 > SIEM 设置 > 数据访问

  3. 自定义标签标签页中,点击要修改的标签对应的 菜单,然后选择修改

  4. UDM 搜索窗口中,更新您的查询,然后点击运行搜索

    您可以优化查询,然后点击运行搜索,直到结果中显示您要标记的数据。如需详细了解如何运行查询,请参阅输入 UDM 搜索查询

  5. 点击保存更改

自定义标签已修改。

删除自定义标签

删除标签后,系统将无法将新数据与其相关联。已与标签关联的数据仍会与该标签相关联。删除后,您将无法恢复自定义标签,也无法重复使用标签名称来创建新标签。

  1. 依次点击设置 > SIEM 设置 > 数据访问

  2. 自定义标签标签页中,点击要删除的标签的 菜单,然后选择删除

  3. 点击删除

  4. 在确认窗口中,点击确认

自定义标签已被删除。

查看自定义标签

如需查看自定义标签的详细信息,请执行以下操作:

  1. 依次点击设置 > SIEM 设置 > 数据访问

  2. 自定义标签标签页中,点击要修改的标签对应的 菜单,然后选择查看

    系统会显示标签详情。

创建和管理镜重

您可以在 Google SecOps 界面中创建和管理数据范围,然后通过 IAM 将这些范围分配给用户或群组。您可以通过应用标签来创建范围,这些标签用于定义拥有该范围的用户可以访问的数据。

创建镜重

如需创建镜重,请执行以下操作:

  1. 登录 Google SecOps

  2. 依次点击设置 > SIEM 设置 > 数据访问

  3. 范围标签页中,点击创建范围

  4. 创建新作用域窗口中,执行以下操作:

    1. 输入范围名称说明

    2. 使用标签定义范围访问权限 > 允许访问中,执行以下操作:

      • 如需选择要向用户授予访问权限的标签及其对应的值,请点击允许使用特定标签

        在范围定义中,同一类型(例如日志类型)的标签使用 OR 运算符进行组合,而不同类型(例如日志类型和命名空间)的标签使用 AND 运算符进行组合。如需详细了解标签如何在镜重范围中定义数据访问权限,请参阅使用允许和禁止标签控制数据可见性

      • 如需授予对所有数据的访问权限,请选择允许访问所有内容

    3. 如要排除对某些标签的访问权限,请选择排除某些标签,然后选择您要拒绝用户访问的标签类型和相应值。

      在某个范围内应用多个拒绝访问标签后,如果请求与其中任一标签匹配,则会被拒绝访问。

    4. 点击测试范围,验证标签是如何应用于范围的。

    5. UDM 搜索窗口中,输入您的查询,然后点击运行搜索

      您可以优化查询,然后点击运行搜索,直到结果中显示您要标记的数据。如需详细了解如何运行查询,请参阅输入 UDM 搜索查询

    6. 点击创建镜重

    7. 创建镜重窗口中,确认镜重名称和说明,然后点击创建镜重

范围已创建。您必须向用户分配此镜,才能向他们授予对此镜中数据的访问权限。

修改范围

您只能修改范围说明和关联的标签。范围名称无法更新。更新范围后,系统会根据新标签限制与该范围关联的用户。系统不会针对更新后的镜重匹配绑定到该镜的规则。

如需修改镜重,请执行以下操作:

  1. 登录 Google SecOps

  2. 依次点击设置 > SIEM 设置 > 数据访问

  3. 范围标签页中,点击与要修改的范围对应的 菜单,然后选择修改

  4. 点击 Edit(修改)以修改范围说明。

  5. 使用标签定义范围访问权限部分中,根据需要更新标签及其对应的值。

  6. 点击测试范围,验证新标签如何应用于范围。

  7. UDM 搜索窗口中,输入您的查询,然后点击运行搜索

    您可以优化查询,然后点击运行搜索,直到结果中显示您要标记的数据。如需详细了解如何运行查询,请参阅输入 UDM 搜索查询

  8. 点击保存更改

范围已修改。

删除范围

删除某个镜重后,用户将无法访问与该镜重关联的数据。删除后,您将无法再使用该镜重名来创建新的镜。

如需删除镜重,请执行以下操作:

  1. 登录 Google SecOps

  2. 依次点击设置 > SIEM 设置 > 数据访问

  3. 范围标签页中,点击要删除的范围对应的 菜单

  4. 点击删除

  5. 在确认窗口中,点击确认

该镜重已删除。

视图范围

如需查看范围详情,请执行以下操作:

  1. 登录 Google SecOps

  2. 依次点击设置 > 数据访问

  3. Scopes(范围)标签页中,点击要查看的范围对应的 Menu(菜单),然后选择 View(查看)。

系统会显示镜重详细信息。

向用户分配范围

若要控制具有受限权限的用户的数据访问权限,必须进行范围分配。向用户分配特定范围可决定他们可以查看和互动的数据。向用户分配多个镜重后,他们将能够访问所有这些镜重中合并的数据。您可以向需要全局访问权限的用户分配适当的范围,以便用户查看和与所有数据互动。如需向用户分配镜重,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM

  2. 选择已绑定到 Google SecOps 的项目。

  3. 点击 授予访问权限

  4. 新的主账号字段中,执行以下操作:

    1. 如果您使用的是员工身份联合或任何其他第三方身份验证,请按如下方式添加主标识符

      principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/USER_EMAIL_ADDRESS

      替换以下内容:

      • POOL_ID:为您的身份提供程序创建的池的标识符。
      • USER_EMAIL:用户的电子邮件地址。
    2. 如果您使用的是 Cloud Identity 或 Google Workspace,请按如下方式添加主标识符

      user:USER_EMAIL

      替换以下内容:

      • USER_EMAIL:用户的电子邮件地址。
  5. 分配角色 > 选择角色菜单中,选择所需角色。 点击添加其他角色以添加多个角色。如需了解需要添加哪些角色,请参阅用户角色

  6. 如需向用户分配范围,请向分配给用户的 Chronicle 受限数据访问权限角色添加条件(不适用于全局访问权限角色)。

    1. 针对 Chronicle Restricted Data Access 角色点击添加 IAM 条件。系统随即会显示添加条件窗口。

    2. 输入条件标题和可选说明。

    3. 添加条件表达式。

      您可以使用条件构建器条件编辑器添加条件表达式。

      条件构建器提供一个交互式界面,用于选择条件类型、运算符以及有关表达式的其他适用详情。借助以下运算符,您可以创建精确的规则,以便使用单个 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

    如需向角色添加镜重,我们建议您执行以下操作:

    1. 条件类型中选择名称,在运算符中选择运算符,然后在中输入镜重范围名称。

      /<scopename>

    2. 如需分配多个镜重,请使用 OR 运算符添加更多条件。您最多可以为每个角色绑定添加 12 个条件。如需添加超过 12 个条件,请创建多个角色绑定,并为每个绑定添加最多 12 个条件。

      如需详细了解条件,请参阅 IAM 条件概览

    3. 点击保存

      条件编辑器提供基于文本的界面,可使用 CEL 语法手动输入表达式。

    4. 输入以下表达式:

      (scope-name: resource.name.endsWith(/SCOPENAME1) || resource.name.endsWith(/SCOPENAME2) || … || resource.name.endsWith(/SCOPENAME))

    5. 点击运行 Linter 以验证 CEL 语法。

    6. 点击保存

  7. 点击测试更改,了解您的更改对用户对数据的访问权限有何影响。

  8. 点击保存

用户现在可以访问与这些镜重相关联的数据。

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。