Dataphin中安全的使用账号密码

本文涉及的产品
智能数据建设与治理Dataphin,200数据处理单元
简介: 在Dataphin中, 经常遇到需要连接外部服务来实现一些特定的功能, 如连接外部FTP检测FTP服务的连通性. 实现此类功能, 一般是使用shell或者Python代码任务. 由于外部服务大多都有访问鉴权, 就需要在shell/Python代码中向服务端发送账号密码(密钥). 本文将说明在shell/Python代码中如何安全的使用账号密码.

在Dataphin中, 经常遇到需要连接外部服务来实现一些特定的功能, 如连接外部FTP检测FTP服务的连通性. 实现此类功能, 一般是使用shell或者Python代码任务. 由于外部服务大多都有访问鉴权, 就需要在shell/Python代码中向服务端发送账号密码(密钥). 本文将说明在shell/Python代码中如何安全的使用账号密码. 主要有两种方法:

  1. 离线代码模板+加密参数
  2. 账号密码类型全局变量


离线代码模板+加密参数

使用流程

  1. 点击导航菜单"计算模板", 点击新建"离线计算模板", 名称为 templ, 节点类型为 shell

  1. 输入模板代码, 代码中的 账号, 密码 使用变量代替 (使用 @@{变量名} 的方式自由定义模板参数变量). 打开"模板信息", 在"参数配置"中, 开启 账号, 密码 两个模板参数的加密选项.

  1. 点击工具栏"调试", 调试代码模板. 日志中如果有打印输出加密的参数变量, 将被替换为 "******". 调试后, 提交.

  1. 在"计算任务"中, 新建 shell 任务, 选择代码模板 templ, 即可新建一个 templ 模板的任务实例. 离线代码模板的任务实例是只读模式, 不可编辑修改代码, 可以重新设置模板参数值 (覆盖模板默认参数值).

安全性解析

使用离线代码模板, 账号密码的安全保障措施有:

  1. 模板参数加密后, 查看模板时, 账号密码展示为非明文样式. 关闭加密时, 参数值将清空, 而不是将参数值转为明文显示.
  2. 向运行日志打印加密参数时, 最终输出将做脱敏处理.
  3. 只有超级管理员可以创建和编辑离线代码模板, 普通开发者不可修改离线代码模板的代码, 杜绝以其他方式(如: 写入文件, 发送给外部网络)获取加密参数的取值.
  4. 模板任务实例为只读, 其他用户无法通过任务实例获取加密参数的取值.

适用场景

离线代码模板+加密参数 的适用场景如下:

  1. 多个任务, 处理逻辑类似, 可以通过设置参数, 传入不同的参数值来实现不同的目标.
  2. 处理逻辑包含连接外部服务, 需要通过账号密码来鉴权

比如, 检测一个ftp服务器上的多个文件是否已经准备好. 可以将检测的逻辑(包含通过账号密码连接ftp)放入离线代码模板, 将需要检测的目标文件名设置为模板参数(明文, 不加密). 为每一个需要检测的文件创建一个引用该模板任务实例, 设置文件名参数的取值为 真实文件名.

账号密码全局变量

使用流程

  1. 在"规划->公共定义->全局变量" 中, 点击"新建全局变量"

  1. 变量类型选择"账号密码"
  1. 默认开启 "权限管控", 开启后引用改变量之前, 需要提前申请权限
  2. 默认开启"代码审核", 引用改变量的代码, 每次提交时, 均需要指定的代码审核人来做审核, 审核通过后才能成功提交.

  1. 账号密码全局变量创建后, 查看其取值时, 取值展示为 "********"

  1. 引用账号密码全局变量, 在任务参数列表中, 参数值展示为 "******". 点击"运行", 系统不自动填充运行值, 防止用户编写代码获取变量取值.

  1. 提交时, 需要指定的审核人来审核代码内容, 确认代码中没有任何不安全的使用方式.

安全性解析

使用账号密码全局变量的安全保障措施有:

  1. 查看或编辑账号密码全局变量, 变量值展示为密文
  2. 引用账号密码全局变量需要申请使用权限, 可以预防不正当的使用.
  3. 引用了账号密码全局变量的代码, 每次提交都需要走一遍代码审核, 审核人会查看代码, 确认代码中是否有账号密码泄露风险.

适用场景

账号密码变量适用于以下场景

  1. 需要使用账号密码连接外部服务, 有多个任务, 但每一个的处理逻辑不尽相同, 需要集中维护账号密码.

总结

可以根据场景, 自由选择以上两种方式来解决账号密码的安全使用问题. Dataphin也会继续探索和提供更多的方式来解决此类问题.

相关文章
|
9月前
|
安全 Shell Python
Dataphin功能Tips系列(9)-Dataphin中安全的使用账号密码(2)
在Dataphin中, 经常遇到需要连接外部服务来实现一些特定的功能, 如连接外部FTP检测FTP服务的连通性. 实现此类功能, 一般是使用shell或者Python代码任务. 由于外部服务大多都有访问鉴权, 就需要在shell/Python代码中向服务端发送账号密码(密钥),如何在shell或者Python任务中安全的使用账号密码?
128 2
Dataphin功能Tips系列(9)-Dataphin中安全的使用账号密码(2)
|
9月前
|
安全 Shell Python
Dataphin功能Tips系列(8)-Dataphin中安全的使用账号密码(1)
在Dataphin中, 经常遇到需要连接外部服务来实现一些特定的功能, 如连接外部FTP检测FTP服务的连通性. 实现此类功能, 一般是使用shell或者Python代码任务. 由于外部服务大多都有访问鉴权, 就需要在shell/Python代码中向服务端发送账号密码(密钥),如何在shell或者Python任务中安全的使用账号密码?
237 1
Dataphin功能Tips系列(8)-Dataphin中安全的使用账号密码(1)
|
9月前
|
SQL 监控 安全
Dataphin V3.11焕新升级丨2大全新模块上线,让数据分析更敏捷、让数据流通更安全
Dataphin V3.11焕新升级丨2大全新模块上线,让数据分析更敏捷、让数据流通更安全
243 0
|
数据采集 监控 安全
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(1)
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(1)
200 0
|
监控 安全
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(2)
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(2)
335 0
|
监控 安全 数据管理
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(3)
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(3)
342 0
|
数据采集 机器学习/深度学习 人工智能
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(4)
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(4)
278 0
|
数据采集 SQL 监控
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(5)
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(5)
299 0
|
存储 安全 数据处理
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(6)
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(6)
392 0
|
存储 监控 安全
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(7)
带你读《构建企业级好数据(Dataphin智能数据建设与治理白皮书)》——(三)资产治理:标准、质量、安全、资源(7)
247 0

热门文章

最新文章

相关产品

  • 智能数据建设与治理 Dataphin
  • 相关实验场景

    更多