我们正在尝试使用 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/