混合作业和作业触发器

混合作业和作业触发器包含一组异步 API 方法,可让您扫描从几乎任何来源发送的数据的敏感信息,然后将发现结果存储在 Google Cloud中。通过混合作业,您可以编写自己的数据抓取工具,并以与 Sensitive Data Protection 存储检查方法类似的行为传送数据。

通过混合作业,您可以将数据从任何来源流式传输到 Sensitive Data Protection。Sensitive Data Protection 会检查数据中是否包含敏感信息或 PII,然后将检查扫描结果保存到 Sensitive Data Protection 作业资源中。您可以在 Sensitive Data Protection 控制台界面或 API 中检查扫描结果,也可以指定要运行的扫描后操作,例如将检查结果数据保存到 BigQuery 表或发出 Pub/Sub 通知。

混合作业工作流汇总如下:

混合作业数据流图,展示您的应用从外部源向 Sensitive Data Protection 发送数据、Sensitive Data Protection 检查数据,然后保存或发布发现结果。

本概念性主题介绍了混合作业和作业触发器及其运作方式。如需了解如何实现混合作业和作业触发器,请参阅使用混合作业检查外部数据。

何时使用混合作业

以下是一些常见使用场景:

  • 检查混合云和多云环境中的数据:将本地数据库、虚拟机或其他云服务提供商的数据流式传输到 Sensitive Data Protection,同时将检查结果存储在 Google Cloud中。
  • 集中式多来源合规性报告:将自定义爬网程序和分布式微服务的检查结果汇总到单个 BigQuery 表中,以实现统一的风险治理。
  • 在云迁移期间清理数据:在将数据集从旧系统迁移到Google Cloud的过程中,检查、验证和跟踪敏感内容。

混合环境简介

“混合”环境在组织中很常见。许多组织会使用以下各项的某种组合来存储和处理敏感数据:

  • 其他云服务商
  • 本地服务器或其他数据存储区
  • 非原生存储系统,例如在虚拟机内运行的系统
  • Web 应用和移动应用
  • 基于Google Cloud的解决方案

借助混合作业,Sensitive Data Protection 可以检查从上述任何来源发送给它的数据。以下是一些示例场景:

  • 检查存储在 Amazon Relational Database Service (RDS)、虚拟机内运行的 MySQL 或本地数据库中的数据。
  • 在从本地迁移到云端或在生产、开发和分析环境之间迁移数据时,检查数据并对其进行令牌化处理。
  • 在存储静态数据之前,检查并编辑来自 Web 应用或移动应用的交易。

检查选项

如方法类型中详细说明的那样,您可以使用 Sensitive Data Protection 提供的三个默认选项检查敏感数据的内容:

  • 内容方法检查:使用内容检查,您可以将少量数据载荷连同检查说明一起流式传输到 Sensitive Data Protection。然后,Sensitive Data Protection 会检查数据中是否包含敏感内容和个人身份信息,并将扫描结果返回给您。
  • 存储方法检查:Sensitive Data Protection 使用存储检查功能检查基于 Google Cloud的存储库,例如 BigQuery 数据库、Cloud Storage 存储桶或 Datastore 种类。您告知 Sensitive Data Protection 要检查的内容和要检查的敏感数据类型,然后 Sensitive Data Protection 会运行一项作业来扫描相应代码库。扫描完成后,Sensitive Data Protection 会将扫描结果的摘要保存回作业。您还可以指定将结果发送到其他 Google Cloud 产品(例如单独的 BigQuery 表)以供分析。
  • 混合作业检查:混合作业兼具前两种方法的优点。借助它们,您可以像使用内容方法一样流式传输数据,同时获得存储检查作业的存储、可视化和操作功能。所有检查配置都在 Sensitive Data Protection 中进行管理,无需在客户端进行额外配置。混合作业可用于扫描非原生存储系统,例如在虚拟机 (VM)、本地或另一云端运行的数据库。混合方法也可用于检查处理系统(例如迁移工作负载),甚至用于代理服务到服务通信。虽然内容方法也可以做到这一点,但混合方法提供的发现结果存储后端可以汇总多个 API 调用中的数据,从而省去您的操作。

混合作业和作业触发器简介

混合作业实际上是将内容方法和存储方法混合使用。使用混合作业和作业触发器的基本工作流如下:

  1. 您可以编写脚本或创建一个工作流,将数据以及某些元数据发送到 Sensitive Data Protection 进行检查。
  2. 您可以配置并创建混合作业资源或触发器,以在收到数据时将其激活。
  3. 您的脚本或工作流在客户端运行,并以 hybridInspect 请求的形式将数据发送到 Sensitive Data Protection。该数据包含激活消息和作业或作业触发器的标识符,用于触发检查。
  4. Sensitive Data Protection 会根据您在混合作业或触发器中设置的条件检查数据。
  5. Sensitive Data Protection 会将扫描结果以及您提供的元数据保存到混合作业资源中。您可以使用 Google Cloud 控制台中的 Sensitive Data Protection 界面检查结果。
  6. (可选)Sensitive Data Protection 可以运行扫描后操作,例如将检查结果数据保存到 BigQuery 表或通过电子邮件或 Pub/Sub 通知您。

借助混合作业触发器,您可以创建、激活和停止作业,以便在需要时触发操作。通过确保脚本或代码发送的数据包含混合作业触发器的标识符,您无需在每次启动新作业时更新脚本或代码。

典型混合作业场景

