概述
本文档介绍在 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 中创建过凭据,可跳过此步骤。
1. 登录 腾讯云 SSM 控制台。
2. 在左侧导航栏选择凭据管理 > 自定义凭据。
3. 单击新建凭据。
4. 配置凭据信息:
参数 | 说明 |
凭据名称 | 自定义凭据标识,用于在 WeData 中引用,例如 mysql-prod-password。 |
凭据版本 | 例如 v1、1.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 中创建凭据
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 | 是 | 凭据版本号,例如 v1、1.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 中创建凭据
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.0、v1 |
region | string | 是 | 地域 ID,如 ap-guangzhou |
相关文档
数据源管理