Permisos y funciones de IAM

En este documento, se enumeran los roles y permisos que necesitas en diferentes proyectos para usar la evaluación de Gestor de cargas de trabajo y crear automáticamente cuentas de servicio de Gestor de cargas de trabajo para ejecutar la evaluación.

Proyectos de Gestor de cargas de trabajo

Las evaluaciones del Gestor de cargas de trabajo analizan los recursos en varios proyectos que se denominan proyectos de destino, pero la evaluación se almacena en un solo proyecto llamado proyecto del consumidor.

Usas el proyecto del consumidor para acceder a Gestor de cargas de trabajo en la Google Cloud consola y para crear y ejecutar evaluaciones. Cuando creas una evaluación con la Google Cloud consola, en la sección Alcance de la evaluación del flujo de trabajo, especificas los proyectos de destino que contienen los recursos que deseas evaluar.

Si los recursos que se evaluarán están presentes en el mismo proyecto en el que creas una evaluación de Gestor de cargas de trabajo, el proyecto del consumidor también se considera uno de tus proyectos de destino.

Resumen de los permisos necesarios para crear y ejecutar una evaluación

En la siguiente tabla, se resumen los permisos necesarios para que los usuarios de los proyectos del consumidor y de destino creen y ejecuten evaluaciones con Gestor de cargas de trabajo. Para obtener el permiso que necesitas, pídele a tu administrador que te otorgue un rol que incluya el permiso requerido o crea un rol personalizado.

Acción Proyecto del consumidor Proyecto de destino
Habilitar la API de Gestor de cargas de trabajo Permiso:
serviceusage.services.enable

Rol predefinido que incluye el permiso:
roles/serviceusage.serviceUsageAdmin
Ninguno
Crear una evaluación Permiso para crear una cuenta de servicio:
resourcemanager.projects.setIamPolicy

Rol predefinido que incluye el permiso:
roles/resourcemanager.projectIamAdmin

Solo es necesario cuando creas la primera evaluación.

Rol predefinido que otorga permiso para crear una evaluación:
roles/workloadmanager.evaluationAdmin

Rol predefinido que otorga permiso para crear notificaciones de alertas:
roles/monitoring.metricWriter

Para crear una evaluación con reglas personalizadas, necesitas los siguientes permisos adicionales:

Rol predefinido que otorga permiso para leer datos de Cloud Asset Inventory:
roles/cloudasset.owner

Rol predefinido que otorga permiso para leer reglas almacenadas en un bucket de Cloud Storage:
roles/storage.objectViewer

Rol predefinido que otorga permiso para escribir resultados de la evaluación en un conjunto de datos de BigQuery:
roles/bigquery.admin

Permiso para crear una cuenta de servicio:
resourcemanager.projects.setIamPolicy

Rol predefinido que incluye el permiso:
roles/resourcemanager.projectIamAdmin

Solo es necesario cuando creas la primera evaluación.

Ejecutar una evaluación Permiso:
workloadmanager.evaluations.run

Rol predefinido que incluye el permiso:
roles/workloadmanager.evaluationAdmin

Ninguno

Visualizar los resultados de la evaluación Permiso:
workloadmanager.results.list

Rol predefinido que incluye el permiso:
roles/workloadmanager.evaluationAdmin
o
roles/workloadmanager.evaluationViewer
Ninguno

Agentes de servicio del Gestor de cargas de trabajo

Gestor de cargas de trabajo usa agentes de servicio para controlar el acceso y la comunicación entre los recursos y los proyectos asociados.

Puedes usar la Google Cloud console o la API de Gestor de cargas de trabajo para evaluar las cargas de trabajo. Si usas la Google Cloud console, Gestor de cargas de trabajo crea automáticamente todos los agentes de servicio necesarios. Si usas la API de Gestor de cargas de trabajo, debes crear los agentes de servicio de forma manual.

Roles obligatorios

Para obtener el permiso que necesitas para crear un agente de servicio, pídele a tu administrador que te otorgue el rol de IAM de administrador de IAM del proyecto (roles/resourcemanager.projectIamAdmin) en cada proyecto de destino dentro del alcance. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el resourcemanager.projects.setIamPolicy permiso, que es necesario para crear un agente de servicio.

También puedes obtener este permiso con roles personalizados o otros roles predefinidos.

Crea y otorga roles a los agentes de servicio

Google Cloud Consola de

Si usas la Google Cloud console para evaluar las cargas de trabajo, el Gestor de cargas de trabajo crea automáticamente agentes de servicio en los proyectos del consumidor.

La dirección de correo electrónico de este agente de servicio es service-PROJECT_NUMBER@gcp-sa-workloadmanager.iam.gserviceaccount.com, y se llama Cuenta de servicio de Gestor de cargas de trabajo.

Los agentes de servicio de Gestor de cargas de trabajo requieren los siguientes roles para ejecutar evaluaciones. Si se te solicita, otorga estos roles a los agentes de servicio.

  • Agente de servicio de Gestor de cargas de trabajo (roles/workloadmanager.serviceAgent): Es obligatorio en los proyectos de destino.
  • Trabajador de Gestor de cargas de trabajo (roles/workloadmanager.worker): Es obligatorio en el proyecto del consumidor solo si estableces una frecuencia para la evaluación.

API de Gestor de cargas de trabajo

Si usas la API de Gestor de cargas de trabajo para evaluar las cargas de trabajo, debes crear manualmente el agente de servicio de Gestor de cargas de trabajo en los proyectos del consumidor antes de crear una evaluación. Para crear un agente de servicio, usa el gcloud beta services identity createcomando:

  gcloud beta services identity create --service=workloadmanager.googleapis.com  \
      --project=PROJECT_NUMBER

Reemplaza PROJECT_NUMBER por el ID numérico del proyecto del consumidor en el que deseas crear el agente de servicio.

Después de crear el agente de servicio, debes otorgarle los siguientes roles:

  • Agente de servicio de Gestor de cargas de trabajo (roles/workloadmanager.serviceAgent): Es obligatorio en los proyectos de destino.
  • Trabajador de Gestor de cargas de trabajo (roles/workloadmanager.worker): Es obligatorio en el proyecto del consumidor solo si estableces una frecuencia para la evaluación.

Para obtener más información, consulta Otorga un rol al agente de servicio.

Roles adicionales de Gestor de cargas de trabajo

Los usuarios requieren roles adicionales de Gestor de cargas de trabajo para controlar aún más el acceso a las evaluaciones y los recursos de Gestor de cargas de trabajo.

Para obtener más información, consulta Gestor de cargas de trabajo: Control de acceso con IAM.

¿Qué sigue?