Permisos y funciones de IAM

El control de acceso en Cloud Build se controla mediante la administración de identidades y accesos (IAM). IAM te permite crear y administrar permisos para los recursos de Google Cloud. Cloud Build proporciona un conjunto específico de funciones de IAM predefinidas, en el que cada función contiene un conjunto de permisos. Puedes usar estas funciones para otorgar acceso más detallado a recursos específicos de Google Cloud y evitar el acceso no deseado a otros recursos. IAM te permite adoptar el principio de seguridad de menor privilegio, de manera que puedes otorgar solo el acceso necesario a tus recursos.

En esta página, se describen los roles y permisos de Cloud Build.

Funciones predefinidas de Cloud Build

Con la IAM, cada método de API en la API de Cloud Build requiere que la identidad que realiza la solicitud a la API tenga los permisos adecuados para usar el recurso. Para otorgar los permisos, se configuran políticas que asignan funciones a un principal, un grupo o una cuenta de servicio. Puedes otorgar varias funciones a una principal en el mismo recurso.

En la tabla que se muestra a continuación, se presentan las funciones y los permisos de IAM de Cloud Build que cuentan con las características siguientes:

Rol Descripción Permisos
Nombre: roles/cloudbuild.builds.viewer
Título: Visualizador de Cloud Build
Puede ver Cloud Build

recursos

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nombre: roles/cloudbuild.builds.editor
Título: Editor de Cloud Build
Control total de Cloud Build

recursos

cloudbuild.builds.create

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.builds.update

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nombre: roles/cloudbuild.builds.approver
Título: Responsable de aprobación de Cloud Build
Proporciona acceso para aprobar o

rechazar compilaciones pendientes

cloudbuild.builds.approve

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nombre: roles/cloudbuild.builds.builder
Título: Cuenta de servicio de Cloud Build
Cuando habilitas la API de Cloud Build
en un proyecto,
la cuenta de servicio de Cloud Build
se crea de forma automática en el proyecto
y se le otorga esta función para los recursos
del proyecto. La cuenta de servicio
de Cloud Build usa esta función solo como
necesaria para realizar acciones cuando
ejecuta tu compilación.
Para obtener una lista de los permisos
que contiene esta función,
consulta Cuenta de servicio de Cloud Build.
Nombre: roles/cloudbuild.integrations.viewer
Título: Visualizador de integraciones de Cloud Build
Puede ver Cloud Build

Conexiones de host

cloudbuild.integrations.get

cloudbuild.integrations.list

resourcemanager.projects.get

resourcemanager.projects.list

Nombre:roles/cloudbuild.integrations.editor
Título: Editor de integraciones de Cloud Build
Editar el control de Cloud Build

Conexiones de host

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

resourcemanager.projects.get

resourcemanager.projects.list

Nombre:roles/cloudbuild.integrations.owner
Título: Propietario de integraciones de Cloud Build
Control total de Cloud Build

Conexiones de host

cloudbuild.integrations.create

cloudbuild.integrations.delete

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

compute.firewalls.create

compute.firewalls.get

compute.firewalls.list

compute.networks.get

compute.networks.updatePolicy

compute.regions.get

compute.subnetworks.get

compute.subnetworks.list

resourcemanager.projects.get

resourcemanager.projects.list

Nombre:roles/cloudbuild.connectionViewer
Título: Visualizador de conexiones de Cloud Build
Puede ver y enumerar conexiones

y repositorios

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.getIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

Nombre:roles/cloudbuild.connectionAdmin
Título: Administrador de conexiones de Cloud Build
Puede administrar conexiones.

y repositorios

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.create

cloudbuild.connections.update

cloudbuild.connections.delete

cloudbuild.connections.getIamPolicy

cloudbuild.connections.setIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

cloudbuild.repositories.create

cloudbuild.repositories.delete

Nombre:roles/cloudbuild.readTokenAccessor
Título: Descriptor de acceso de tokens de solo lectura de Cloud Build
Puede ver la conexión, sus repositorios

y acceder a su token de solo lectura

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

Nombre:roles/cloudbuild.tokenAccessor
Título: Descriptor de acceso de tokens de Cloud Build
Puede ver la conexión, sus repositorios

y acceder a sus tokens de solo lectura y lectura/escritura,

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

cloudbuild.repositories.accessReadWriteToken

Nombre: roles/cloudbuild.workerPoolOwner
Título: Propietario de grupo de trabajadores de Cloud Build
Control total del grupo privado cloudbuild.workerpools.create

cloudbuild.workerpools.delete

cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

Nombre:roles/cloudbuild.workerPoolEditor
Título: Editor de grupo de trabajadores de Cloud Build
Puede actualizar grupos privados cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

Nombre: roles/cloudbuild.workerPoolViewer
Título: Visualizador de WorkerPool de Cloud Build
Puede ver los grupos privados cloudbuild.workerpools.get

cloudbuild.workerpools.list

resourcemanager.projects.get

resourcemanager.projects.list

Nombre: roles/cloudbuild.workerPoolUser
Título: Usuario de grupo de trabajadores de Cloud Build
Puede ejecutar compilaciones en el grupo privado. cloudbuild.workerpools.use

Además de las funciones predefinidas de Cloud Build mencionadas, las funciones básicas de visualizador, editor y propietario también incluyen permisos relacionados con Cloud Build. Sin embargo, te recomendamos otorgar funciones predefinidas siempre que sea posible para cumplir con el principio de privilegio mínimo de seguridad.

En la siguiente tabla, se enumeran las funciones básicas y las funciones de IAM de Cloud Build que incluyen.

Función incluye función:
roles/viewer roles/cloudbuild.builds.viewer, roles/cloudbuild.integrations.viewer
roles/editor roles/cloudbuild.builds.editor, roles/cloudbuild.integrations.editor
roles/owner roles/cloudbuild.integrations.owner

Permisos

En la tabla siguiente, se enumeran los permisos que deben tener el emisor para llamar a cada método:

Método de API Permiso necesario Título de la función
builds.create()
triggers.create()
triggers.patch()
triggers.delete()
triggers.run()
cloudbuild.builds.create Editor de Cloud Build
builds.cancel() cloudbuild.builds.update Editor de Cloud Build
builds.get()
triggers.get()
cloudbuild.builds.get Editor de Cloud Build, Lector de Cloud Build
builds.list()
triggers.list()
cloudbuild.builds.list Editor de Cloud Build, Lector de Cloud Build

Permisos para ver los registros de compilación

Para ver los registros de compilación, necesitas permisos adicionales según si almacenas tus registros de compilación en el bucket predeterminado de Cloud Storage o en un bucket de Cloud Storage especificado por el usuario. Si quieres obtener más información sobre los permisos necesarios para ver los registros de compilación, consulta Almacena y visualiza registros de compilación.

¿Qué sigue?