我有一个应用程序可以自动创建一些AWS实例并在其上运行脚本。
每个脚本都尝试连接到我需要提供公共DNS主机名,数据库密码,数据库用户名等的远程数据库......
无需存储普通密码,最安全的方法是什么?
并且没有冒险让其他人运行相同的脚本能够获得这些凭据?
非常感谢
答案 0 :(得分:1)
您可以使用AWS SSM service's Parameter Store:
参数存储集中管理配置数据 - 例如密码,许可证密钥或数据库连接字符串 - 这些 您通常在脚本,命令或其他自动化中引用 配置工作流程。使用粒度安全控件进行管理 用户访问和敏感数据的强加密,如 密码,参数存储改善了整体的安全状态 您的托管实例。使用Parameter Store加密参数是 并非所有地区都支持。
您将创建一个可以访问Parameter Store值的IAM角色,并将该角色分配给您正在动态创建的EC2实例。然后,该脚本将能够使用AWS SDK / CLI从参数存储中检索这些值。
或者,如果数据库是RDS数据库that supports IAM authentication(此时只有MySQL和Aurora),那么您可以创建一个可以直接访问数据库并将该角色分配给EC2实例的IAM角色。 / p>