您可以使用 terraform 在 GCP 上创建用户吗?

问题描述 投票:0回答:2

嘿,我正在尝试在 GCP 上的 IAM 中创建新用户,并使用 terraform 实现自动化,我知道您可以使用

aws_iam_user
在 AWS 上执行此操作,GCP 上是否有类似的功能?我看到
google_project_iam_member
,但它不会创建新用户,但预计已经有一个用户。

PS 错误消息看起来像这样

Error: Request "Create IAM Members roles/storage.objectViewer 
user:[email protected] for \"project \\\"<my-project-id>\\\"\"" returned 
error: Error applying IAM policy for project "<my-project-id>": Error 
setting IAM policy for project "<my-project-id>": googleapi: Error 400: 
User [email protected] does not exist., badRequest

代码很简单

provider "google" {
  credentials = file(var.credentials)
  project = var.project_name
  region  = var.region
}

resource "google_project_iam_member" "member" {
  project = var.project_id
  role    = "roles/storage.objectViewer"
  member  = "user:[email protected]"
}
google-cloud-platform terraform
2个回答
2
投票

这很尴尬,也许不是,只是我的误解。您并没有真正创建用户 - 该用户只是一个 Google 帐户用户 - 有自己的密码、关联的电话等 - 您无法在 gcp (google) 上创建新用户 - 您只能允许现有用户在您的帐户中拥有某些角色GCP 项目/组织。

PS:感谢@Hitobat 的建议


1
投票

您需要另一个提供商来执行 admin.google.com 任务: https://registry.terraform.io/providers/hashicorp/googleworkspace/latest/docs

GCP IAM 依赖于通过 Workspace(最常见)提供的用户或通过其托管 Active Directory 服务(实际上是 GCP 的一部分,以及 GCP 项目中的托管服务)配置的用户。 Workspace 从技术上讲不是 GCP 的一部分,但密切相关:它为 GCP 提供身份提供商服务。 Workspace 帐户可以来自使用 Workspace 的任何(计费)帐户(例如 gmail.com)。

© www.soinside.com 2019 - 2024. All rights reserved.