aws cli get error“请求中包含的安全令牌无效”

时间:2016-10-22 23:41:23

标签: aws-cli

我做了aws configure并测试过它之前的工作。但它今天没有用,我在尝试获取托管区域时遇到了错误

 $ aws route53 list-hosted-zones

 An error occurred (InvalidClientTokenId) when calling the ListHostedZones operation: The security token included in the request is invalid.

我删除了〜/ .aws并再次aws configure,但我仍然遇到了同样的错误。 能否请你帮忙?谢谢!

2 个答案:

答案 0 :(得分:3)

您的帐户是否启用了MFA?您可能必须运行

aws sts get-session-token

有关如何将MFA与cli一起使用的详细信息记录在案here

答案 1 :(得分:1)

启用MFA后,您将必须通过在以后的每个请求中执行
aws sts get-session-token时收到的临时凭据。

具有环境变量:

export AWS_ACCESS_KEY_ID=XXX
export AWS_SECRET_ACCESS_KEY=YYY
export AWS_DEFAULT_REGION=us-east-2
export AWS_SESSION_TOKEN=ZZZ

具有命名的个人资料:

[mfa]
aws_access_key_id = XXX
aws_secret_access_key = YYY
aws_session_token = ZZZ

An error occurred (InvalidClientTokenId) ... 如果您忘记删除以前的临时凭据,可能会反复发生错误。

因此,如果您使用的是环境变量,请不要忘记在重新执行aws sts get-session-token之前取消设置所有变量:

unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN

如果您使用的是命名配置文件-请不要忘记在.aws/credentials下更新配置文件。