我正准备为我的Web应用程序设置HashiCorp Vault,虽然HashiCorp提供的示例很有意义,但我不太清楚预期的生产设置应该是什么。
在我的情况下,我有:
- 一小撮AWS EC2实例为我的Web应用程序提供服务 - 一些EC2实例为Jenkins提供持续部署服务
我需要:
- 我的配置软件(Ansible)和Jenkins能够在部署期间读取密码 - 允许公司员工根据需要读取密码,并且可能为某些类型的访问生成临时密码。
我可能会使用S3作为Vault的存储后端。
我遇到的问题是:
1. Vault是否应在所有EC2实例上运行,并侦听127.0.0.1:8200? 2. 或者,我创建一个实例(可能是2个以实现高可用性),只运行Vault,并使其他实例/服务根据需要连接到这些实例以访问密码? 3. 如果我需要员工能够从他们的本地机器访问密码,那该怎么办?他们是否应该在本地针对S3存储设置Vault,或者应该从步骤2的远程服务器的REST API中获取他们的密码? 4. 并且要明确的是,任何运行Vault的机器,如果重新启动,则需要再次解封Vault,这似乎是涉及x个密钥持有人的手动过程?
在我的情况下,我有:
- 一小撮AWS EC2实例为我的Web应用程序提供服务 - 一些EC2实例为Jenkins提供持续部署服务
我需要:
- 我的配置软件(Ansible)和Jenkins能够在部署期间读取密码 - 允许公司员工根据需要读取密码,并且可能为某些类型的访问生成临时密码。
我可能会使用S3作为Vault的存储后端。
我遇到的问题是:
1. Vault是否应在所有EC2实例上运行,并侦听127.0.0.1:8200? 2. 或者,我创建一个实例(可能是2个以实现高可用性),只运行Vault,并使其他实例/服务根据需要连接到这些实例以访问密码? 3. 如果我需要员工能够从他们的本地机器访问密码,那该怎么办?他们是否应该在本地针对S3存储设置Vault,或者应该从步骤2的远程服务器的REST API中获取他们的密码? 4. 并且要明确的是,任何运行Vault的机器,如果重新启动,则需要再次解封Vault,这似乎是涉及x个密钥持有人的手动过程?