1

我想使用 project.getIamPolicy 和 setIamPolicy,但它给了我 403 并显示错误消息“身份和访问管理 (IAM) API 之前未在项目中使用或已被禁用。通过访问https://启用它" _
我不想在每次创建项目时从控制台手动启用(每个项目的身份和访问管理 (IAM) API 或其他此类 API)。
我想自动化整个过程,所以,这是一个障碍。
有人可以帮忙吗,有解决方法吗?

4

3 回答 3

1

如果您使用的是 Terraform,那么您可以自动启用 API。

resource "google_project_service" "project" {
  project = "your-project-id"
  service = "iam.googleapis.com"

  disable_dependent_services = true
}
于 2020-08-11T13:46:18.203 回答
1

根据此 GCP 公开文档

  • 启用和禁用服务的最简单方法是使用 Google Cloud Console。
  • 如果需要创建脚本,也可以使用 gcloud 命令行界面。
  • 如果您需要针对“服务使用 API”进行编程,本指南建议您使用我们提供的客户端库之一。

在同一指南中,您将在上述信息的下方找到每个选项的步骤

注意:或者,您可以使用 curl 命令测试 API,而无需设置完整的应用程序开发环境。

启用服务后,您可以以编程方式创建服务账户并将角色添加到 IAM 策略。

请记住,IAM 策略将一个或多个成员绑定到一个角色。当您要定义谁(成员)对资源具有何种访问权限(角色)时,您可以创建一个策略并将其附加到资源。

这是“IAM 的工作原理”指南

注意:两个 IAM 指南都包含“REST API”、“C#”、“Go”、“Java”和“Python”代码示例,所以我认为你会没事的。

请让我知道这是否适合您。

于 2020-08-12T20:02:25.653 回答
0

您可以使用Terraform自动化整个过程。

然后,这是启用身份和访问管理 (IAM) API的 Terraform 代码:

resource "google_project_service" "iam_api" {
  service = "iam.googleapis.com"
}

此外,您可以在启用身份和访问管理 (IAM) API后重定向到的页面中找到服务名称“iam.googleapis.com”

resource "google_project_service" "iam_api" {
  service = "iam.googleapis.com" // Here
}

因此,在您启用身份和访问管理 (IAM) API后:

在此处输入图像描述

您将被重定向到此页面:

在此处输入图像描述

然后,您可以在详细信息部分找到服务名称“iam.googleapis.com”

在此处输入图像描述

于 2022-03-02T03:29:11.723 回答