【发布时间】:2019-12-26 18:22:52
【问题描述】:
我们已经为一台服务器安装和配置了 Hashicorp Vault AppRole 身份验证,方法是将 role_id 和 secret_id 存储在服务器上的本地文件中,并且我们能够让服务器上的代码从文件中读取值,向 Vault 进行身份验证,接收令牌,然后从 Vault 读取它需要的秘密。到目前为止,一切都很好。但是,secret_id 会在 31 天后过期,因此流程会失败。
我已经阅读了使用 AppRoles 的概念,它们似乎非常适合我们的用例,但在此到期之前。我们不想每个月都重新生成secret_id。
根据我的阅读,如果您在没有设置secret_id_ttl 的情况下创建角色,它应该不会过期,但事实并非如此。这可能是由于 AppRole 身份验证方法的配置方式,但我没有看到任何可靠的东西。
所以我找到了一个article on the Hashicorp website,其中详细讨论了 AppRoles。这篇文章为在 CI/CD 环境中过期 secret_id 提供了很好的论据,甚至通过 8 个简单的步骤说明了它是如何工作的。我了解这是如何工作的,但文章没有提到 CI/CD 和 Orchestrator 系统本身是如何工作的已通过 Vault 验证?还是我错过了什么?
最后,我希望secret_id 不会过期。永远。
【问题讨论】:
-
我认为这里的根本误解是 Vault 希望机密是动态的——这意味着出于安全目的按需生成和短暂存在。如果您不想频繁轮换机密,Vault 不适合这样做。
标签: hashicorp-vault app-secret