对于我们的产品,我们决定实施一个秘密管理工具(AWS 秘密管理器),它将安全地存储和管理我们所有的秘密,例如数据库凭证、密码和 API 密钥等。
通过这种方式,秘密不会存储在代码、数据库或应用程序的任何地方。我们必须提供 AWS 凭证 - 访问密钥 ID 和秘密访问密钥,以便以编程方式访问 Secrets manager 的 API。
现在出现的最大问题是,该初始信任(用于验证 AWS 机密管理器的凭证)保存在哪里。这是一个引导问题。同样,我们必须在秘密存储之外、配置文件或其他地方维护一些东西。我觉得如果这受到损害,那么将所有内容存储在秘密管理工具中就没有真正的意义。
我阅读了 AWS SDK 开发人员指南,并了解有一些标准方法可以存储 AWS 凭证,例如 - 将它们存储在环境变量中、具有不同配置文件的凭证文件中以及通过对 Amazon EC2 实例使用 IAM 角色。
我们不在亚马逊云中运行/托管我们的应用程序,我们只想使用来自 AWS 云的 AWS 机密管理器服务。因此,配置 IAM 角色可能不是我们的解决方案。
是否有任何最佳实践(或)保存初始信任凭证的最佳位置?