使用GCP令牌、地形和vault创建项目时出现Permisson错误



我想使用vault创建一个带有地形的GCP项目来获取令牌。我已经配置了GCP机密引擎,我要求地形内的保险库获得代币;但是当我运行terraform来创建项目时,我得到了一个错误,上面写着:

Error 403: Service accounts cannot create projects without a parent., forbidden. If you received a 403 error, make sure you have the `roles/resourcemanager.projectCreator` permission
│ 
│   with module.gcp-project.google_project.project,
│   on .terraform/modules/gcp-project/main.tf line 6, in resource "google_project" "project":
│    6: resource "google_project" "project" {

我认为问题出在vault令牌的角色集绑定中,但我不知道我必须将哪个资源放入角色集中。

我尝试了resourcemanager.projectCreator角色;但它总是问我项目名称。

我应该允许所有组织吗?因为如果我想创建新的项目,如果我将现有的项目作为资源,我将无法创建另一个项目。

谢谢!!

您必须创建一个GCP组织资源,并确保您的Vault GCP角色集是在组织内的项目中创建的(例如"管理员"项目(。

使用地形创建项目创建者角色集时,需要为其授予具有resourcemanager.projects.create权限的角色。您可以针对整个组织或组织中的单个文件夹创建绑定。例如:

resource "vault_gcp_secret_roleset" "default" {
backend      = var.gcp_secret_backend
roleset      = var.roleset_name
project      = var.project
secret_type  = var.secret_type
token_scopes = ["https://www.googleapis.com/auth/cloud-platform"]
binding {
resource = "//cloudresourcemanager.googleapis.com/folders/${var.folder_id}"
roles = [
"roles/resourcemanager.projectCreator",
"roles/resourcemanager.projectMover",
"roles/resourcemanager.projectDeleter",
]
}
}

最新更新