数据开发治理平台 WeData 对接腾讯云 SSM 进行安全密钥管控

这篇档介绍在 WeData 平台上如何对接腾讯云凭据管理系统(Secrets Manager,SSM)进行安全密钥管控。通过 SSM 统一管理敏感凭据(如数据库密码、API 密钥等),可以有效避免密码明文泄露的风险。

相关产品
数据开发治理平台 WeData 产品页,含版本规格、价格与购买入口。

一、概述

这篇档涵盖以下三个场景:

场景 功能描述 适用模块
场景一 创建数据源时支持对接 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 任务开发

·数据源管理

赞 (0)
上一篇 5天前
下一篇 5天前