混合作业和作业触发器

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

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

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

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

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

混合环境简介

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

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

借助混合作业,敏感数据保护可以检查从任何这些来源发送到它的数据。下面列出了一些场景示例:

  • 检查存储在 Amazon Relational Database Service (RDS)、在虚拟机中运行的 MySQL 或本地数据库中的数据。
  • 在从本地迁移到云端,或在生产环境、开发环境和分析环境之间迁移数据时,检查和令牌化数据。
  • 在将数据存储到休眠状态之前,检查和隐去来自网站或移动应用的交易。

检查选项

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

  • 内容方法检查:使用内容检查功能,您可以将小数据载荷流式传输到 Sensitive Data Protection,并附带有关要检查的内容的说明。然后,敏感数据保护功能会检查数据是否包含敏感内容和个人身份信息 (PII),并将扫描结果返回给您。
  • 存储方法检查:敏感数据保护功能可使用存储空间检查功能检查基于 Google Cloud 的存储库,例如 BigQuery 数据库、Cloud Storage 存储桶或 Datastore 种类。您告知 Sensitive Data Protection 要检查的内容以及要检查的内容,然后 Sensitive Data Protection 会运行一个用于扫描代码库的作业。扫描完成后,敏感数据保护功能会将扫描结果摘要保存回作业。此外,您还可以指定将结果发送到其他 Google Cloud 产品(例如单独的 BigQuery 表)进行分析。
  • 混合作业检查:混合作业可提供前两种方法的优势。借助这些方法,您可以像使用内容方法一样流式传输数据,同时获得存储空间检查作业的存储、可视化和操作功能。所有检查配置均在 Sensitive Data Protection 中进行管理,客户端无需进行额外配置。混合作业对于扫描非原生存储系统(例如在虚拟机 [VM]、本地或其他云端运行的数据库)非常有用。混合方法还可用于检查处理系统(例如迁移工作负载),甚至可用于代理服务到服务通信。虽然内容方法也可以执行此操作,但混合方法可为您提供可跨多个 API 调用汇总数据的发现存储后端,这样您就不必执行此操作。

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

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

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

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

典型混合作业场景

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

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

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

您可以提供的元数据类型

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

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

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

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

必需的标签

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

可选的标签

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

表格数据选项

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

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

hybridInspect 请求中的元数据

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

容器详情

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

{
  "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 请求附加不同的标签。

表格数据选项

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

如果您无法提前知道主键,则无需在混合作业或混合作业触发器级别设置主键。您可以在 hybridInspect 请求中将其与要检查的表格数据一起设置。您在混合作业或混合作业触发器级别列出的所有字段都会与您在 hybridInspect 请求中列出的字段合并。

支持的操作

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

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

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

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

摘要

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

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

后续步骤