Funciones y permisos de IAM

El control de acceso en Cloud Build se gestiona mediante Gestión de Identidades y Accesos (IAM). IAM te permite crear y gestionar permisos para los recursos. Google Cloud Cloud Build proporciona un conjunto específico de roles de gestión de identidades y accesos predefinidos, donde cada rol contiene un conjunto de permisos. Puedes usar estos roles para dar un acceso más granular a recursos Google Cloud específicos y evitar el acceso no deseado a otros recursos. IAM te permite adoptar el principio de seguridad de mínimos accesos, por lo que solo concedes el acceso necesario a tus recursos.

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

Roles de Cloud Build predefinidos

Con IAM, todos los métodos de la API de Cloud Build requieren que la identidad que hace la solicitud a la API tenga los permisos adecuados para usar el recurso. Los permisos se conceden configurando políticas que asignan roles a una entidad principal (usuario, grupo o cuenta de servicio). Puedes asignar varios roles a un principal en el mismo recurso.

En la siguiente tabla se indican los roles de gestión de identidades y accesos de Cloud Build y los permisos que incluyen:

Rol Descripción Permisos
Nombre: roles/cloudbuild.builds.viewer
Título: lector 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: Aprobador de Cloud Build
Proporcionar 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 antigua de Cloud Build
Cuando habilitas la
API Cloud Build en un proyecto,
la cuenta de servicio antigua de Cloud Build
se crea automáticamente en el proyecto
y se le asigna este rol para los recursos
del proyecto. La
cuenta de servicio antigua de Cloud Build usa este rol solo como
requisito para realizar acciones al
ejecutar tu compilación.
Para ver una lista de los permisos
que incluye este rol,
consulta la cuenta de servicio predeterminada de Cloud Build.
Nombre: roles/cloudbuild.integrationsViewer
Título: Lector 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.integrationsEditor
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.integrationsOwner
Título: Integrations Owner 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: Cloud Build Connection Viewer
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 gestionar 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: Cloud Build Read Only Token Accessor
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: Cloud Build Token Accessor
Puede ver la conexión, sus repositorios,

y acceder a su token de solo lectura y de lectura/escritura

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

cloudbuild.repositories.accessReadWriteToken

Nombre: roles/cloudbuild.workerPoolOwner
Título: propietario de WorkerPool 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 WorkerPool de Cloud Build
Permiso para actualizar grupos privados. cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

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

cloudbuild.workerpools.list

resourcemanager.projects.get

resourcemanager.projects.list

Nombre: roles/cloudbuild.workerPoolUser
Título: usuario de WorkerPool de Cloud Build
Permiso para ejecutar compilaciones en el grupo privado. cloudbuild.workerpools.use

Además de los roles predefinidos de Cloud Build mencionados anteriormente, los roles básicos Lector, Editor y Propietario también incluyen permisos relacionados con Cloud Build. Sin embargo, te recomendamos que asignes roles predefinidos siempre que sea posible para cumplir el principio de seguridad de privilegio mínimo.

En la siguiente tabla se indican los roles básicos y los roles de Cloud Build de IAM que incluyen.

Rol incluye el rol
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 siguiente tabla se indican los permisos que debe tener el llamador para invocar cada método:

Método de API Permiso obligatorio Denominación de la función
builds.create()
triggers.create()
triggers.patch()
triggers.delete()
triggers.run()
cloudbuild.builds.create Editor de versiones de Cloud
builds.cancel() cloudbuild.builds.update Editor de versiones de Cloud
builds.get()
triggers.get()
cloudbuild.builds.get Editor de Cloud Build y Lector de Cloud Build
builds.list()
triggers.list()
cloudbuild.builds.list Editor de Cloud Build y Lector de Cloud Build

Permisos para ver los registros de compilación

Para ver los registros de compilación, necesitas permisos adicionales en función de si almacenas los registros de compilación en el segmento de Cloud Storage predeterminado o en un segmento de Cloud Storage especificado por el usuario. Para obtener más información sobre los permisos necesarios para ver los registros de compilación, consulta Almacenar y ver registros de compilación.

Siguientes pasos