我运行的地形在AWS地区,美国-西部-2(俄勒冈州)在一个私人VPC。因此,我使用VPC端点公开STS API,并在Terraform中覆盖这个端点,如下所示:
provider "aws" {
endpoints {
sts = "https://sts.us-west-2.amazonaws.com/"
}
}不幸的是,这会导致以下错误:
provider.aws: error validating provider credentials: error calling sts:GetCallerIdentity: SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.是什么导致了这个问题?在公共VPC中应用相同的Terraform代码,而不使用端点覆盖,效果如出一辙。
我检查过的东西:
版本:
terraform version:Terraform v0.11.13terraform-provider-aws:v2.17.0发布于 2019-07-03 07:48:21
在将URL发送到AWS之前,terraform似乎没有对它们进行消毒:
provider "aws" {
endpoints {
sts = "https://sts.us-west-2.amazonaws.com" # No trailing slash
}
}只是对我来说很好,而尾随斜杠会导致您的错误。
https://stackoverflow.com/questions/56859206
复制相似问题