【发布时间】:2020-02-21 08:31:17
【问题描述】:
我在 Flask Python 应用程序中使用 Amazon S3,但是,我不想硬编码我的访问密钥,因为 Amazon 在公开密钥方面存在问题。有没有办法让密钥进入应用程序而不暴露它们。我看到了一个关于使用环境变量的建议和另一个关于 IAM 用户角色的建议,但文档没有帮助。
编辑:我忘了提到我正在 Docker 上部署这个应用程序并希望允许它,这样如果另一个用户从 docker 拉取图像,我的访问密钥就不会被泄露。我没有使用 AWS EC2
【问题讨论】:
-
您通常通过环境变量指定这些凭据。如果您使用的是 AWS 开发工具包,如果您在 AWS 基础设施上运行它,它还可以自动从分配给实例或容器的 IAM 角色中获取凭证。要为您获得最佳答案,您需要告诉我们更多关于您将如何运行您的应用程序。
-
我将使用 docker build 创建应用程序的 docker 映像,以与我团队的其他成员共享,以便他们可以在各个区域使用该应用程序。应用程序从 S3 存储桶下载文件并将文件上传到其中。
-
这能回答你的问题吗? stackoverflow.com/questions/36354423/…
-
不使用 EC2,我的 Flask 应用程序只使用 S3 作为文件存储选项。我只需要应用程序中的密钥不仅适用于我的本地系统,而且适用于任何其他用户,而不会损害密钥
-
这是您应该用于 AWS 的。 docs.aws.amazon.com/systems-manager/latest/userguide/…
标签: python amazon-web-services docker flask amazon-s3