无法从~/加载AWS凭据.Aws /config和~/.aws /凭证文件



在项目路径中输入aws configure list命令后,我得到:

Name                    Value             Type    Location
----                    -----             ----    --------
profile                <not set>             None    None
access_key     ****************skey              env    
secret_key     ****************tkey              env    
region                <not set>             None    None

我的~/.aws/credentials~/.aws/config如下所示:

~/.aws/credentials

[default]
aws_access_key_id=xxx
aws_secret_access_key=xxx

~/.aws/config

[default]
region=us-east-1
output=json

我尝试在这个项目的路径中设置aws configure,但是唯一改变的是区域:

Name                    Value             Type    Location
----                    -----             ----    --------
profile                <not set>             None    None
access_key     ****************skey              env    
secret_key     ****************tkey              env    
region               us-east-01      config-file    ~/.aws/config

结论:即使~/.aws/credentials~/.aws/config是正确的,我试图将它们设置在项目路径中,它仍然不能正确读取凭据。唯一的变化是在区域中,因为它被设置为none;其余部分仍然从env

读取如何取消这些凭据并使它们从上述文件中读取(默认用户)?

我手动使用unset:

unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY

之后,从文件中读取访问密钥和秘密密钥:

Name                    Value             Type     Location
----                    -----             ----    --------
profile                <not set>             None    None
access_key     ****************AYX   shared-credentials-file    
secret_key     ****************vwT   shared-credentials-file    
region               us-east-01      config-file    ~/.aws/config

我尝试使用下面的命令设置default配置文件,现在它读取它为default,但typeenv-而不是shared-credentials-file~/.aws/config~/.aws/credential文件。

export AWS_DEFAULT_PROFILE=default

这似乎有效,但我不认为这是一个有效的解决方案…

AWS CLI凭据和配置设置按以下顺序优先:

  1. 命令行选项(——region,——output,和——profile)
  2. <
  3. 环境变量/gh>
  4. CLI凭证文件
  5. CLI配置文件
  6. <
  7. 容器凭证/gh>
  8. EC2实例配置文件凭证

因此,要强制AWSCLI从~/.aws/中的凭据/配置文件中读取默认配置,请不要在命令行中提供--profile,也不要设置AWS_PROFILE或AWS_ACCESS_KEY_ID环境变量。

查看配置设置和优先级。

另外,我在AWS CLI支持的环境变量中没有看到AWS_DEFAULT_PROFILE。我相信它在一段时间以前就被弃用了,取而代之的是AWS_PROFILE。

最新更新