混合作业非常适合实现以下目标:

  • 在执行数据库的季度检查时,对 Google Cloud 外部的数据库执行一次性扫描。
  • 监控每天添加到 Sensitive Data Protection 本身不支持的数据库中的所有新内容。
  • 扫描进入数据库的数据,同时控制数据的分区方式。
  • 使用 Envoy 版 Sensitive Data Protection 过滤器(用于 Envoy Sidecar 代理的 WebAssembly HTTP 过滤条件)监控网络中的流量,以识别有问题的敏感数据移动。

如需了解如何应对这些场景,请参阅典型的混合检查场景。

您可以提供的元数据类型

本部分介绍了您可以附加到要检查的外部数据或调查结果的元数据类型。

您可以在以下级别设置元数据:

混合作业或混合作业触发器中的元数据

本部分介绍了可附加到混合作业或混合作业触发器的元数据类型。

必需的标签

在混合作业或混合作业触发器中,您可以指定一个必需标签列表,其中必须包含您发送的所有混合检查请求。系统会拒绝任何不包含这些必需标签的混合作业或混合作业触发器请求。如需了解详情,请参阅要求从 hybridInspect 请求中获取标签。

可选的标签

您可以指定要附加到混合作业或混合作业触发器的所有检测结果的键值对。例如,如果您希望混合作业的所有发现结果都带有 "env"="prod" 标签,请在创建混合作业时指定此键值对。

表格数据选项

您可以指定数据中表对象的任何行标识符(主键)。如果表中存在指定的列,则指定列中的值将包括在每个发现结果中,以便您跟踪发现结果具体来自哪一行。这些表格选项仅适用于发送表格数据(例如 item.table 或 byteItem 格式,如 CSV)的请求。

如果您提前知道主键,可以在创建混合作业或混合作业触发器时将其设置为标识字段。您可以在 hybridOptions.tableOptions.identifyingFields 字段中列出最多三个列名称。

hybridInspect 请求中的元数据

本部分介绍了可附加到 hybridInspect 请求的元数据类型。您在 hybridInspect 请求中发送的元数据仅适用于该请求。

容器详情

您发送给混合作业或混合作业触发器的每个请求都可以指定有关数据源的详细信息,包括 fullPath、rootPath、relativePath、type、version 等元素。例如,如果您要扫描数据库中的表,可以按如下方式设置字段:

{
  "hybridItem": {
    "item": {...},
    "findingDetails": {
      "containerDetails": {
        "fullPath": "10.0.0.20/database1/table1",
        "relativePath": "table1",
        "rootPath": "10.0.0.20/database1",
        "type": "postgres",
        "version": "9.6"
      },
      "labels": {...}
    }
  }
}

您无法在混合作业或混合作业触发器一级设置容器详细信息。

必需的标签

如果您在创建混合作业或混合作业触发器时设置了必需标签,那么您发送给该混合作业或混合作业触发器的任何 hybridInspect 请求都必须包含这些必需标签。如需了解详情,请参阅要求在 hybridInspect 请求中提供标签。

可选的标签

在每个 hybridInspect 请求中,您可以指定要附加到相应请求中任何发现的键值对。此方法可让您在每次 hybridInspect 请求中附加不同的标签。

表格数据选项

您可以指定数据中表对象的任何行标识符(主键)。如果表中存在指定的列,则指定列中的值将包括在每个发现结果中,以便您跟踪发现结果具体来自哪一行。这些表格选项仅适用于发送表格数据(例如 item.table 或 byteItem 格式,如 CSV)的请求。

如果您事先不知道主键,则不必在混合作业或混合作业触发器级别设置主键。您可以在 hybridInspect 请求中设置这些参数,同时提供要检查的表格数据。您在混合作业或混合作业触发器级别列出的任何字段都会与您在 hybridInspect 请求中列出的字段合并。

支持的操作

与其他 Sensitive Data Protection 作业一样,混合作业支持操作。并非所有操作都适用于混合作业。 以下是目前支持的操作以及有关其工作方式的信息。请注意,使用 Pub/Sub、电子邮件和 Cloud Monitoring 操作时,系统会在作业结束时提供检查结果。

  • 将发现结果保存到 Sensitive Data Protection 和将发现结果保存到 BigQuery:系统会将发现结果分别保存到 Sensitive Data Protection 资源或 BigQuery 表中。这些操作与混合作业类型搭配使用的方式类似于这些操作与其他作业类型搭配使用,但有一个重要区别:对于混合作业,发现结果会在作业运行时提供;对于其他作业类型,发现结果会在作业结束时提供。
  • 发送 Pub/Sub:作业完成后,系统会发送 Pub/Sub 消息。

  • 发送电子邮件:作业完成后,系统会发送一封电子邮件。

  • 发布到 Cloud Monitoring:作业完成后,其发现结果将发布到 Monitoring。

摘要

以下是使用混合作业和作业触发器的一些主要功能和优势:

  • 通过混合作业,您可以将数据从几乎任何来源(云上或云下)流式传输到敏感数据保护。
  • 当 Sensitive Data Protection 接收包含激活消息和作业触发器标识符的数据流时,混合作业触发器会激活。
  • 您可以等到检查扫描完成,也可以手动停止作业。检查结果会保存到 Sensitive Data Protection 或 BigQuery 中,具体取决于您是允许作业完成还是提前停止作业。
  • 来自混合作业触发器的 Sensitive Data Protection 检查扫描结果会保存到 Sensitive Data Protection 内的混合作业资源中。
  • 您可以通过查看 Sensitive Data Protection 内的作业触发器资源,对检查扫描结果进行检查。
  • 您还可以使用操作指示 Sensitive Data Protection 将混合作业结果发送到 BigQuery 数据库,并通过电子邮件或 Pub/Sub 通知向您发送通知。

后续步骤