Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Terraform中的Vault读取GCP凭据?_Terraform_Hashicorp Vault_Terraform Provider Gcp - Fatal编程技术网

从Terraform中的Vault读取GCP凭据?

从Terraform中的Vault读取GCP凭据?,terraform,hashicorp-vault,terraform-provider-gcp,Terraform,Hashicorp Vault,Terraform Provider Gcp,我们决定使用Vault来管理GCP凭据,而不是在本地的某个地方使用GCP凭据 下面的代码应该可以实现这个魔术。但是,在运行terraform plan时,我总是收到一个错误: Error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information. 我们使用的代码如

我们决定使用Vault来管理GCP凭据,而不是在本地的某个地方使用GCP凭据

下面的代码应该可以实现这个魔术。但是,在运行
terraform plan
时,我总是收到一个错误:

Error: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
我们使用的代码如下:

# Requires env variables VAULT_ADDR and VAULT_TOKEN set.
provider "vault" {
  token_name = "terraform"
}

data "vault_generic_secret" "gcp_credentials" {
  path = "kv/terraform/gcp/credentials"
}

provider "google-beta" {
  credentials = data.vault_generic_secret.gcp_credentials.data_json
  project     = "mip-ppr"
}

我还需要创建一个普通的
google
提供者

添加此项解决了我的问题:

provider "google" {
  credentials = data.vault_generic_secret.gcp_credentials.data_json
  project     = "mip-ppr"
}

我还需要创建一个普通的
google
提供者

添加此项解决了我的问题:

provider "google" {
  credentials = data.vault_generic_secret.gcp_credentials.data_json
  project     = "mip-ppr"
}

我忘记了Vault的Terraform提供程序是否支持KV secrets引擎之外的内容,但我认为您需要GCP secrets引擎来实现这一点。我忘记了Vault的Terraform提供程序是否支持KV secrets引擎之外的内容,但我认为您需要GCP secrets引擎来实现这一点。