有没有办法避免将 AWS_SECRET_KEY 存储在 .ebextensions 上?
Is there a way to avoid storing the AWS_SECRET_KEY on the .ebextensions?
我正在 AWS Elastic Beanstalk 上部署一个基于 Django 的项目。我一直在关注 Amazon 示例,我将我的凭据 (ACCESS_KEY/SECRET) 添加到 .ebextentions 目录下的 app.config。
相同的配置文件有:
container_commands:
01_syncdb:
command: "django-admin.py migrate --noinput"
leader_only: true
02_collectstatic:
command: "django-admin.py collectstatic --noinput"
leader_only: true
问题是这迫使我将我的凭据存储在版本控制下,我想避免这种情况。
我尝试删除凭据,然后使用 "eb setenv" 添加它们,但问题是这两个 django 命令需要在环境中设置这些设置。
我正在使用 v3 cli:
eb create -db -c foo bar --profile foobar
其中 foobar
是 ~/.aws/credentials 下的配置文件名称,也是我想保存我的秘密凭据的地方
使用 EB 的 AWS 凭证的最佳安全实践是什么?
提前致谢。
一种解决方案是保留 AWS 凭据,但创建一个策略,只允许它们 POST 用于 /static 的一个存储桶上的对象。
我最终从配置文件中删除了 collecstatic 步骤,只负责在构建端上传静态数据。
之后,可以删除所有凭据,所有其他 boto 命令将从 EC2 实例上的安全角色获取凭据。
我正在 AWS Elastic Beanstalk 上部署一个基于 Django 的项目。我一直在关注 Amazon 示例,我将我的凭据 (ACCESS_KEY/SECRET) 添加到 .ebextentions 目录下的 app.config。
相同的配置文件有:
container_commands:
01_syncdb:
command: "django-admin.py migrate --noinput"
leader_only: true
02_collectstatic:
command: "django-admin.py collectstatic --noinput"
leader_only: true
问题是这迫使我将我的凭据存储在版本控制下,我想避免这种情况。
我尝试删除凭据,然后使用 "eb setenv" 添加它们,但问题是这两个 django 命令需要在环境中设置这些设置。
我正在使用 v3 cli:
eb create -db -c foo bar --profile foobar
其中 foobar
是 ~/.aws/credentials 下的配置文件名称,也是我想保存我的秘密凭据的地方
使用 EB 的 AWS 凭证的最佳安全实践是什么?
提前致谢。
一种解决方案是保留 AWS 凭据,但创建一个策略,只允许它们 POST 用于 /static 的一个存储桶上的对象。
我最终从配置文件中删除了 collecstatic 步骤,只负责在构建端上传静态数据。
之后,可以删除所有凭据,所有其他 boto 命令将从 EC2 实例上的安全角色获取凭据。