覆盖 Terraform 中的 STS API 端点时的 SignatureDoesNotMatch
SignatureDoesNotMatch when overriding STS API endpoint in Terraform
我是 运行 Terraform,位于 AWS 区域 us-west-2(俄勒冈)的私有 VPC 中。因此,我正在使用 VPC endpoints to expose the 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.
是什么导致了这个问题?在 public VPC 中应用没有端点覆盖的相同 Terraform 代码按预期工作。
我检查过的东西:
- 实例 Terraform 运行 正在显示正确的时间 (UTC)
- AWS_REGION 和 AWS_DEFAULT_REGION 环境变量设置为 us-west-2
- 我用来进行身份验证的 AWS_SECRET_ACCESS_KEY env var(连同 AWS_ACCESS_KEY_ID)仅包含 alphanumeric characters
版本:
terraform version
:Terraform v0.11.13
terraform-provider-aws
: v2.17.0
似乎 Terraform 在将 URL 发送到 AWS 之前没有对其进行清理:
provider "aws" {
endpoints {
sts = "https://sts.us-west-2.amazonaws.com" # No trailing slash
}
}
对我来说效果很好,而尾部斜线会导致你的错误
我是 运行 Terraform,位于 AWS 区域 us-west-2(俄勒冈)的私有 VPC 中。因此,我正在使用 VPC endpoints to expose the 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.
是什么导致了这个问题?在 public VPC 中应用没有端点覆盖的相同 Terraform 代码按预期工作。
我检查过的东西:
- 实例 Terraform 运行 正在显示正确的时间 (UTC)
- AWS_REGION 和 AWS_DEFAULT_REGION 环境变量设置为 us-west-2
- 我用来进行身份验证的 AWS_SECRET_ACCESS_KEY env var(连同 AWS_ACCESS_KEY_ID)仅包含 alphanumeric characters
版本:
terraform version
:Terraform v0.11.13terraform-provider-aws
: v2.17.0
似乎 Terraform 在将 URL 发送到 AWS 之前没有对其进行清理:
provider "aws" {
endpoints {
sts = "https://sts.us-west-2.amazonaws.com" # No trailing slash
}
}
对我来说效果很好,而尾部斜线会导致你的错误