rundeck - 开源:配置属性文件中 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 Enterprise,也许 Rundeck Community 上最好的方法是rundeck-config.properties
通过文件 UNIX 权限来保护文件。
推荐阅读
- json - 拆分 JSON 文件的特定部分并将其导出
- jekyll - 为什么我的 Jekyll 图片资源只显示在本地主机上?
- python - 使用查找值创建新的 pandas 数据框
- php - Laravel 登录不起作用,给出 419 页面过期错误
- python - NLTK 情绪评估器:用分数构建饼图
- python - 无法接收碎片 ICMP Echo 请求的应答
- javascript - 为什么 JavaScript 全局函数不调用任何东西?
- angular - CanDeactivate Route Guard 即使单击取消按钮,也将选定的路由显示为活动的
- javascript - 变量不是全局变量或文件系统读取文件太慢
- arrays - TypeScript 如何推断数组字面量的元素类型?