- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试将创建的角色分配给 GCP 服务帐户,然后将其用作 k8s 部署的工作负载身份。
地形:
resource google_project_iam_custom_role sign_blob_role {
permissions = ["iam.serviceAccounts.signBlob"]
role_id = "signBlob"
title = "Sign Blob"
}
resource google_service_account_iam_member document_signer_workload {
service_account_id = module.document_signer_service_accounts.service_accounts_map.doc-sign.name
role = "roles/iam.workloadIdentityUser"
member = local.document_sign_sa
}
module document_signer_service_accounts {
source = "terraform-google-modules/service-accounts/google"
version = "~> 3.0"
project_id = var.gcp_project_name
prefix = "doc-sign-sa"
names = ["doc-sign"]
project_roles = [
"${var.gcp_project_name}=>roles/viewer",
"${var.gcp_project_name}=>roles/storage.objectViewer",
"${var.gcp_project_name}=>roles/iam.workloadIdentityUser",
"${var.gcp_project_name}=>${google_project_iam_custom_role.sign_blob_role.name}"
]
display_name = substr("GCP SA bound to K8S SA ${local.document_sign_sa}. Used to sign document.", 0, 100)
}
错误:
Error: Request "Create IAM Members roles/signBlob serviceAccount:staging-doc-sign@********************.iam.gserviceaccount.com for \"project \\\"********************\\\"\"" returned error: Error applying IAM policy for project "********************": Error setting IAM policy for project "********************": googleapi: Error 400: Role roles/signBlob is not supported for this resource., badRequest
on .terraform/modules/document_signer_service_accounts/main.tf line 46, in resource "google_project_iam_member" "project-roles":
46: resource "google_project_iam_member" "project-roles" {
但是,当我在 UI 上执行相同操作时,它允许我分配角色。
最佳答案
您调用自定义角色的方式似乎有问题。"${var.gcp_project_name}=>${google_project_iam_custom_role.sign_blob_role.name}"
自定义角色已经属于项目,无需指定${var.gcp_project_name}
所以,代码应该是这样的:
project_roles = [
"${var.gcp_project_name}=>roles/viewer",
"${var.gcp_project_name}=>roles/storage.objectViewer",
"${var.gcp_project_name}=>roles/iam.workloadIdentityUser",
"${google_project_iam_custom_role.sign_blob_role.name}"
]
编辑 1
service-accounts
的基本用法
module "service_accounts" {
source = "terraform-google-modules/service-accounts/google"
version = "~> 2.0"
project_id = "<PROJECT ID>"
prefix = "test-sa"
names = ["first", "second"]
project_roles = [
"project-foo=>roles/viewer",
"project-spam=>roles/storage.objectViewer",
]
}
我认为您的资源中对属性的引用应该有问题。
# https://www.terraform.io/docs/providers/google/r/google_project_iam.html#google_project_iam_binding
resource "google_project_iam_binding" "new-roles" {
role = "projects/${var.project_id}/roles/${google_project_iam_custom_role.new-custom-role.role_id}"
members = ["serviceAccount:${google_service_account.new.email}"]
}
我认为您可能会发现完成此任务很有用。
关于google-cloud-platform - 无法使用 terraform 和 gcp 提供程序分配角色,但可以在 UI 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65111364/
我正在评估 GCP 的 stackdriver 以跨多个微服务进行日志记录。 其中一些服务部署在本地,其中一些在 AWS/GCP 上。 我们的服务是基于 .NET 或 nodejs 的应用程序,我们投
我处于必须与 GCP 服务器建立 rabbitMQ 连接(我是消费者)的情况。我的代码也在 GCP 机器上。因此双方(一个是 MQ 生产者,另一个是我)决定创建一个本地网络连接,而不是进行外部 IP
我是 GCP 的新手。“GCP 服务”和“GCP 资源”之间的差异让我感到困惑。我认为 GCP 资源是物理 Assets ,例如计算机、硬盘驱动器、虚拟资源、CPU 和 RAM 等。但是 GCP 服务
Google 云平台多久更新(刷新)GCP 控制台上显示的结算费用?有固定的延迟还是实时的? 最佳答案 计费费用每天更新,发票每月生成。也可以通过编程方式按需检查使用情况,按照说明-> https:/
我在 GCP 存储桶中有以下格式的数据: gs://bucket/my_table/data_date=2021-03-26/000 gs://bucket/my_table/data_date=20
我使用 Terraform 在 GCP 中创建了一个服务帐户和一个自定义角色。如何将此自定义角色附加到服务帐户?我可以使用 GCP Console 来做到这一点,但这不是这里的需要,因为我必须使用 T
我正在学习 GCP,遇到了 Kuberflow 和 Google Cloud Composer。 据我了解,似乎两者都用于编排工作流,使用户能够在 GCP 中安排和监控管道。 我能弄清楚的唯一区别是
我们在 gcp 中需要 ufw 吗?还是 gcp 提供的防火墙足够好? 最佳答案 根据您想要实现的目标,您可以选择在 VM 实例级别或 GCP 级别使用防火墙。 出于安全原因,Google Cloud
我正在寻找一种方法来了解我为 GCP 虚拟机实例支付了多少费用。我有 4 个实例,当我转到计费帐户 -> 报告时,我通常会看到 Compute Engine 上特定项目的价格。 我的实例有窗口和许可以
我有一个已经发布到 Play 商店的 react-native 应用程序。在上次更新中,我遇到了这个错误,并且在描述中谷歌说 com.--.MainApplication.onCreate 我有一个由
我正在玩 spring gcp 项目。我的first example with GCP bucket工作正常并使用我在属性文件中指出的正确Google帐户: spring.cloud.gcp.cred
场景:存储在 GCP 存储桶中的图像文件需要通过 POST 发送到第三方 REST 端点 问题:这真的是最好的模式吗?有没有更有效、更简洁的方法? 我们有移动应用将图像上传到 GCP 存储桶。当图像上
我正在尝试使用Simba JDBC从本地连接GCP BigQuery,但收到错误。之前我遇到了服务帐户角色权限问题,这些问题已通过为服务帐户添加必要的角色来解决。服务帐户需要角色权限,但我仍收到错误
我的项目有一个依赖项,需要 python v3.6+。因此,它会在通过 pip 在 python 3 内核中安装时抛出错误,因为 AI Platform Notebooks 默认附带 v3.5。如何使
尝试在本地运行“java cloud run hello word sample”Cloud Run:在本地运行 我一直在努力 Enabling GCP auth addon... Failed to
尝试在本地运行“java cloud run hello word sample”Cloud Run:在本地运行 我一直在努力 Enabling GCP auth addon... Failed to
通过在 application.properties 文件中指定文件位置来传递服务帐户 key 文件(从 GCP 控制台生成)似乎很简单。但是,我尝试了以下所有选项: 1. spring.cloud.
我正在尝试从在 Google Cloud 上运行的常规 VM 实例(即 ubuntu-1904)上的私有(private) GCP 容器注册表中提取 docker 容器,但出现以下错误: user@t
我正在使用 zsh,并且我已经安装了 gcloud,以便通过我的 Mac 上的本地终端与 GCP 进行交互。我遇到了这个错误“zsh:找不到匹配项:apache-beam[gcp]”。但是,当我在 G
我有一个 Spring boot 项目,应该使用 spring-cloud-gcp-starter-sql-postgresql 连接 Cloud SQL 实例,以避免在项目中显式使用 IP . 到目
我是一名优秀的程序员,十分优秀!