数据 RBAC 概览

支持以下语言:

数据基于角色的访问控制 (data RBAC) 是一种安全模型,它使用各个用户角色来限制用户对组织内数据的访问权限。借助数据 RBAC,管理员可以定义范围并分配范围 以帮助确保用户只能访问执行工作所需的数据 函数。

本页面简要介绍了数据 RBAC,并帮助您了解标签 和作用域协同工作以定义数据访问权限。

数据 RBAC 与特征 RBAC 之间的区别

数据 RBAC 和地图项 RBAC 都是用于控制系统内访问权限的方法,但侧重点不同。

功能 RBAC 用于控制对系统中特定功能或特性的访问权限。它根据用户的 角色。例如,初级分析师可能只能查看信息中心 但不能创建或修改检测规则,而高级分析人员可能 拥有创建和管理检测规则的权限。如需详细了解 功能 RBAC,请参阅使用 IAM 配置功能访问权限控制

数据 RBAC 控制对系统中特定数据或信息的访问权限。它 控制用户能否根据用户的角色查看、修改或删除数据。对于 例如,在客户关系管理 (CRM) 系统中, 代表可能有权访问客户联系人数据, 而财务经理可能有权访问财务数据 而不是客户联系数据

数据 RBAC 和特征 RBAC 通常一起使用,以提供全面的 访问权限控制系统例如,系统可能会允许用户访问特定地图项(地图项 RBAC),然后根据用户的角色限制他们对该地图项中特定数据的访问权限(数据 RBAC)。

规划实现

如需规划实施,请根据贵组织的要求查看 Google SecOps 预定义的 Google SecOps 角色和权限列表。制定策略来界定 并为传入的数据添加标签。识别 您组织中的哪些成员必须有权访问 范围。如果贵组织需要的 IAM 政策不同于 预定义的 Google SecOps 角色、创建自定义角色 以满足这些要求。

用户角色

用户可以拥有受限数据访问权限(受限用户),也可以拥有全局数据访问权限(全局用户)。

  • 分区用户可以访问的数据有限,具体取决于分配的范围。这些 范围将其公开范围和操作限制为特定数据。使用 下表详细说明了与范围化访问关联的权限。

  • 没有为全局用户分配范围,并且对所有数据拥有不受限制的访问权限 Google SecOps 中的成员身份。与全局关联 详情请参阅下表。

数据 RBAC 管理员可以创建范围并将其分配给用户以进行控制 Google SecOps 中的数据访问机制。要将用户限制为 范围,您必须为其分配 Chronicle API Restricted Data Access (roles/chronicle.restrictedDataAccess) 角色以及 预定义角色或自定义角色Chronicle API Restricted Data Access 角色会将用户标识为受限范围的用户。您无需向需要全局数据访问权限的用户分配 Chronicle 受限数据访问权限角色。

可向用户分配以下角色:

访问权限类型 角色 权限
预定义的全球访问权限 全局用户可被授予任何预定义的 IAM 角色
预定义的范围只读权限 Chronicle API Restricted Data Access (roles/chronicle.restrictedDataAccess) 和 Chronicle API Restricted Data Access Viewer (roles/chronicle.restrictedDataAccessViewer) Chronicle API 受限数据访问权限查看者
自定义范围的访问权限 Chronicle API 受限数据访问权限 (roles/chronicle.restrictedDataAccess) 和自定义角色 功能中的自定义权限
自定义全球访问权限 chronicle.globalDataAccessScopes.permit 权限和自定义角色 功能中的全局权限

以下是表中显示的每种访问权限类型的说明:

预定义的全球访问权限:用户通常必须要 需要访问所有数据您可以将一个或多个角色分配给 授予用户访问权限

预定义的范围限定型只读权限:此权限适用于需要只读权限的用户。Chronicle API Restricted Data Access 角色可将用户标识为 范围的用户。Chronicle API Restricted Data Access Viewer 角色可提供视图 访问用户的功能。

