华为云数据安全中心DSC对接使用完全指南:从开通到API深度集成
引言:云上数据安全的挑战与DSC的使命
数字化转型浪潮下,企业数据资产的价值日益凸显,与此同时数据泄露、隐私合规等安全威胁也与日俱增。传统的数据安全防护手段往往分散在不同产品中,缺乏统一的态势感知和策略管理能力。华为云数据安全中心(Data Security Center,简称DSC)应运而生,作为新一代云原生数据安全管理平台,它通过资产地图整合数据安全生命周期各阶段状态,对外整体呈现云上数据安全态势。
DSC提供传输加密、个人数据保护、隐私数据保护、数据备份、数据销毁、数据脱敏和数据水印七种数据安全保护能力,企业无需重复安装多款安全产品。基于AI的敏感数据识别引擎识别准确率超过百分之九十五,能够无缝对接云原生数据环境,提供数据安全地图,让数据、出口、风险全可视。
本文将从零开始,手把手讲解华为云DSC的完整对接使用流程,涵盖服务开通、资产授权、敏感数据识别、数据脱敏、水印溯源以及API深度集成等核心环节,并提供完整的代码示例,帮助读者构建一站式的云上数据安全防护体系。
需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联
一、DSC核心能力全景解读
1.1 数据分级分类
DSC提供敏感数据识别功能,内置了参考华为云计算公司数据安全分类分级标准和最佳实践的识别模板。系统定义十种敏感级别,实现数据的精细化管理,有效帮助企业监控敏感数据的流向,制定相应的数据安全策略。当数据泄露或其他安全事件发生时,能够快速定位问题并采取应对措施。
1.2 数据脱敏
DSC的数据脱敏能力覆盖静态脱敏和动态脱敏两大场景。静态脱敏可以按照脱敏规则一次性完成大批量数据的变形转换处理,通常用在将生产环境中的敏感数据交付至开发、测试或外发环境的情况。动态脱敏则通过API接口实现数据的实时脱敏返回,防止敏感数据在API调用过程中泄露。DSC支持多种预置脱敏算法,同时也允许用户自定义脱敏算法,搭建灵活的数据保护引擎。
1.3 数据水印溯源
数据水印是DSC的另一项核心能力,支持在文档、图片、数据库中嵌入暗水印。水印内容对用户不可见,但可以通过DSC的水印提取功能进行溯源。当数据泄露事件发生时,企业可以通过提取水印信息快速定位泄露源头,追究相关责任。
1.4 资产地图与态势感知
DSC通过资产地图整合数据安全生命周期各阶段状态,让企业管理者对云上数据安全态势一目了然。资产地图涵盖云上所有数据资产类型,包括OBS、RDS、CSS、Hive、Hbase等。数据关联分级分类结果后,可以一览展示各个数据风险级别。
二、服务开通与初始化配置
2.1 开通DSC服务
使用DSC服务前,首先需要开通数据安全中心服务。具体操作路径为:登录华为云控制台,在左侧导航树中单击选择"安全与合规",然后点击"数据安全中心"进入服务页面。首次使用时,系统会引导用户完成服务开通流程。
需要注意的是,使用数据安全中心前须先开通并使用OBS或RDS云产品中的任意一种,确保有可供DSC扫描的数据。如果尚未开通OBS或RDS,需要先完成相应服务的开通和基础配置。
2.2 云资产委托授权
完成DSC服务开通后,下一步是进行云资产委托授权。这是DSC能够访问和管理用户数据资产的前提条件。授权操作在DSC控制台的"资产地图"页面进行,点击左上角的云资产授权"修改",进入"云资产委托授权"页面。
云资产委托授权属于高危操作,执行时用户必须拥有"Tenant Administrator"的权限。授权过程中,DSC将根据用户的选择设置委托权限,以此来访问OBS、数据库、大数据实例以及其他相应的云上资产。授权完成后,系统会创建可供DSC使用的委托关系。
2.3 区域与项目选择
DSC是区域级服务,在控制台操作时需要先选择对应的区域或项目。不同区域的DSC服务相互独立,资产也归属在不同的区域中。建议将DSC部署在数据资产所在的同一区域,以降低网络延迟并避免跨区域流量费用。对于需要精细权限控制的场景,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权。
三、数据资产添加与管理
3.1 资产中心概述
DSC的资产中心是管理所有数据资产的统一入口。数据安全中心支持自动发现云上数据资产,同时也支持手动添加云上云下自建数据库资产。完成云资产委托授权后,即可在资产中心查看和添加各类数据资产。
DSC支持的资产类型涵盖OBS对象存储、数据库(包括自建DB和云数据库)、大数据平台以及日志服务等。暂不支持纳管已启用IPv6 VPC的数据库资产。
3.2 添加OBS资产
OBS资产是DSC最常管理的数据源之一。添加OBS资产的操作步骤如下:
登录DSC服务控制台,单击左上角选择区域或项目,在左侧导航树中选择"资产中心"进入页面,单击"OBS"进入OBS资产列表界面。在OBS资产列表左上角单击"添加自有桶",在弹出的对话框中完成桶的选择和配置。
添加OBS资产后,DSC将对OBS里的资产进行敏感数据识别。对于OBS自有桶数据,需要将桶权限设置为适当级别以确保DSC能够正常访问。DSC支持管理OBS资产,可将训练数据存储至OBS桶,DSC支持对OBS中的训练数据进行敏感数据识别、脱敏等操作。
3.3 添加数据库资产
数据库资产的添加根据资产类型分为两种场景:
云上数据库:如果资产是云上数据库类型(如华为云RDS),则不需要手动添加实例。DSC在进行数据库云资产委托授权后会自动发现云上数据库实例,用户只需直接授权DSC访问数据库即可。
自建数据库:如果资产是自建数据库类型,需要先添加数据库实例将实例添加到DSC服务,然后进行数据库授权。添加自建数据库需要满足一系列前提条件:已完成数据库资产委托授权、已申请安全组、已在ECS中安装数据库、已获取自建数据库的版本和主机相关信息、且自建数据库子网下含有可用的IP配额。对于云下的自建数据库,还需要打通云下网络到云上代理VPC。添加外部数据库时需要通过云专线或VPN等方法打通云下资产到云上代理VPC的网络。
DSC支持的数据库类型及版本请参考官方文档中的详细列表。完成数据库授权后,DSC才能访问数据库进行敏感数据识别、数据静态脱敏以及添加或提取数据水印等操作。
3.4 添加大数据资产
对于用户自建的大数据资产,需要先将实例添加到DSC,然后授权DSC访问实例中的数据库或索引。DSC将对已授权的大数据资产进行敏感数据识别。具体操作流程与数据库资产类似,在资产中心选择对应的大数据类型进行添加和授权。
四、敏感数据识别
4.1 敏感数据识别概述
敏感数据识别是DSC的核心功能之一。DSC会根据创建的识别任务,在选定的OBS桶、数据库、大数据、MRS或者LTS的指定范围中,自动识别敏感数据并生成识别结果。识别任务可以基于内置的敏感数据识别模板执行,这些模板参考了华为云计算公司的数据安全分类分级标准和最佳实践。
4.2 创建识别任务
创建敏感数据识别任务的操作步骤如下:
登录DSC服务控制台,单击左上角选择区域或项目,在左侧导航树中选择"识别任务"进入界面,在任务列表左上角单击"新建任务"。创建任务时需要选择识别的数据类型,可多选,包括OBS、数据库、大数据等。同时需要选择识别模板,模板中定义了需要识别的敏感数据规则集。
任务创建完成后,DSC将自动在指定范围内进行敏感数据扫描。识别结果会展示在DSC控制台中,用户可以在敏感数据识别结果页面查看详细的识别报告。
4.3 分类分级管理
DSC定义十种敏感级别,实现数据的精细化管理。通过分类分级,企业可以清楚地了解数据资产中各类敏感数据的分布情况和风险等级。分类分级结果会体现在资产地图中,帮助管理者直观掌握数据安全态势。
五、数据脱敏配置
5.1 脱敏能力概述
DSC的数据脱敏支持静态脱敏和通过API接口动态脱敏两种方式。用户可以针对指定数据类型配置脱敏规则实现敏感数据静态脱敏,也可以使用数据脱敏API接口实现数据的动态脱敏。DSC支持多种脱敏算法,同时允许用户自定义脱敏算法。
5.2 静态脱敏
静态脱敏适用于大批量数据的脱敏处理场景。操作流程如下:在DSC控制台左侧导航树中选择"脱敏规则"进入页面。在脱敏规则页面可以配置各种脱敏算法,例如Hash脱敏可以选择SHA256或SHA512算法。用户也可以添加自定义脱敏算法,在"脱敏算法"页签单击"添加自定义算法"进行配置。
配置完成的脱敏算法可以在脱敏行业模板中进行引用。静态脱敏通常用在将生产环境中的敏感数据交付至开发、测试或者外发环境的情况,适用于开发测试、数据分享、数据研究等场景。
5.3 动态脱敏
动态脱敏通过API接口实现数据的实时脱敏返回。当应用程序通过API访问数据时,DSC会根据配置的脱敏规则对返回的敏感数据进行实时脱敏处理,确保敏感信息不会在API调用过程中泄露。动态脱敏适用于需要实时数据访问但又不能暴露原始敏感数据的场景。
六、数据水印注入与提取
6.1 水印能力概述
DSC提供完善的数据水印能力,支持在文档、图片和数据库中嵌入暗水印。水印对用户不可见,但可以通过DSC的水印提取功能进行溯源。DSC支持的水印载体涵盖Office文档(Windows、Mac)、WPS文档(Windows、Mac、Linux、手机端)、Adobe Reader以及主流浏览器等。
6.2 文档水印
文档水印支持嵌入和提取两种操作。嵌入水印时,用户将文档上传到DSC平台,DSC在文档中嵌入不可见的暗水印信息后返回。提取水印时,用户上传已嵌入水印的文档,DSC提取出水印内容返回。
值得注意的是,DSC的API接口暂不支持直接对OBS桶数据进行添加或提取水印的操作。如果需要针对OBS桶数据进行水印相关操作,需要先将OBS桶数据读取到本地,再调用水印的API接口进行操作。添加水印后的文档将放在API的响应体中进行返回。
6.3 图片水印
图片水印支持多种图片格式,包括jpg、bmp、png、jpeg、tiff、tif、tga、gif等。用户可以通过API接口传入待处理图片的地址(目前支持OBS地址,格式为obs://bucket/object),DSC对图片进行水印嵌入或提取操作。提取出的水印图片存放地址也可以由用户指定。对于图片暗水印的提取,DSC支持从图片中提取出文字暗水印并以JSON格式返回。
6.4 数据库水印
针对DWS和MRS-HIVE数据库类型,DSC提供了有损水印的嵌入方案。数据库水印适用于需要在数据集中嵌入水印以追踪数据泄露源头的场景。用户可以在DSC控制台的"数据库水印提取"界面进行相关操作。
七、ROMA Connect对接DSC
7.1 连接器配置
华为云ROMA Connect提供了与DSC对接的连接器能力。通过ROMA Connect的数据安全中心连接器,可以将DSC的数据安全能力集成到复合应用中。配置DSC连接器的操作步骤如下:
在ROMA Connect控制台的左侧导航栏选择"连接器",在连接器页面单击"新建连接"。选择"数据安全中心"连接器,在弹窗中配置连接器信息。需要填写的参数包括:连接名称(实例名称)、Access Key(当前账号的AK)、Secret Access Key(当前账号的SK)以及描述信息。AK和SK的获取方式为在华为云控制台访问密钥管理页面生成或查看已下载的credentials.csv文件。
7.2 支持的动作
DSC连接器支持丰富的操作动作:删除资产授权、添加资产授权、查看资产列表、编辑资产名称、开启或停止脱敏任务、查询脱敏任务执行列表、提取图片中的图片暗水印、提取图片中的文字暗水印、图片嵌入暗水印、文档提取暗水印、文档嵌入水印、对数据进行脱敏、提取数据水印、嵌入数据水印等。
7.3 配置参数说明
在使用DSC连接器时,需要配置一系列参数:bucket_id(桶ID)、project_id(项目ID)、region_id(区域ID)、type(资产类型)、buckets(OBS桶列表)、asset_name(资产名称)、location(桶位置)、bucket_name(桶名称)、bucket_policy(桶策略)、added(是否已授权)、offset(页码)、limit(分页大小)、asset_id(资产ID)、template_id(模板ID)、status(脱敏任务状态)、src_file(待处理文件地址,格式为obs://bucket/object)等。
八、API与SDK深度集成
8.1 认证方式
用户访问DSC的方式包括DSC控制台、API和SDK,无论访问方式封装成何种形式,其本质都是通过DSC提供的REST风格API接口进行请求。DSC的接口需要经过认证请求后才能访问成功,支持两种认证方式:
Token认证:通过Token认证调用请求,访问DSC控制台默认使用Token认证机制。
AK/SK认证:通过AK(Access Key ID)和SK(Secret Access Key)加密调用请求。推荐使用AK/SK认证,其安全性比Token认证更高。
8.2 Python SDK调用示例
华为云DSC提供了多语言的SDK支持,用户可以在SDK中心查询版本信息并获取最新版本的SDK。以下是一个使用Python SDK调用DSC API的完整示例:
# -*- coding: utf-8 -*-
import json
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdsc.v1.region.dsc_region import DscRegion
from huaweicloudsdkdsc.v1 import *
# 配置认证信息
ak = "your_ak_here"
sk = "your_sk_here"
project_id = "your_project_id_here"
credentials = BasicCredentials(ak, sk, project_id)
# 创建DSC客户端
client = DscClient.new_builder() \
.with_credentials(credentials) \
.with_region(DscRegion.value_of("cn-south-1")) \
.build()
# 示例1:查看资产列表
try:
request = ListAssetsRequest()
request.offset = 0
request.limit = 10
response = client.list_assets(request)
print(json.dumps(response.to_dict(), indent=2, ensure_ascii=False))
except Exception as e:
print(f"查询资产列表失败: {e}")
# 示例2:创建敏感数据识别任务
try:
request = CreateScanTaskRequest()
request.body = CreateScanTaskRequestBody(
asset_ids=["asset_id_1", "asset_id_2"],
template_id="template_id_here",
task_name="每日敏感数据扫描任务"
)
response = client.create_scan_task(request)
print(json.dumps(response.to_dict(), indent=2, ensure_ascii=False))
except Exception as e:
print(f"创建识别任务失败: {e}")
# 示例3:数据脱敏(静态脱敏)
try:
request = CreateMaskTaskRequest()
request.body = CreateMaskTaskRequestBody(
template_id="template_id_here",
task_name="生产数据脱敏任务",
source="obs://source-bucket/source-path/",
target="obs://target-bucket/target-path/"
)
response = client.create_mask_task(request)
print(json.dumps(response.to_dict(), indent=2, ensure_ascii=False))
except Exception as e:
print(f"创建脱敏任务失败: {e}")8.3 REST API调用示例
除了SDK方式,用户也可以直接调用DSC的REST API。以下是通过Token认证方式调用API的示例:
# Token认证方式调用DSC API
import requests
import json
# 获取Token
iam_url = "https://iam.cn-south-1.myhuaweicloud.com/v3/auth/tokens"
iam_payload = {
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "your_username",
"password": "your_password",
"domain": {"name": "your_domain_name"}
}
}
},
"scope": {
"project": {"name": "cn-south-1"}
}
}
}
response = requests.post(iam_url, json=iam_payload)
token = response.headers.get("X-Subject-Token")
# 调用DSC API - 查询资产列表
dsc_url = "https://dsc.cn-south-1.myhuaweicloud.com/v1/{project_id}/sdg/asset"
headers = {
"X-Auth-Token": token,
"Content-Type": "application/json"
}
response = requests.get(dsc_url.format(project_id="your_project_id"), headers=headers)
print(json.dumps(response.json(), indent=2, ensure_ascii=False))
# 调用DSC API - 创建脱敏任务
mask_url = "https://dsc.cn-south-1.myhuaweicloud.com/v1/{project_id}/data/mask"
mask_payload = {
"template_id": "your_template_id",
"task_name": "API调用脱敏任务",
"source": "obs://source-bucket/data/",
"target": "obs://target-bucket/masked-data/"
}
response = requests.post(mask_url.format(project_id="your_project_id"),
json=mask_payload, headers=headers)
print(json.dumps(response.json(), indent=2, ensure_ascii=False))8.4 AK/SK签名认证示例
AK/SK认证方式比Token认证更加安全,推荐在生产环境中使用。以下是一个使用Python的requests库结合签名算法调用DSC API的示例:
# AK/SK签名认证方式调用DSC API
import requests
import hashlib
import hmac
import datetime
import json
def sign_request(method, url, ak, sk, body=""):
"""生成AK/SK签名请求头"""
t = datetime.datetime.utcnow()
date = t.strftime("%Y%m%dT%H%M%SZ")
# 构造待签名字符串
canonical_request = f"{method}\n{url}\n\nhost:dsc.cn-south-1.myhuaweicloud.com\n\nhost;x-sdk-date\n"
if body:
body_hash = hashlib.sha256(body.encode()).hexdigest()
canonical_request += body_hash
else:
canonical_request += hashlib.sha256(b"").hexdigest()
string_to_sign = f"SDK-HMAC-SHA256\n{date}\n{hashlib.sha256(canonical_request.encode()).hexdigest()}"
# 计算签名
signing_key = hmac.new(sk.encode(), f"{date}".encode(), hashlib.sha256).digest()
signature = hmac.new(signing_key, string_to_sign.encode(), hashlib.sha256).hexdigest()
return {
"Host": "dsc.cn-south-1.myhuaweicloud.com",
"X-Sdk-Date": date,
"Authorization": f"SDK-HMAC-SHA256 Access={ak}, SignedHeaders=host;x-sdk-date, Signature={signature}",
"Content-Type": "application/json"
}
# 使用示例
ak = "your_ak_here"
sk = "your_sk_here"
project_id = "your_project_id_here"
url = f"https://dsc.cn-south-1.myhuaweicloud.com/v1/{project_id}/sdg/asset?offset=0&limit=10"
headers = sign_request("GET", url, ak, sk)
response = requests.get(url, headers=headers)
print(json.dumps(response.json(), indent=2, ensure_ascii=False))九、策略配置与安全防护
9.1 策略基线
DSC的策略中心支持对数据全生命周期的策略配置。企业管理员进入DSC策略中心界面,可以定义企业的数据安全保护策略基线。DSC针对数据不同周期依据华为云数据安全治理经验内置了相应的措施。策略基线覆盖数据采集、数据存储、数据处理、数据传输、数据交换、数据销毁等全生命周期环节。
9.2 数据防泄漏
DSC提供云原生的数据防泄漏方案,核心优势在于无代理轻量化防护。通过云服务集成或网络流量镜像实现监控,无需在终端安装软件。DSC内置强大的敏感数据识别引擎,支持基于正则、关键词、字典、文件指纹、机器学习模型的精准识别。对检测到的风险行为可以进行实时告警、审批拦截或直接阻断。
敏感文件外发拦截的典型流程包括:数据源接入(OBS文件操作监控或VPC流量镜像)、内容深度检测(应用敏感数据识别规则进行内容分析)、风险判定(匹配防护策略条件)、响应执行(告警、审批拦截或阻断)。
9.3 安全防护最佳实践
基于DSC的能力,以下是一些数据安全防护的最佳实践建议:定期执行敏感数据识别任务,及时发现新增的敏感数据;对开发测试环境的数据进行静态脱敏,避免敏感数据泄露到非生产环境;在数据外发场景中嵌入水印,实现泄露溯源;配置数据防泄漏策略,对敏感文件外发行为进行监控和拦截;利用资产地图定期审视数据安全态势,及时发现异常。
十、计费说明与成本优化
10.1 计费模式
DSC支持按需计费模式。按需计费的DSC API接口调用按月计费,每月结算一次费用(以自然月为准),结算完毕后进入新的计费周期。计费的起点以第一次调用API接口成功的时间点为准,终点为月度最后一次调用接口的时间。
10.2 成本优化建议
在使用DSC时,建议根据实际业务需求合理规划识别任务的频率和范围,避免不必要的资源消耗。对于低频访问的数据资产,可以适当降低扫描频率。同时,合理利用DSC内置的识别模板和脱敏模板,减少自定义配置的复杂度,提高运维效率。
结语
华为云数据安全中心DSC作为新一代云原生数据安全管理平台,通过数据分级分类、敏感数据识别、数据脱敏、数据水印等核心能力,为企业提供了从数据发现、分类分级到风险防控的一站式数据安全解决方案。本文详细介绍了DSC的对接使用全流程,从服务开通、资产授权、敏感数据识别、数据脱敏、水印溯源到API深度集成,覆盖了企业使用DSC的各个关键环节。
随着数据安全法规的日益严格和数据泄露风险的持续加剧,构建完善的数据安全防护体系已成为企业的必然选择。华为云DSC凭借其云原生架构、AI驱动的智能识别引擎和一体化的安全策略管理能力,能够有效帮助企业应对数据安全挑战,守护核心数据资产安全。
常见问题解答
问1:使用DSC服务需要先开通哪些其他云服务?
使用DSC服务前,需要先开通并使用OBS对象存储服务或RDS关系型数据库服务中的任意一种,确保有可供DSC扫描的数据。如果已有OBS桶或RDS实例,可以直接使用;如果没有,需要先创建桶或实例并上传或存储数据。
问2:DSC支持哪些类型的数据资产?
DSC支持多种类型的数据资产,包括OBS对象存储、数据库(云上RDS和自建数据库)、大数据平台(如MRS、Hive、Hbase)以及LTS日志服务等。对于数据库资产,DSC支持多种数据库引擎和版本。
问3:DSC的API接口是否支持直接对OBS桶数据进行水印操作?
DSC的API接口暂不支持直接对OBS桶数据进行添加或提取水印的操作。如果需要对OBS桶数据进行水印相关操作,需要先将OBS桶数据读取到本地,再调用水印的API接口进行操作。添加水印后的文档将放在API的响应体中进行返回。
问4:DSC支持哪几种认证方式?
DSC支持两种认证方式:Token认证和AK/SK认证。Token认证用于访问DSC控制台场景。AK/SK认证通过Access Key ID和Secret Access Key加密调用请求,安全性更高,推荐在API调用场景中使用。
问5:静态脱敏和动态脱敏有什么区别?
静态脱敏是按照脱敏规则一次性完成大批量数据的变形转换处理,通常用于将生产环境中的敏感数据交付至开发、测试或外发环境。动态脱敏则通过API接口实现数据的实时脱敏返回,在数据被访问时动态进行脱敏处理。静态脱敏适用于数据批量处理场景,动态脱敏适用于实时数据访问场景。
问6:如何获取DSC的SDK?
华为云DSC提供了多语言的SDK支持。用户可以在华为云SDK中心查询版本信息并获取最新版本的SDK。SDK的获取地址和安装包可以在SDK中心的DSC服务页面找到。使用前请确保安装的是最新版本的SDK,避免兼容性问题。


