供 AWS 自动化过程使用的密码加密



>我有一个应用程序,可以自动创建一些AWS实例并在其上运行脚本。

每个脚本都尝试连接到远程数据库,我需要为其提供公共 DNS 主机名、数据库密码、数据库用户名等...

无需存储纯密码的最安全方法是什么?

并且不会冒着运行相同脚本的其他人能够获得这些凭据的风险?

多谢

您可以使用 AWS SSM 服务的参数存储:

参数存储集中管理配置数据 - 例如密码、许可证密钥或数据库连接字符串 - 您通常在脚本、命令或其他自动化中引用,并且 配置工作流。通过精细的安全控制进行管理 用户访问和敏感数据的强大加密,例如 密码,参数存储改善了 您的托管实例。使用参数存储加密参数是 并非在所有地区都受支持。

您将创建一个有权访问参数存储值的 IAM 角色,并将该角色分配给您正在动态创建的 EC2 实例。然后,脚本将能够使用 AWS SDK/CLI 从参数存储中检索这些值。


或者,如果数据库是支持 IAM 身份验证的 RDS 数据库(目前只有 MySQL 和 Aurora),则可以创建一个可以直接访问数据库的 IAM 角色,并将该角色分配给 EC2 实例。

最新更新