如何解决如何通过 Terraform 在 Google Cloud Secret Manager 中创建秘密?
这是官方页面:https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/secret_manager_secret
我创建了这些文件:
变量.tf
.weekly_calls_form > *{
margin: 0px 5px;
}
main.tf
variable gcp_project {
type = string
}
输出.tf
resource "google_secret_manager_secret" "my_password" {
provider = google-beta
secret_id = "my-password"
replication {
automatic = true
}
}
data "google_secret_manager_secret_version" "my_password_v1" {
provider = google-beta
project = var.gcp_project
secret = google_secret_manager_secret.my_password.secret_id
version = 1
}
应用时出错:
output my_password_version {
value = data.google_secret_manager_secret_version.my_password_v1.version
}
所以我通过 gcloud cli 创建了秘密:
Error: Error retrieving available secret manager secret versions: googleapi: Error 404: Secret Version [projects/2381824501/secrets/my-password/versions/1] not found.
然后再次应用 terraform,它说 echo -n "my_secret_password" | gcloud secrets create "my-password" \
--data-file - \
--replication-policy "automatic"
。
如果用 terraform 创建一个真正有价值的秘密,怎么办?
解决方法
我发现以下文章对 Managing Secret Manager with Terraform
很有用你必须:
- 创建设置
- 创建一个名为
versions.tf
的文件来定义版本约束。 - 创建一个名为
main.tf
的文件并配置 Google provider 节:
这是使用自动复制策略创建名为“my-secret”的 Secret Manager 机密的代码:
resource "google_secret_manager_secret" "my-secret" {
provider = google-beta
secret_id = "my-secret"
replication {
automatic = true
}
depends_on = [google_project_service.secretmanager]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。