用户管理服务帐户以部署 CloudRun 实例
User manage Service Account to deploy CloudRun instance
我需要你的帮助。我无法找出我缺少的东西。我创建了用户管理的 SA 并提供了角色
roles/run.admin
roles/iam.serviceAccountUser
但不知何故我在创建服务时看不到它:
我还向默认计算 SA 添加了模拟。
我正在通过 terraform 推动更改:
resource "google_service_account" "sa-deployer" {
project = local.project_id
account_id = "${local.env}-sa-deployer-tf"
display_name = "Service Account to deploy CloudRun instance"
}
resource "google_service_account_iam_member" "gce-default-account-iam" {
service_account_id = data.google_compute_default_service_account.default.name
role = "roles/iam.serviceAccountUser"
member = "serviceAccount:${google_service_account.sa-deployer.email}"
depends_on = [
google_service_account.sa-deployer
]
}
resource "google_project_iam_binding" "sa-deployer-run-admin" {
project = local.project_id
role = "roles/run.admin"
members = [
"serviceAccount:${google_service_account.sa-deployer.email}",
]
depends_on = [
google_service_account.sa-deployer
]
}
resource "google_project_iam_binding" "sa-deployer-build-admin" {
project = local.project_id
role = "roles/cloudbuild.builds.builder"
members = [
"serviceAccount:${google_service_account.sa-deployer.email}",
]
depends_on = [
google_service_account.sa-deployer
]
}
当前用户必须是 serviceAccountUser 才能列出项目上的服务帐户。
要允许用户管理服务帐户,请授予以下角色之一:
服务帐户用户 (roles/iam.serviceAccountUser):包括列出服务帐户、获取有关服务帐户的详细信息以及模拟服务帐户的权限。
服务帐户管理员 (roles/iam.serviceAccountAdmin):包括列出服务帐户和获取服务帐户详细信息的权限。还包括创建、更新和删除服务帐户的权限,以及查看或更改服务帐户的 IAM 策略的权限。
要了解有关这些角色的更多信息,请参阅 Service Accounts roles。
IAM 基本角色(roles/viewer、roles/editor)还包含管理服务帐户的权限。您不应在生产环境中授予基本角色,但可以在开发或测试环境中授予它们。
有关详细信息,请参阅以下文档。
我需要你的帮助。我无法找出我缺少的东西。我创建了用户管理的 SA 并提供了角色
roles/run.admin
roles/iam.serviceAccountUser
但不知何故我在创建服务时看不到它:
我还向默认计算 SA 添加了模拟。
我正在通过 terraform 推动更改:
resource "google_service_account" "sa-deployer" {
project = local.project_id
account_id = "${local.env}-sa-deployer-tf"
display_name = "Service Account to deploy CloudRun instance"
}
resource "google_service_account_iam_member" "gce-default-account-iam" {
service_account_id = data.google_compute_default_service_account.default.name
role = "roles/iam.serviceAccountUser"
member = "serviceAccount:${google_service_account.sa-deployer.email}"
depends_on = [
google_service_account.sa-deployer
]
}
resource "google_project_iam_binding" "sa-deployer-run-admin" {
project = local.project_id
role = "roles/run.admin"
members = [
"serviceAccount:${google_service_account.sa-deployer.email}",
]
depends_on = [
google_service_account.sa-deployer
]
}
resource "google_project_iam_binding" "sa-deployer-build-admin" {
project = local.project_id
role = "roles/cloudbuild.builds.builder"
members = [
"serviceAccount:${google_service_account.sa-deployer.email}",
]
depends_on = [
google_service_account.sa-deployer
]
}
当前用户必须是 serviceAccountUser 才能列出项目上的服务帐户。
要允许用户管理服务帐户,请授予以下角色之一:
服务帐户用户 (roles/iam.serviceAccountUser):包括列出服务帐户、获取有关服务帐户的详细信息以及模拟服务帐户的权限。
服务帐户管理员 (roles/iam.serviceAccountAdmin):包括列出服务帐户和获取服务帐户详细信息的权限。还包括创建、更新和删除服务帐户的权限,以及查看或更改服务帐户的 IAM 策略的权限。
要了解有关这些角色的更多信息,请参阅 Service Accounts roles。
IAM 基本角色(roles/viewer、roles/editor)还包含管理服务帐户的权限。您不应在生产环境中授予基本角色,但可以在开发或测试环境中授予它们。
有关详细信息,请参阅以下文档。