数据扫描和识别

本文介绍敏感数据扫描和识别的常见问题及解决方法。

数据扫描会影响我的数据库性能吗?

数据安全中心DSC(Data Security Center)采用全量扫描、增量扫描和定时扫描策略扫描您的数据库。全量扫描会对您的数据库性能产生较小的影响,不会影响您数据库的正常业务。增量扫描只扫描修改后的文件,对您数据库性能的影响可以忽略不计。

DSC只会在完成资产授权、人工执行重新扫描操作或根据您设置的全量扫描周期全量扫描您的资产。只有在您的数据库中的数据发生变化时,才会扫描有变化的文件或表。为了减少扫描对您数据库性能的影响,您可以参考以下规则配置全量扫描周期:

  • 增大全量扫描的扫描周期,有效减轻DSC扫描对数据库性能产生的影响。

  • 将扫描时间设置为数据库访问量较小的时段。

DSC支持扫描的数据源有哪些?

DSC支持对结构化数据源和非结构化数据源进行扫描。支持扫描的数据源类型如下:

  • 结构化数据:RDS、PolarDB、PolarDB-X、PolarDB-X 2.0、Redis、MongoDB、OceanBase、自建数据库。

  • 非结构化数据:OSS和SLS。

  • 大数据:TableStore、MaxCompute、ADB-MYSQL、ADB-PG。

详细说明,请参见支持的数据资产类型

数据源授权完成后需要多长时间完成扫描?

DSC完成数据源授权后,会在2小时内启动扫描。扫描时长将由您所需扫描的数据量决定。当存在大量数据表时(例如:表数量超过10000张),或者OSS文件总量特别大(例如:OSS总量超过PB)时,扫描周期会相应延长。在DSC扫描数据的过程中,已经完成扫描的阶段性结果,会在数据安全中心控制台工作台页面展现。

DSC对于非结构化数据源(OSS+SLS)的扫描机制是怎样的?

DSC对非结构化数据源中存储的内容进行扫描,根据扫描结果判断是否为敏感数据。

资产类型

扫描范围

扫描的数据对象

OSS

  • 首次扫描:完成授权后,DSC会对授权的OSS存储桶(Bucket)中的文件进行全量扫描。

  • 增量扫描:如果OSS文件有新增或修改时,DSC会扫描该新增或修改的文件。

<OSS Bucket>/<文件名称>

每个文件作为识别任务扫描的一个数据对象。

SLS

每次扫描时,以执行扫描的时间作为当天,扫描已授权资产在前天00:00至24:00时间内存储的所有数据。

如果您需要扫描SLS的更多数据,可以创建自定义识别任务,配置扫描范围。具体操作,请参见新建自定义识别任务

<SLS Project>/<logstore>/<时间周期>

每5分钟作为一个时间周期,每个时间周期内存储的数据作为识别任务扫描的一个数据对象。

DSC对于非结构化数据源(OSS+SLS)扫描的计费规则是怎样的?

DSC采用包年包月计费模式,数据识别扫描会消耗已购买的资源规格,购买不同版本,抵扣规则不同:

  • 基础版:统一按照数据防护量计费。按照已授权连接的OSS Bucket文件大小+SLS Project文件大小,抵扣存储防护容量

  • 企业版:统一按照数据防护量计费。按照已授权连接的OSS Bucket文件大小+SLS Project文件大小*0.5,抵扣存储防护容量

  • 仅购买增值服务:按照已扫描识别的OSS Bucket数据量+SLS Project数据量,抵扣数据识别-存储防护量

更多内容,请参见计费概述

是否支持对已扫描过的OSS文件重新扫描?

如果文件没有被修改,DSC不会对已扫描过的文件重新扫描;如果文件已被修改,DSC会在24小时内对该文件重新扫描。

如有需要,您可以手动重新扫描OSS资产。具体操作,请参见重扫识别任务

DSC对结构化数据(例如MaxCompute)的扫描机制是什么?

DSC扫描数据库类型和数据表类型数据源中的字段名称和字段值,同时根据字段名称和值综合判断该数据是否为敏感数据。例如:年龄数据。如果只通过字段值无法判断数据是否敏感,DSC会结合数据源列中的字段名称和对应的数值来综合判断。

  • 首次扫描:完成授权后,DSC会扫描整个数据库或数据项目中所有的表。

  • 增量扫描:当有新增数据库或数据项目表时,DSC会对新增表进行扫描;如果现有数据表结构(列)发生变化,DSC也会对该表进行扫描。

DSC是否会登录到数据库内获取数据?

已获取授权的情况下,DSC会登录到数据库内以数据采样的方式对数据进行敏感识别,DSC不会保存您MaxCompute项目、数据库中的数据。

目前存在哪些触发重新扫描的场景?

目前,DSC会在以下场景中自动触发对已授权数据源中的数据进行重新扫描。

重新扫描的场景

扫描逻辑

计费影响

数据源首次完成授权接入。

扫描该数据源中的所有数据。

对该数据源中的所有数据收取全量扫描费用。

数据源完成授权接入并已进行过扫描后,数据源发生了变化。

在MaxCompute、数据库的表结构发生变化后(仅指数据表的列有新增或删减),会触发自动扫描并扫描有变化的列;数据表的行发生变化不会触发自动扫描。

对该数据源中的所有数据收取全量扫描费用。

在OSS文件新增和修改后会触发自动扫描。

说明

OSS Bucket中的文件仅被删除时不会触发自动扫描。

仅对该新增或修改的文件收取扫描费用。

敏感数据识别规则的配置发生了变化(包括新增、开启、关闭或删除规则)。

会对所有已授权的数据源中的全部数据进行自动扫描。

对所有已授权的数据源收取全量扫描费用。

已授权数据资产是加密的可以被识别吗?

如果数据采用的是透明加密方式,则可以被识别。

MongoDB全表扫描方式,是否对IO影响过大,影响线上服务?

全表扫描会对您的数据库性能产生较小的影响,一般情况下,不会影响数据库的正常业务。

为了降低资产扫描对您数据库性能的影响,您可以增大全局扫描的扫描周期,或将扫描时间设置为数据库访问量较小的时段,有效减轻DSC扫描对数据库性能产生的影响。

OSS中压缩包、文本文档能进行敏感数据识别吗?

可以。您可以在数据安全中心识别配置页面的文件类型中,查看DSC支持识别的OSS数据。

image

DSC支持导出敏感数据识别结果吗?

支持。导出敏感数据的具体操作,请参见查看和导出敏感数据识别结果

MongoDB的扫描结果能不能精确到具体字段?

MongoDB是一个基于分布式文件存储的数据库,最小存储单位是文档,无法精确到字段。

通过API查询的敏感数据,可以有实例名、库名、表名、列名、风险等级吗?

可以。

API

说明

DescribeOssObjects - 查询OSS的存储对象列表

获取到OSS 存储对象所属资产实例ID(InstanceId)、Bucket名称(BucketName)、OSS 存储文件ID(FileId)、风险等级(RiskLevelId)。

DescribeInstances - 查询数据资产实例列表

获取数据资产实例(Id)和实例名称(Name)。

DescribeTables - 查询数据资产表的数据

获取数据资产表的信息(Items),包含表名称(Name)和风险等级(RiskLevelId)。

DescribeDataObjectColumnDetailV2 - 查询数据对象列详情V2

获取数据资产表的列信息(Items),包含列名称(ColumnName)和风险等级(RiskLevelId)。

Redis支持敏感数据识别吗?

不支持。当前仅对Redis提供基线检查功能。具体内容,请参见安全基线检查