【问题标题】:Deploying sensitive data using ansible-vault使用 ansible-vault 部署敏感数据
【发布时间】:2020-10-03 10:42:48
【问题描述】:

我想使用 Ansible 和 Ansible-Vault 部署一个包含敏感数据的 docker-compose 应用程序。 Ansible 将存储库克隆到服务器,将其移动到适当的位置并启动 Docker 容器。 应用程序在 docker-compose.yaml 文件的子路径中包含带有环境变量的敏感文件。

如何隐藏文件的敏感部分,同时保持其余部分完好无损?我知道,可以使用 ansible-vault 加密变量并在 Ansible 内部调用,但我需要在服务器上以明文形式使用它们。还是有别的办法?

基本上我想在 docker-compose 应用程序的存储库中留下尽可能多的信息,并且只使用 Ansible 部署敏感数据。我想简单地将所有环境文件放在 Ansible 中并加密敏感部分,但这个解决方案将信息拆分到两个我不喜欢的存储库中。

【问题讨论】:

    标签: ansible


    【解决方案1】:

    docker-compose 文件支持reading environment variables from a file,因此,我猜您可能只想按原样复制 docker compose 文件,该文件仅包含明文,然后写出包含使用加密的秘密的环境文件安全保险库

    给定一个 docker 组成大约:

    services:
      hello:
        image: busybox
        env_file:
        - /run/hello.env
    

    那么剧本应该是这样的:

    tasks:
    - copy:
        dest: /run/hello.env
        content: |
           SUPER_SEKRIT={{ the_vaulted_value }}
        mode: '0600'
    

    我实际上并没有尝试过这个特定的解决方案,所以这就是我说“类似”的原因......

    【讨论】:

      猜你喜欢
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 2011-08-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2020-11-10
      相关资源
      最近更新 更多