尝试获取调用者身份时出现 InvalidClientTokenId 错误 aws

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

嗨,我无法运行此命令

aws sts get-caller-identity

当我这样做时

sudo nano ~/.aws/credentials
我只能找到这个

[default]
aws_access_key_id = my_id
aws_secret_access_key = my_secret_id

在成功执行命令步骤

aws configure
后,当我执行
aws sts get-caller-identity
时,我收到此错误

调用 GetCallerIdentity 操作时发生错误(InvalidClientTokenId):请求中包含的安全令牌无效。

有什么原因可能导致这种情况?

amazon-web-services aws-cli aws-sts
3个回答
9
投票

有时此类问题是由其他凭据配置引起的。

环境变量凭证配置优先于凭证配置文件。 因此,如果存在环境变量“AWS_ACCESS_KEY_ID”、“AWS_SECRET_ACCESS_KEY”或“AWS_SESSION_TOKEN”,如果配置错误或已过期,可能会产生问题。

尝试检查与 AWS 凭证关联的环境变量,并使用 Linux 中的“unset”命令删除它们。

此外,要永久删除环境变量,您需要删除配置文件中的相关行,例如:

  • /etc/环境
  • /etc/配置文件
  • ~/.profile
  • ~/.bashrc

参考:

配置设置和优先级


2
投票

我的默认区域默认被禁用(eu-south-1),所以我必须首先通过 Web 控制台启用它,然后它就可以工作了。


0
投票

AWS_REGION

不要忘记导出该区域,否则会一直失败。当您从 AWS UI 复制凭证时,它不会复制或导出该区域。

例如导出 AWS_REGION=us-gov-east-1

最好将其放在您的个人资料中,例如 bash_profile 或 zshrc

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