华为云数据安全中心DSC对接使用完全指南:从资产授权到API深度集成
引言:云上数据安全的挑战与DSC的定位
企业在云上存储和处理的数据量呈指数级增长,敏感数据如个人隐私信息、密码、密钥、商业机密等散布在对象存储、数据库、大数据平台等各类资产中。一旦发生泄露,不仅带来重大的经济和名誉损失,还可能面临合规性处罚。华为云数据安全中心(Data Security Center,简称DSC)正是为解决这一痛点而生的云原生数据安全管理平台。
DSC提供数据分级分类、数据脱敏、数据水印、API数据保护等基础数据安全能力,通过资产地图整体呈现云上数据安全态势,并实现一站式数据安全运营。它涵盖云上所有数据资产类型,包括OBS、RDS、CSS、Hive、Hbase等,基于AI的敏感数据识别准确率超过95%。本文将从零开始,系统讲解DSC的对接使用全流程,帮助读者快速上手并深度集成DSC能力。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
一、开通DSC服务与版本选型
1.1 购买前的准备
在使用DSC之前,需要确保已开通OBS或RDS云产品中的至少一种,以便有可供DSC扫描的数据资产。同时,需要通过IAM对用户绑定具备DSC FullAccess权限的用户组。
1.2 购买操作步骤
登录DSC服务控制台后,单击左上角选择区域或项目。首次购买时,在界面左侧单击"立即购买"。在购买页面选择当前区域和项目,需要注意的是,同一个区域只支持购买一个DSC版本。
DSC提供两个服务版本:标准版和专业版,以及两种扩展包:数据库扩展包和OBS扩展包。1个数据库扩展包含1个可添加数据库资产(支持RDS、DWS、ECS自建数据库、Elasticsearch、ECS自建大数据等);1个OBS扩展包含1TB体量。计费方式支持包年/包月(预付费),API接口(数据脱敏和水印API调用)支持按需计费(后付费)。
选择购买时长后,勾选"自动续费"可在服务期满时自动按购买周期续费。确认订单无误后,阅读并勾选服务协议,完成支付即可。
二、资产委托授权:让DSC"看见"你的数据
开通DSC后,最关键的一步是完成云资产委托授权。只有完成授权,DSC才能对您的资产进行保护与异常告警。
2.1 授权入口
登录DSC服务控制台后,进入"资产地图"界面。在资产地图左上角单击云资产授权"修改",进入"云资产委托授权"页面。
2.2 授权范围
在授权页面,您可以选择对OBS、数据库、大数据、LTS等不同类型的资产进行授权。对于OBS资产,在对应行单击开启授权即可。授权后,DSC将能够访问您的华为云OBS资产并进行敏感数据识别。对于数据库资产,DSC将对已授权的数据库资产进行敏感数据识别。
2.3 添加OBS资产
授权完成后,需要将具体的资产添加到DSC中。添加OBS资产时,在左侧导航树中选择"资产中心",进入OBS资产页面,单击"添加OBS资产",选择需要保护的OBS桶即可。如需保护OBS其他桶,需要先将对应桶的"桶权限"设置为"公共"。
2.4 添加数据库资产并授权
对于云上数据库类型(如RDS),在进行数据库云资产委托授权后,DSC会自动发现您的云上数据库实例,直接授权DSC访问即可。对于自建数据库类型,需要先添加数据库实例到DSC服务,再进行数据库授权。
添加自建数据库时,需提前完成数据库资产委托授权,申请安全组,在ECS中安装数据库,并获取自建数据库的版本、主机等相关信息。如果数据库在云下数据中心,需要通过VPN打通云下网络到云上代理VPC。对于DWS跨账号或跨VPC实例,需要先在虚拟私有云创建对等连接。DSC支持的数据库类型包括SQLServer、MySQL、TDSQL、PostgreSQL、达梦、人大金仓、GaussDB、Oracle、DWS等。
2.5 添加大数据资产
DSC同样支持对大数据资产进行保护,包括Elasticsearch、MRS_HIVE、Hive、HBase等。授权大数据资产的操作入口与数据库资产类似,在资产中心选择"大数据"页签进行添加和授权。
三、敏感数据识别:发现数据中的"秘密"
完成资产授权后,DSC可以开始对您的数据进行敏感数据识别。DSC定义了10种敏感级别,实现数据的精细化管理和监控。
3.1 识别模板与规则
DSC提供了内置识别模板,您也可以根据业务需求自定义识别模板。识别模板包含一组识别规则,用于匹配和发现特定类型的敏感数据。通过识别规则模板,可以使敏感数据自动符合合规要求。
3.2 创建识别任务
在左侧导航树中选择"敏感数据识别",单击"新建任务"配置扫描任务。任务名称需满足4~255个字符,可由中文、英文字母、数字、下划线或中划线组成,开头需为中文或字母,且不能与已有任务重名。
在"数据类型"中可以选择需要识别的资产类型:OBS、数据库、大数据、MRS、LTS等。选择识别模板后,DSC将根据模板对数据进行分级分类展示。您还可以配置扫描周期,支持单次扫描和周期扫描。
3.3 查看识别结果
识别任务执行完成后,可以在资产地图页面查看文件风险概况和文件详情。DSC会展示各个数据资产的风险级别分布,帮助您快速定位高风险数据所在的位置。您还可以根据识别结果,制定相应的数据安全策略。
四、数据脱敏:保护敏感数据不被泄露
DSC的数据脱敏支持静态脱敏和调用API接口脱敏两种方式。静态脱敏按照脱敏规则一次性完成大批量数据的变形转换处理,通常用于将生产环境中的敏感数据交付至开发、测试或外发环境。动态脱敏则通过API对外部申请访问的数据进行实时脱敏,适用于生产应用、数据交换、运维应用、精准营销等场景。
4.1 脱敏算法
DSC通过内置和自定义脱敏算法,实现对RDS、ES、MRS、Hive和HBase等数据源进行脱敏。支持的脱敏算法包括Hash脱敏(将字符串类型字段用Hash值代替)、遮盖脱敏、替换脱敏等多种方式。您可以在"脱敏规则"页面配置和测试脱敏算法。
4.2 创建静态脱敏任务
创建静态脱敏任务前,需要已完成云资产委托授权,已添加OBS桶或授权数据库/大数据资产,并已在敏感数据识别中完成了敏感数据识别。
在左侧导航树中选择"数据静态脱敏",单击"新建任务"进入数据源配置页面。DSC支持对数据库、大数据以及OBS类型数据进行脱敏。各类型的支持范围如下:
- 数据库脱敏:SQLServer、MySQL、TDSQL、PostgreSQL、人大金仓、达梦、GaussDB、Oracle、DWS
- 大数据脱敏:Elasticsearch、MRS_HIVE、Hive、HBase
- OBS脱敏:支持.txt、.log、.xml、.ini、.sql、.inf、.java、.json等文本文件,以及JPG、JPEG、BMP、PNG、WEBP等图片格式(单张图片小于20M)
图片脱敏支持身份证照片、护照照片、驾驶证照片、银行卡照片、行驶证照片、社保卡照片等类型,脱敏方式包括马赛克和白色块遮盖。
4.3 动态脱敏API调用
除了控制台创建脱敏任务,DSC还提供了数据脱敏API接口,支持用户对外部申请访问的数据实时脱敏。通过调用API,可以在数据对外提供查询服务时动态脱敏,适用于生产应用、数据交换等场景。API调用的详细方法将在第六章中结合代码示例进行说明。
五、数据水印:追溯数据泄露的源头
数据水印是DSC的另一项核心能力,支持在文档和图片中嵌入和提取水印,用于数据版权保护和泄露溯源。
5.1 水印类型
DSC支持在PPT、EXCEL、PDF等类型的文件中嵌入文字暗水印、文字明水印或图片明水印。对于图片,支持在JPG、BMP、PNG等格式中嵌入和提取暗水印。
5.2 水印操作流程
用户以formData的格式传入待加水印的文件和水印相关信息,DSC服务给文件加完水印后返回已嵌入水印的文件的二进制流。提取水印时,用户以formData的格式传入待提取水印的图片,DSC服务以JSON格式返回提取出的文字暗水印。
5.3 OBS数据水印的特殊处理
需要特别注意的是,DSC的API接口暂不支持直接对OBS桶数据进行添加或提取水印的操作。如果需要对OBS桶数据进行水印相关操作,需要先将OBS桶数据读取到本地,再调用水印的API接口进行操作,添加水印后的文档将放在API的响应体中进行返回。
对于图片水印的提取,支持通过文件地址版本进行操作,格式为obs://bucket/object,其中bucket为和当前项目处于同一区域的OBS桶名称,object为对象全路径名。提取出的水印图片可以存放在指定的OBS路径下。
六、API与SDK深度集成
DSC提供了REST风格的API,支持通过HTTPS请求调用。您可以使用API进行数据库水印、图片水印、数据脱敏等操作。
6.1 API调用基础
调用DSC API需要先获取项目ID和用户Token。项目ID可以从控制台获取,Token通过调用IAM服务的"获取用户Token接口"获取(响应消息头中X-Subject-Token的值)。API的终端节点(Endpoint)因服务和区域而异,可以从地区和终端节点中查询。
常见的API操作包括:删除资产授权、添加资产授权、查看资产列表、编辑资产名称、开启/停止脱敏任务、查询脱敏任务执行列表、提取图片中的图片暗水印、提取图片中的文字暗水印、图片嵌入暗水印、文档提取暗水印、文档嵌入水印、对数据进行脱敏、提取数据水印、嵌入数据水印等。
6.2 Java SDK示例
华为云提供了DSC的Java SDK,可以通过Maven引入依赖。以下是一个使用Java SDK创建扫描任务的示例:
package com.huaweicloud.sdk.test;
import com.huaweicloud.sdk.dsc.v1.DscClient;
import com.huaweicloud.sdk.dsc.v1.model.*;
import com.huaweicloud.sdk.dsc.v1.region.DscRegion;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
public class CreateScanTaskExample {
public static void main(String[] args) {
// 配置认证信息
BasicCredentials auth = new BasicCredentials()
.withAk(System.getenv("HUAWEICLOUD_SDK_AK"))
.withSk(System.getenv("HUAWEICLOUD_SDK_SK"));
// 创建客户端
DscClient client = DscClient.newBuilder()
.withCredential(auth)
.withRegion(DscRegion.valueOf("cn-north-4"))
.build();
// 创建扫描任务请求
CreateScanJobRequest request = new CreateScanJobRequest();
CreateScanJobRequestBody body = new CreateScanJobRequestBody();
body.setJobName("example-scan-task");
body.setRuleGroupIds(java.util.Arrays.asList("rule-group-id"));
body.setScanCycle(CreateScanJobRequestBody.ScanCycleEnum.ONCE);
body.setRunImmediately(true);
request.setBody(body);
// 发送请求
try {
CreateScanJobResponse response = client.createScanJob(request);
System.out.println("任务创建成功,任务ID:" + response.getJobId());
} catch (Exception e) {
System.err.println("创建任务失败:" + e.getMessage());
}
}
}6.3 Python SDK示例
以下是一个使用Python SDK调用数据脱敏API的示例:
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdsc.v1.region.dsc_region import DscRegion
from huaweicloudsdkdsc.v1 import DscClient, BatchAddDataMaskRequest, BatchAddDataMaskRequestBody
def mask_sensitive_data():
# 配置认证信息
credentials = BasicCredentials(
ak=os.getenv("HUAWEICLOUD_SDK_AK"),
sk=os.getenv("HUAWEICLOUD_SDK_SK")
)
# 创建客户端
client = DscClient.new_builder() \
.with_credentials(credentials) \
.with_region(DscRegion.value_of("cn-north-4")) \
.build()
# 构造脱敏请求
request = BatchAddDataMaskRequest()
request.body = BatchAddDataMaskRequestBody(
data_list=[
{
"column_name": "phone_number",
"data_type": "string",
"mask_algorithm": "MASK"
}
],
database_name="example_db",
table_name="users"
)
# 发送请求
try:
response = client.batch_add_data_mask(request)
print("脱敏成功,任务ID:" + response.task_id)
except Exception as e:
print("脱敏失败:" + str(e))
if __name__ == "__main__":
mask_sensitive_data()6.4 水印API调用示例
以下是一个嵌入文档水印的API调用示例(文件地址版本):
POST /v1/{project_id}/sdg/doc/watermark/embed
Host: {endpoint}
Content-Type: application/json
X-Auth-Token: {token}
{
"src_file": "obs://bucket/example.docx",
"watermark_content": "COPYRIGHT_2026",
"watermark_type": "DARK"
}响应示例:
{
"watermarked_file": "obs://bucket/example_watermarked.docx"
}提取文档水印的API调用示例:
POST /v1/{project_id}/sdg/doc/watermark/extract
Host: {endpoint}
Content-Type: application/json
X-Auth-Token: {token}
{
"src_file": "obs://bucket/example_watermarked.docx"
}响应示例:
{
"watermark_content": "COPYRIGHT_2026"
}七、IAM权限策略配置
为了保障账号安全,建议使用IAM子账号进行日常操作,而非直接使用主账号。通过IAM,可以根据企业用户的职能设置不同的访问权限,实现用户之间的权限隔离。
7.1 系统策略
华为云提供了DSC的系统身份策略,例如"DSCReadOnlyAccessPolicy"仅授予只读权限。您可以将系统策略附加至用户或用户组。如果需要更细粒度的权限控制,可以创建自定义策略。
7.2 自定义策略
自定义策略支持两种创建方式:可视化视图创建和JSON视图创建。可视化视图允许按导航栏选择云服务、操作、资源、条件等策略内容,自动生成策略。JSON视图则可以在编辑框内直接编写JSON格式的策略内容。在创建自定义策略时,可以通过资源类型(Resource)元素选择特定资源,以及条件键(Condition)元素控制策略生效时机。
八、ROMA Connect连接器对接
DSC还支持通过ROMA Connect进行集成对接。ROMA Connect的数据安全中心连接器用于对接华为云数据安全中心服务。
8.1 创建连接器
在ROMA Connect左侧导航栏选择"连接器",单击"新建连接",选择"数据安全中心"连接器。在弹窗中配置连接器信息:
- 连接名称:填写连接器实例名称
- Access Key:当前账号的AK(Access Key ID),可从credentials.csv文件中获取
- Secret Access Key:当前账号的SK(Secret Access Key),同样从credentials.csv文件中获取
- 描述:填写连接器的描述信息,用于识别不同的连接器
8.2 支持的动作
通过ROMA Connect连接器,可以执行以下操作:删除资产授权、添加资产授权、查看资产列表、编辑资产名称、开启/停止脱敏任务、查询脱敏任务执行列表、提取图片中的图片暗水印、提取图片中的文字暗水印、图片嵌入暗水印、文档提取暗水印、文档嵌入水印、对数据进行脱敏、提取数据水印、嵌入数据水印等。
九、最佳实践:OBS数据安全防护
以下是使用DSC保护OBS中存储的敏感数据的完整操作流程。
9.1 操作步骤
- 购买数据安全中心服务:根据业务需求选择版本和扩展包。
- 登录DSC服务控制台:进入控制台后选择对应区域。
- 进入资产地图界面:在资产地图左上角单击云资产授权"修改"。
- 开启OBS授权:在OBS资产所在行单击开启授权。
- 添加OBS资产:在资产中心选择需要保护的OBS桶。
- 创建敏感数据识别任务:选择数据类型为OBS,配置扫描参数。
- 查看识别结果:在资产地图中查看敏感数据的分布和风险等级。
- 配置脱敏任务:根据需要创建数据静态脱敏任务。
9.2 安全策略建议
- 定期执行敏感数据识别任务,及时发现新增的敏感数据
- 根据数据分级结果,对不同级别的数据采取差异化的保护措施
- 在开发测试环境中使用脱敏后的数据,避免生产数据泄露
- 对重要文档和图片嵌入水印,便于泄露后溯源
- 通过IAM进行最小权限授权,避免过度授权带来的风险
十、常见问题解答
问题1:DSC的API是否支持直接对OBS数据进行水印操作?
不支持。DSC的API接口暂不支持直接对OBS桶数据进行添加或提取水印的操作。需要先将OBS桶数据读取到本地,再调用水印的API接口进行操作,添加水印后的文档将放在API的响应体中进行返回。
问题2:DSC支持哪些数据库类型的脱敏?
DSC数据库脱敏支持SQLServer、MySQL、TDSQL、PostgreSQL、达梦、人大金仓、GaussDB、Oracle、DWS等数据源。大数据脱敏支持Elasticsearch、MRS_HIVE、Hive、HBase。
问题3:DSC的静态脱敏和动态脱敏有什么区别?
静态脱敏按照脱敏规则一次性完成大批量数据的变形转换处理,通常用于将生产环境中的敏感数据交付至开发、测试或外发环境。动态脱敏则通过API对外部申请访问的数据进行实时脱敏,适用于生产应用、数据交换等场景。
问题4:如何获取调用DSC API所需的AK/SK?
AK/SK可在华为云控制台的"访问密钥"页面获取。如果已生成过AK/SK,可以找到原来已下载的credentials.csv文件;如果未生成,可以在控制台新建访问密钥并下载保存。
问题5:DSC的版本能否降级?
DSC不支持直接降低购买版本的规格。如果需要降低购买的DSC规格,可以先退订当前的DSC,再重新购买较低版本的DSC。
问题6:添加自建数据库到DSC需要满足哪些前提条件?
需要完成数据库资产委托授权、申请安全组、在ECS中安装数据库,并获取自建数据库的版本、主机等相关信息。如果数据库在云下数据中心,还需要通过VPN打通云下网络到云上代理VPC。



