【问题标题】:Securing the credentials for a user provided service in bambo.yml保护 bambo.yml 中用户提供的服务的凭据
【发布时间】:2021-09-13 09:04:32
【问题描述】:

我在竹子,yml 中使用以下命令创建了一个用户提供的服务

cf cups my-service -p '{"url":"https://some-url.com","username":"admin","password":"admin"}'

由于这些凭据在应用程序的环境变量中可见并且可能在某处泄漏,因此我将上述命令更改为使用 credhub,如下所示

cf create-service credhub default my-service -c '{"url":"some-url.com","username":"admin","password":"admin"}'

这里我使用了 credhub,但是这个命令也放在了竹子.yml 文件中,所以凭据仍然对应用程序开发人员开放。 有什么不同的方法可以保护这些凭据,而不是将它们直接放在bamboo.yml 中?

【问题讨论】:

    标签: devops cloud-foundry bamboo bamboo-specs


    【解决方案1】:

    想想如果没有竹子.yaml 你会怎么做。也许您应该将凭据放入秘密变量(如果变量名称中有秘密或密码部分 Bamboo 将对其进行加密),然后在您的命令中引用它

    【讨论】:

    • 是的,这是可以实施的可能选项之一。 .
    • 另外,使用/bamboo/specs/encryption.action 加密密码,这样即使在 yaml 规范中也不会是明文形式。见confluence.atlassian.com/bamboo/…
    【解决方案2】:

    有几个选项:

    1. 您可以将任何您想要的内容放入您在 ups 上设置的属性中,即用户提供的服务。它可以是纯文本或加密文本。如果您放置加密文本,您的应用程序将需要了解如何解密文本以便使用它。该平台只传递您在用户提供的服务上设置的属性。

    2. 您可以使用 spring vault 或外部 vault 实例与 hashcorp 服务代理 https://github.com/hashicorp/cf-vault-service-broker 以安全的方式在您的应用程序中检索/存储凭据

    3. 另一种选择可能是将配置存储在云配置中,例如 Spring Cloud Config,但仍建议使用 Vault 作为凭据。然后,您可以将其作为服务器运行,并为正在运行的应用程序提供配置。不过对于小型项目,这可能是开销。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-03
      • 1970-01-01
      • 2013-03-02
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      相关资源
      最近更新 更多