tencent cloud

数据开发治理平台 WeData

文档数据开发治理平台 WeData实践教程对接腾讯云 SSM 进行安全密钥管控

对接腾讯云 SSM 进行安全密钥管控

Download
聚焦模式
字号
最后更新时间: 2026-05-20 15:02:28

概述

本文档介绍在 WeData 平台上如何对接腾讯云凭据管理系统(Secrets Manager,SSM)进行安全密钥管控。通过 SSM 统一管理敏感凭据(如数据库密码、API 密钥等),可以有效避免密码明文泄露的风险。
本文档涵盖以下三个场景:
场景
功能描述
适用模块
场景一
创建数据源时支持对接 SSM 获取用户名、密码等信息
项目管理-数据源管理
场景二
Notebook 代码中通过 dlcutils.secrets 获取密钥
Studio - Notebook
场景三
Python 任务中通过 wedatautils.get_secret_value 获取密钥
编排空间 - Python

前提条件

已开通腾讯云 凭据管理服务 SSM
已创建需要加密的凭据(用户名、密码、密钥等)。

场景一:在数据源中对接 SSM 获取密码

功能说明

创建 MySQL、Oracle、PostgreSQL、SQL Server 等数据源时,可选择通过 SSM 获取密码,避免明文填写。

支持的数据源类型:

数据源分类
数据源类型
加密对象
关系型数据库
腾讯云 MySQL
密码
MySQL
密码
TCHouse-P
密码
Oracle
密码
PostgreSQL
密码
SQL Server
密码
大数据
TCHouse-D
密码
半结构化
SFTP
密码(密码认证模式)
COS
SecretKey
REST API
密码/Token/客户端密码
S3
AccessKeySecret
Azure Blob
AccessKey / SAS Token

操作步骤

步骤 1:在 SSM 中创建凭据

注意:
如已在 SSM 中创建过凭据,可跳过此步骤。
2. 在左侧导航栏选择凭据管理 > 自定义凭据
3. 单击新建凭据
4. 配置凭据信息:
参数
说明
凭据名称
自定义凭据标识,用于在 WeData 中引用,例如 mysql-prod-password
凭据版本
例如 v11.0,支持多个版本管理。
凭据内容
填写需要加密的敏感信息,例如数据库密码。

步骤 2:创建 WeData 数据源

1. 登录 WeData 控制台,进入目标项目。
2. 在上方导航栏选择 项目管理 > 数据源管理
3. 单击新建数据源
4. 选择目标数据源类型(例如腾讯云 MySQL)。


步骤 3:配置 SSM 密码获取

1. 在数据源配置页面,找到 密码 字段。
2. 在密码字段上方,单击开启 SSM 密码获取 开关。

3. 配置 SSM 连接信息:
参数
说明
是否必填
SSM 地域
选择凭据所在的腾讯云地域,如 广州
凭据名称
SSM 中创建的凭据名称
凭据版本
凭据版本号,如 v1

步骤 4:保存并测试连接

1. 完成其他必填字段配置。
2. 单击测试连接 验证配置正确性。
3. 测试通过后,单击保存

场景二:在 Notebook 中获取密钥

功能说明

在 WeData Studio 的 Notebook 中,可以使用 dlcutils.secrets 函数获取存储在 SSM 中的密钥值,避免将敏感信息明文写入代码。
注意:
dlcutils 函数库仅适用于连接 DLC 引擎机器学习资源组 - Spark MLlib 类型

操作步骤

步骤 1:在 SSM 中创建凭据

2. 创建自定义凭据,记录凭据名称和版本。

步骤 2:在 Notebook 中调用函数

在 Notebook 的代码单元格中,调用 dlcutils.secrets.get() 函数:
# 获取 SSM 中的密钥
secret_value = dlcutils.secrets.get(
secretName="your_secret_name", # 凭据名称
secretVersion="v1", # 凭据版本
region="ap-guangzhou" # 地域,如广州
)

# 打印结果
print(secret_value)

函数参数说明

参数名
类型
必填
说明
secretName
string
凭据名称,即在 SSM 中定义的密钥标识
secretVersion
string
凭据版本号,例如 v11.0
region
string
地域 ID,例如 ap-guangzhou(广州)、ap-shanghai(上海)

典型使用场景

场景
示例代码
获取腾讯云 API 密钥
ak = dlcutils.secrets.get("my-ak", "v1", "ap-guangzhou")
sk = dlcutils.secrets.get("my-sk", "v1", "ap-guangzhou")
获取数据库连接密码
password = dlcutils.secrets.get("db-password", "v1", "ap-guangzhou")
获取第三方 API Token
api_token = dlcutils.secrets.get("api-token", "v1", "ap-guangzhou")

场景三:在 Python 任务中获取密钥

功能说明

在编排空间的 Python 任务中,可以使用 wedatautils.get_secret_value 函数获取存储在 SSM 中的密钥值。

操作步骤

步骤 1:在 SSM 中创建凭据
2. 创建自定义凭据,记录凭据名称和版本。
步骤 2:在 Python 任务中调用函数
在 Python 任务代码中直接调用 wedatautils.get_secret_value
import wedatautils

# 配置凭据信息
secret_name = "your_secret_name" # 凭据名称
version_id = "1.0" # 凭据版本
region = "ap-guangzhou" # 凭据所在地域

# 获取凭据内容
secret_value = wedatautils.get_secret_value(
secret_name,
version_id,
region
)

# 使用密钥
print("this is " + secret_value)

函数参数说明

参数名
类型
必填
说明
secret_name
string
SSM 中创建的凭据名称
version_id
string
凭据版本号,如 1.0v1
region
string
地域 ID,如 ap-guangzhou

相关文档

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