我们正在尝试使用 Vault 运行 concourse。
使用保管库的原因是以安全的方式存储 secret 。我们想要存储在 vault 中的一些参数是 github 私钥,用于访问 github 存储库,以及用于 CloudFoundry 访问的用户名和密码。这些 secret 预计不会被分享......

听起来很不错,但是,当可以访问大厅团队时,很容易恢复保管库中存储的 secret 内容。

例子:
在保管库中存储以下内容

vault write concourse/main/cat-name value=Garfield
vault write concourse/main/dog-name value=Odie

运行下一个管道将显示存储参数的内容:
jobs:
  - name: show-animal-names
  plan:
  - task: show-animal-names
  config:
    platform: linux
    image_resource:
      type: docker-image
      source:
       repository: busybox
    params:
      CAT_NAME: ((cat-name))
      DOG_NAME: ((dog-name))
    run:
      path: env

结果是:
fly -t concourse trigger-job -j publishing-outputs/show-animal-names -w
started publishing-outputs/show-animal-names #1
initializing
running env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOME=/root
CAT_NAME=Garfield
DOG_NAME=Odie
USER=root
succeeded

通过这种方式,用户名、密码、github-private-keys 以及存储在保险库中的所有其他内容,都可以为被授予访问 concourse 中更新管道的访问权限的每个人检索。

有没有办法使用大厅并将这些 secret 保密,所以不显示?

最佳答案

您是否考虑过 CredHub 以及它与 Concourse 的集成?

https://concourse-ci.org/creds.html#credhub

关于security - 如何安全地使用存储在保险库中的 github-private-key 的 concourse,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50716094/

10-11 09:14
查看更多