首页 > 解决方案 > 开源:配置属性文件中 JDBC 密码的加密

问题描述

正如我注意到一个可用于企业版的插件(https://download.rundeck.com/plugins/encrypted-datasource-plugin.html);Rundeck 开源用户是否可以选择在配置文件中执行相同类型的数据源密码加密?

我注意到许多人提到编写自己的 java 程序并利用 Jasypt 实用程序;我试过这个。我确实有两个 jar 文件(一个用于加密,一个用于解密)。我创建了一个名为: /var/lib/rundeck/lib 的目录(因为我使用的是基于 rpm 的 Rundeck 3.3 安装)。我通过以下方式将此目录添加到 /etc/sysconfig/rundeckd 中的 JVM 类路径中export RDECK_JVM_SETTINGS="-Djava.class.path=/var/lib/rundeck/lib/*":我将 /etc/rundeck/rundeck-config.properties 文件转换为 groovy 格式,并将 /etc/sysconfig/rundeck 更新为export RDECK_CONFIG_FILE="/etc/rundeck/rundeck-config.groovy":但是,当我将 datasource.password 的 /etc/rundeck/rundeck-config.groovy 条目更改为 datasource.password=MyDecrypt("MyTest123Password"):重新启动后,我在 Rundeck 日志中收到错误消息:

[2020-09-08T18:01:03,168] WARN context.AnnotationConfigServletWebServerApplicationContext - 上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建名为“application”的bean时出错:bean初始化失败;嵌套异常是 groovy.lang.MissingMethodException:没有方法签名:groovy.util.ConfigSlurper$_parse_closure5.MyDecrypt() 适用于参数类型:(字符串)值:[MyTest123Password]

有什么建议么?

标签: rundeck

解决方案


那是加密仅适用于 Rundeck Enterprise,也许 Rundeck Community 上最好的方法是rundeck-config.properties通过文件 UNIX 权限来保护文件。


推荐阅读