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