一千萬個為什麽

搜索

與Jenkins一起使用Vault SSH OTP後端



我正在設立保險庫來存儲秘密。使用OTP身份驗證的SSH後端看起來像是一種停止管理SSH密鑰以訪問的好方法。

我有SSH後端工作,並且正在通過SSH-OTP身份驗證連接Jenkins,以便我可以刪除部署密鑰。

我查看了Jenkins的保險庫插件,但他們只能用於從Vault獲取秘密。

有沒有插件或任何Jenkins黑客為此目的,或者如果沒有,是否有可能寫我自己的?

轉載註明原文: 與Jenkins一起使用Vault SSH OTP後端

一共有 1 個回答:

我看了Jenkins插件的保險庫,但他們只能用於從Vault獲取秘密。

這取決於當前配置如何用於部署應用程序。

https://github.com/jenkinsci/hashicorp-vault-plugin

如果使用Jenkins管道,那麽可以使用Hashicorp庫中定義的keyId替換keyId。

  node {
  //定義秘密和env變量
  def secrets = [
      [$ class:'VaultSecret',路徑:'secret/testing',secretValues:[
          [$ class:'VaultSecretValue',envVar:'testing',vaultKey:'value_one'],
          [$ class:'VaultSecretValue',envVar:'testing_again',vaultKey:'value_two']]],
      [$ class:'VaultSecret',路徑:'secret/another_test',secretValues:[
          [$ class:'VaultSecretValue',envVar:'another_test',vaultKey:'value']]]
  ]

  //可選配置,如果你沒有提供這個更高的配置
  //(例如文件夾或全局)將被使用
  def configuration = [$ class:'VaultConfiguration',
                       vaultUrl:'http://my-very-other-vault-url.com',
                       vaultCredentialId:'my-vault-cred-id']

  //在此塊內,您的憑證將作為env變量提供
  wrap([$ class:'VaultBuildWrapper',configuration:configuration,vaultSecrets:secrets]){
      sh'echo $ testing'
      sh'echo $ testing_again'
      sh'echo $ another_test'
  }
}
</代碼>