首页 > 解决方案 > 如果 AWS_SECRET_KEY 必须存储在 EBS 环境变量中,AWS Secrets Manager 如何在 Elastic Beanstalk 应用程序中安全使用?

问题描述

我有以下设置:

我曾经将数据库密码(和其他凭据)存储在 Beanstalk 环境变量中,但不想再以纯文本形式存储。

我现在将它们存储在 AWS Secret Manager 中,但是为了让应用程序能够获取密钥,AWS_ACCESS_KEY_ID 和 AWS_SECRET_KEY 需要在 Laravel 中可用,以便它们可以用于 AWS SDK 和我们的 AWS 之间的通信设置。

这让我回到了第 1 点,因为如果我没记错的话,对访问密钥和秘密的访问也允许访问秘密管理器。

我在这里想念什么?

标签: phplaravelamazon-web-servicesamazon-elastic-beanstalkaws-secrets-manager

解决方案


我现在将它们存储在 AWS Secret Manager 中,但是为了让应用程序能够获取秘密,

不必这样做就像使用常规 EC2 实例一样,在 EB 中,您使用EB instance profile授予 SM 或其他 AWS 资源的权限。

这样,您的 ENV 就没有任何 AWS 密钥,AWS SDK 会自动查询实例上的配置文件以获取临时 AWS 凭证以访问 SM。如果您想“手动”获取这些凭据,您也可以自己查询元数据。


推荐阅读