听说Kettle 数据库JNDI方式数据库密码不能加密,搞他!

 

Kettle数据库明文密码加密

 

 

Kettle 数据库JNDI方式数据库密码不能加密,搞他!

logo.png

 

 

 

1

新建数据库连接

 

 

kafka-apis.png

 

1.1 普通局部变量

Step 1: 选择连接类型,这里选择Oracle

Step 2: 连接方式选择Native(JDBC)

Step 3: 右侧填写数据库连接信息

Step 4: 点击【测试】,保存即可

 

kafka-apis.png

 

1.2 变量局部配置

Step 1: 在家目录下找到.kettle文件夹,适用linux和windows

Step 2: 编辑[.kettle/kettle.properties],加入

STAT_IP=host
STAT_PORT=port
STAT_DB=数据库
STAT_USER=用户
STAT_PWD=密码

Step 3: 重启Kettle,如图所示,使用 ${}引用变量 即可

Step 4: 点击【测试】,保存即可

 

kafka-apis.png

 

 

kafka-apis.png

 

1.3 全局配置

Step 1: 选择连接类型,这里选择Oracle

Step 2: 连接方式选择JNDI

Step 3: 右侧填写JNDI编写的名称(名称是jdbc.properties内‘/’前的名称,如下面的stat)

Step 4: 点击【测试】,保存即可

  • JNDI模板如下

#Oracle
stat/type=javax.sql.DataSource
stat/driver=oracle.jdbc.driver.OracleDriver
stat/url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = port))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = serviceInstance)))
stat/user=
stat/password=

#MySql
mysql/type=javax.sql.DataSource
mysql/driver=com.mysql.jdbc.Driver
mysql/url=jdbc:mysql://host:port/db?useUnicode=true&characterEncoding=utf-8
mysql/user=
mysql/password=

 

kafka-apis.png

 

 

kafka-apis.png

 

 

 

 

2

数据库密码加密

 

企业安全规定都会要求明文密码加密,接下来操作会很重要。

2.1 普通局部配置

 

在数据库连接里面直接写密码,在保存的时候,kettle 会自动对密码进行加密处理。

 

kafka-apis.png

 

2.2 变量局部配置

在kettle目录下会看到Encr.bat这样一个命令行工具,在当前目录打开cmdEncr.bat -kettle password,会生成出一串加密串。(linux 下是Encr.sh)

将Encrypted xxxxxxxxxxxxx在kettle.properties替换即可,STAT_PWD=Encrypted xxxxxxxxxxxxx

 

kafka-apis.png

 

2.3 全局配置

测试发现,JNDI全局配置方式不支持明文加密。

 

》》》一言不合,直接撸源码

kettle 8.2 引用 simple-jndi-1.0.0.jar,在获取数据库连接前没有解密操作。

 

kafka-apis.png

 

github上simple-jndi-1.0.3.jar 版本已经加上明文加密处理。看来已经有大佬解决了,一梭子就是干!!!

 

kafka-apis.png

 

https://github.com/pentaho/pentaho-simple-jndi/blob/master/src/main/java/org/osjava/sj/loader/SJDataSource.java

》》》》开搞

下载源码到本地,编译,打包。

注意:parent-pom 也需要编译 ,https://github.com/pentaho/maven-parent-poms

 

kafka-apis.png

 

  • 下面有编译好的jar 见云盘

链接: https://pan.baidu.com/s/17bmq4Oy1gKtk9c6fna-L2Q 提取码: ub7c

 

kafka-apis.png

 

》》》》升级

simple-jndi-1.0.3.jar,pentaho-encryption-support-9.1.0.0-20200803.052023-95.jar

  • 将上面两个jar放到$KETTLE_HOME/data-integration/lib下

  • 两个jar的其他版本请备份,之后重启Kettle

kafka-apis.png

 

 

》》》》测试

simple-jndi-1.0.3.jar,pentaho-encryption-support-9.1.0.0-20200803.052023-95.jar

  • 将上面两个jar放到$KETTLE_HOME/data-integration/lib下

  • 两个jar的其他版本请备份,之后重启Kettle

 

kafka-apis.png

 

kafka-apis.png

 

 

kafka-apis.png

 

 

 

 

3

数据库连接方式推荐

 

  • 数据库连接方式JNDI

  • JNDI名称使用变量局部配置

 

consumer-groups.png

 

 

consumer-groups.png

 

consumer-groups.png

 

 

 

长按,扫码,关注

及时收看更多精彩内容

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值