我正在使用 terraform 和 kubectl 来部署基础架构和应用程序。
由于我更改了 aws configure :terraform init
terraform apply
我总是得到:
terraform apply
Error: error validating provider credentials: error calling sts:GetCallerIdentity: InvalidClientTokenId: The security token included in the request is invalid.
status code: 403, request id: 5ba38c31-d39a-11e9-a642-21e0b5cf5c0e
on providers.tf line 1, in provider "aws":
1: provider "aws" {
你能建议吗?欣赏 !
最佳答案
来自 here .
这是一个一般错误,可能由几个原因引起。
一些例子:
1) 作为环境变量或在 ~/.aws/credentials
中传递的无效凭据.
解决方案:删除旧的配置文件/凭据并清理所有环境变量:
for var in AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN AWS_SECURITY_TOKEN ; do eval unset $var ; done
2) 当您的
aws_secret_access_key
包含加号 +
等字符或多个正斜杠 /
.在 here 中查看更多信息.解决方案:删除凭据并生成新凭据。
3) 当您尝试在必须显式启用(但未启用)的区域内执行 Terraform 时。
(在我的例子中,它是
me-south-1 (Bahrain)
- 在 here 中查看更多信息)。解决方案:启用区域或移动到启用的区域。
4) 如果您使用第 3 方工具,例如 Vault并且不提供有效的 AWS 凭证进行通信 - 查看更多信息 here .
都会导致aws失败
sts:GetCallerIdentity
API。
关于amazon-web-services - InvalidClientTokenId : The security token included in the request is invalid. 状态码:403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57865825/