我的 AWS 凭证在 ~/.aws/credentials 中不起作用,但它们可以作为环境变量使用

问题描述 投票:0回答:1

在我的 Ubuntu docker 容器中,我运行时出现以下错误:

$ aws ssm start-session --target mi-XYZ

An error occurred (BadRequest) when calling the StartSession operation: Enable advanced-instances tier to use Session Manager with your on-premises instances

但是,在我的 Macbookpro 上,我可以运行相同的命令并且运行良好。在这两种环境中,我的

~/.aws/credentials
文件包含完全相同的信息。我可以识别的唯一区别是我的 docker 实例运行的是 AWS CLI v2.15,而我的 MBP 运行的是旧版本 (v2.11)。除此之外,凭证对其中一个有效,但对另一个无效。

有趣的是,每当我只是将凭据导出为环境变量(例如我的访问密钥、秘密密钥和令牌)时,它都可以正常工作。

无论出于何种原因,我的 Ubuntu docker 容器似乎无法识别或使用

~/.aws/credentials
文件来引用我的 AWS 凭证。当我在 docker 容器中运行
aws configure
时,提示中已经包含了我的凭据,因此它似乎在某种程度上识别了它。

我可以检查什么来尝试解决此问题?

amazon-web-services docker aws-cli
1个回答
0
投票

原来是因为这些环境变量已经设置了(即使值是错误的)。取消设置这些环境变量后,AWS CLI 开始使用

~/.aws/credentials
文件中的凭证。

© www.soinside.com 2019 - 2024. All rights reserved.