【问题标题】:AWS_PROFILE not working with aws cliAWS_PROFILE 不适用于 aws cli
【发布时间】:2018-04-23 18:11:59
【问题描述】:

我的 macbook 上安装了 aws cli。我上周更新了版本,从那以后它似乎忽略了 AWS_PROFILE 环境变量?有没有人遇到过这个?我现在必须在每个语句中添加 --profile 以使其符合我喜欢的配置文件。

有谁知道可能出了什么问题或者我应该如何排除故障?

【问题讨论】:

  • 很可能你设置了AWS_DEFAULT_PROFILE,它覆盖了AWS_PROFILE。取消设置 AWS_DEFAULT_PROFILE 并尝试。
  • 遗憾的是,取消设置该变量后存在同样的问题
  • 我也有这个问题。试图弄清楚。你找到解决办法了吗?
  • 还没有,好几天没用CLI了,没时间排查问题
  • 我也有同样的问题。我必须为每个 aws cli 指定 --profile

标签: aws-cli


【解决方案1】:

根据此链接:AWS CLI environment variables Precedence

如果设置了 AWS_PROFILE 环境变量并且设置了 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 环境变量,则由 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 提供的凭证将覆盖位于由 AWS_PROFILE 提供的配置文件中的凭证。

您必须同时取消设置 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 并设置 AWS_PROFILE 才能正常工作。

unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
export AWS_PROFILE=[profile-name-here]

【讨论】:

    【解决方案2】:

    这对我来说似乎是一个错误。

    当我没有为配置文件设置任何内容时检查我的设置:

    15278-gmcdaid:~ gmcdaid$ aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
    profile                <not set>             None    None
    

    现在,设置环境变量:

    15278-gmcdaid:~ gmcdaid$ export AWS_PROFILE=foo
    

    再次检查设置:

    15278-gmcdaid:~ gmcdaid$ aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
    profile                  foo           manual    --profile
    

    您可以看到,当设置 AWS_PROFILE 时,cli 设置为使用配置文件的手动开关,而不是 env var。

    我在你发这篇文章的同时安装了 aws-cli。

    【讨论】:

    • 有趣,但它仍然将配置文件设置为 foo,所以它仍然适合您?
    • 我向开发人员提出了一个问题。如果设置了 AWS_SECRET_ACCESS_KEY 和 AWS_ACCESS_KEY_ID,似乎 AWS_PROFILE 会被忽略。 github.com/aws/aws-cli/issues/3304
    • 我的现在正在工作:) 我仔细检查了我的变量,我只将我的变量设置为 shell 变量而不是环境变量。当我这样做时,它开始工作了
    • 仍然不适合我,无论是外壳变量的环境。您能否提供更多细节或示例?
    • 我没有做太多。我正在使用鱼,所以我输入:“set -xg AWS_PROFILE myprofile”。也可以选择使用 -U 将其设置在任何地方。然后“env”显示变量,aws 配置列表按预期工作
    【解决方案3】:

    我只是将 AWS_PROFILE 设置为 shell 变量,而不是环境变量。设置为环境变量后,一切都按预期工作。

    【讨论】:

    • 我总是将AWS_PROFILE 设置为环境变量,但仍然是同样的问题。
    【解决方案4】:

    只是用另一个词重新声明并清理命令:

    运行set | grep AWS,如果您在那里看到任何凭据,那么AWS_PROFILE 将被忽略

    如果你将变量设置为

    AWS_PROFILE=boo

    不起作用。改为导出:

    export AWS_PROFILE=boo

    【讨论】:

      猜你喜欢
      • 2014-10-26
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 2022-01-16
      • 2019-01-02
      • 2016-03-06
      相关资源
      最近更新 更多