es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El usuario administra la Cuenta de Servicio para implementar una instancia de CloudRun.

Necesito tu ayuda por favor. No puedo encontrar lo que me falta. Creé un SA administrado por el usuario y proporcioné roles:

roles/run.admin
roles/iam.serviceAccountUser
,
pero de alguna manera no puedo verlo al crear el servicio:

También agregué la suplantación a la SA de cómputo predeterminada.

Estoy haciendo cambios a través de Terraform:

resource “google_service_account” “sa-deployer” {
project = local.project_id
account_id = “${local.env}-sa-deployer-tf”
display_name = “Service Account para implementar una instancia de Cloud Run”
}

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
]
}

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según las capturas de pantalla proporcionadas, parece que el problema está en los roles asignados a la cuenta de servicio. Aunque ha asignado los roles roles/run.admin y roles/iam.serviceAccountUser a la cuenta de servicio administrada por el usuario, no parecen tener los permisos necesarios para crear un servicio de Cloud Run.

    Para crear un servicio de Cloud Run, la cuenta de servicio necesita tener el rol roles/run.admin a nivel de proyecto o nivel de carpeta donde se encuentra el proyecto, como se menciona en el mensaje de error de la segunda captura de pantalla. Parece que solo ha asignado el rol roles/run.admin a nivel de cuenta de servicio, lo cual no es suficiente.

    Es posible que necesite otorgar el rol roles/run.admin a la cuenta de servicio a nivel de proyecto o carpeta a través de la interfaz IAM de Cloud Console o a través de Terraform si lo prefiere. Una vez que la cuenta de servicio tenga los roles necesarios, debería poder crear un servicio de Cloud Run utilizando esa cuenta de servicio.

Comments are closed.