首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当在Terraform中重写STS端点时,SignatureDoesNotMatch

当在Terraform中重写STS端点时,SignatureDoesNotMatch
EN

Stack Overflow用户
提问于 2019-07-02 19:52:42
回答 1查看 1.2K关注 0票数 3

我运行的地形在AWS地区,美国-西部-2(俄勒冈州)在一个私人VPC。因此,我使用VPC端点公开STS API,并在Terraform中覆盖这个端点,如下所示:

代码语言:javascript
复制
provider "aws" {
  endpoints {
    sts = "https://sts.us-west-2.amazonaws.com/"
  }
}

不幸的是,这会导致以下错误:

代码语言:javascript
复制
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正在显示正确的时间(UTC)。
  • AWS_REGION和AWS_DEFAULT_REGION env设置为us-west-2。
  • 我用于身份验证的AWS_SECRET_ACCESS_KEY env var (连同AWS_ACCESS_KEY_ID)只包含字母数字字符

版本:

  • terraform version:Terraform v0.11.13
  • terraform-provider-aws:v2.17.0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-03 07:48:21

在将URL发送到AWS之前,terraform似乎没有对它们进行消毒:

代码语言:javascript
复制
provider "aws" {
  endpoints {
    sts = "https://sts.us-west-2.amazonaws.com" # No trailing slash
  }
}

只是对我来说很好,而尾随斜杠会导致您的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56859206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档