如何在开发模式应用程序中禁止共享 aws 凭据

How to suppress shared aws credentials in development-mode app

为了使用 aws 命令行工具,我将 aws 凭据存储在 ~/.aws/credentials

当我在本地 运行 我的应用程序时,我希望它需要应用程序的正确 IAM 权限;我希望它从环境变量中读取这些权限。

发生的事情是,即使没有定义这些环境变量——即使没有定义权限——我的应用程序也允许调用 aws,而这本不应被允许,因为它 运行 在具有开发人员凭据的系统上运行。

我如何才能 运行 我的应用程序在我的系统上(而不是在容器中),而不用破坏我需要的 aws 命令行凭据,但让应用程序忽略这些凭据?我已经尝试在我的启动脚本中将 AWS_PROFILE 环境变量设置为一个不存在的值,但这没有帮助。

我喜欢使用命名配置文件和 运行 2 套凭据,例如 DEV 和 PROD。

当你想运行制作简介时,运行export AWS_PROFILE=PROD

然后return以同样的方式添加到DEV凭据。

这里的诀窍是根本没有默认凭据,只使用命名配置文件。删除凭据文件中名为 default 的凭据,并仅替换为指定的配置文件。

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html