自定义范围的访问权限:Chronicle API Restricted Data Access 角色 将用户标识为限定了范围的用户。自定义角色用于指定 用户可访问的内容添加到 Chronicle API 受限数据访问角色的范围会指定用户可以在相应功能中访问的数据。为确保 RBAC 自定义范围正常运行,请勿包含 chronicle.DataAccessScopes.permitchronicle.globalDataAccessScopes.permit 创建自定义角色时拥有的权限。系统可能会包含这些权限 如果您之前使用过预构建的 Chronicle API Editor 或 Chronicle API Admin 开始创建自定义角色

自定义全局访问权限:此访问权限适用于需要不受限制的用户 为其分配的所有功能的权限。如需向用户授予自定义全局访问权限,除了向用户分配自定义角色之外,您还必须指定 chronicle.globalDataAccessScopes.permit 权限。

使用镜重和标签进行访问权限控制

借助 Google SecOps,您可以使用镜重范围来控制用户对数据的访问权限。 范围是使用标签来定义的,标签用于定义用户 可以访问的所有文件在注入期间,系统会将元数据分配给数据 以命名空间(可选)、提取元数据(可选)、 和日志类型(必填)。这些是应用于数据的默认标签 提取过程中此外,您还可以创建自定义标签。您可以使用默认标签和自定义标签来定义范围和数据 范围将定义的访问权限级别

通过允许和拒绝标签实现数据可见性

每个范围包含一个或多个“允许访问”标签(可选), 拒绝访问标签。“允许访问”标签可向用户授予对与该标签关联的数据的访问权限。拒绝访问权限标签会拒绝用户访问 都与标签相关联拒绝访问权限标签会覆盖允许访问的标签 标签来限制用户访问权限。

在范围定义中,允许同一类型的访问标签(例如, 日志类型)使用 OR 运算符合并,而不同类型的标签 (例如,日志类型和自定义标签)使用 AND 运算符合并。 拒绝访问权限标签是使用 OR 运算符组合在一起的。多次拒绝访问时 标签应用于某个范围内,如果这些标签与其中任一项匹配,则访问遭拒 标签。

以一个 Cloud Logging 系统为例,该系统使用 以下标签类型:

日志类型:访问、系统、防火墙

命名空间:App1、App2、数据库

严重程度:严重、警告

假设有一个名为“受限日志”的范围,该范围具有以下访问权限:

标签类型 允许使用的值 拒绝的值
日志类型 访问、防火墙 系统
命名空间 App1 App2、数据库
严重程度 警告 严重

范围定义如下所示:

允许(Log type: "Access" OR "Firewall") AND (Namespace: "App1") AND (Severity: "Warning")

拒绝Log type: "System" OR Namespace: App2 OR Namespace: Database OR Severity: "Critical"

与范围匹配的日志示例:

  • 来自 App1 的访问日志,严重级别:警告
  • 来自 App1 的防火墙日志,严重性:警告

与范围不匹配的日志示例:

  • App1 中的系统日志,严重级别为:警告
  • 从数据库访问日志(严重级别为:警告)
  • 来自 App2 的防火墙日志(严重级别为:严重)

丰富事件中的数据可见性

丰富事件是指通过额外 背景信息和信息。只有在范围内可以访问其基本事件且任何丰富标签都不包含该范围的任何拒绝标签时,才能在范围内访问丰富事件。

例如,假设有一个原始日志,其中指示某个 IP 地址的登录尝试失败,并且具有丰富标签 user_risk: high(表示高风险用户)。如果用户的范围带有拒绝标签 user_risk: high,则无法看到高风险用户的登录失败尝试次数。

数据 RBAC 对 Google Security Operations 功能的影响

配置数据 RBAC 后,用户会开始在 Google 安全运营功能中看到经过过滤的数据。具体影响取决于该功能与底层数据的集成方式。如需了解数据 RBAC 对各项功能的影响,请参阅 数据 RBAC Google Security Operations 功能的影响

后续步骤