一、概述
这篇档涵盖以下三个场景:
| 场景 | 功能描述 | 适用模块 |
| 场景一 | 创建数据源时支持对接 SSM 获取用户名、密码等信息 | 项目管理-数据源管理 |
| 场景二 | Notebook 代码中通过 dlcutils.secrets 获取密钥 | Studio – Notebook |
| 场景三 | Python 任务中通过 wedatautils.get_secret_value 获取密钥 | 编排空间 – Python |
二、前提条件
·已开通腾讯云 凭据管理服务 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. 测试通过后,单击保存。
十二、功能说明
在 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 任务中,可以使用 wedatautils.get_secret_value 函数获取存储在 SSM 中的密钥值。
20、操作步骤
步骤 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)
21、函数参数说明
| 参数名 | 类型 | 必填 | 说明 |
| secret_name | string | 是 | SSM 中创建的凭据名称 |
| version_id | string | 是 | 凭据版本号,如 1.0、v1 |
| region | string | 是 | 地域 ID,如 ap-guangzhou |
22、相关文档
·腾讯云凭据管理服务 SSM 概述
·WeData Studio Notebook 开发
·WeData Python 任务开发
·数据源管理