使用远程URL进行基本身份验证选项



我正在使用远程URL选项,该选项可以连接到远程web服务器以检索所需的数据。简单地使用这个,https://rundeck:test@myserver.com起作用。然而,我想以安全的方式传递密码,所以…

  • 选项1使用"安全通行证输入",从密钥存储中检索通行证,但密码不会添加到中的远程URL

  • 选项2使用远程URL,https://rundeck:${option.password.value}@myserver.com.我的远程服务器接收的密码为${option.password.value},而不是在选项1中检索到的实际密码值。我知道安全远程身份验证不能在Options中使用,但我不认为我在Rundeck的文档中看到了对我想使用安全†密码输入的限制。

最后,在安全†密码输入选项中键入密码确实会将密码添加到上述URL中。我已经测试并验证了${option.password.value}值可以在作业的步骤中传递,该部分可以工作。但是,它在级联选项中似乎不起作用。

目前,安全选项值并没有作为远程选项的一部分进行扩展,您可以在这里建议(类似于此(。或者,您可以为此创建一个特定的自定义插件。

另一种方法是设计一个工作流,该工作流使用HTTP工作流步骤插件(在URL中传递安全密码作为身份验证的一部分(来访问web服务+JQ筛选器以生成所需的数据,然后在另一个/步骤中,您可以使用数据变量获取该数据。

像这样:

- defaultTab: nodes
description: ''
executionEnabled: true
id: 7f34f7ff-c4a3-4616-a2aa-0df491450366
loglevel: INFO
name: HTTP
nodeFilterEditable: false
options:
- name: mypass
secure: true
storagePath: keys/password
valueExposed: true
plugins:
ExecutionLifecycle: null
scheduleEnabled: true
sequence:
commands:
- configuration:
authentication: None
checkResponseCode: 'false'
method: GET
printResponse: 'true'
printResponseToFile: 'false'
proxySettings: 'false'
remoteUrl: https://user:${option.mypass}@myserver.com
sslVerify: 'true'
timeout: '30000'
nodeStep: false
plugins:
LogFilter:
- config:
filter: .
logData: 'true'
prefix: result
type: json-mapper
type: edu.ohio.ais.rundeck.HttpWorkflowStepPlugin
- exec: echo "name 2 is ${data.Name2}"
keepgoing: false
strategy: node-first
uuid: 7f34f7ff-c4a3-4616-a2aa-0df491450366

相关内容

最新更新