Ruoli e autorizzazioni IAM

Il controllo dell'accesso in Cloud Build viene gestito tramite Identity and Access Management (IAM). IAM consente di creare e gestire le autorizzazioni per le risorse Google Cloud . Cloud Build fornisce un insieme specifico di ruoli IAM predefiniti, in cui ogni ruolo contiene un insieme di autorizzazioni. Puoi utilizzare questi ruoli per concedere un accesso più granulare a risorse Google Cloud specifiche e impedire l'accesso indesiderato ad altre risorse. IAM ti consente di adottare il principio di sicurezza del privilegio minimo, in modo da concedere solo l'accesso necessario alle tue risorse.

Questa pagina descrive i ruoli e le autorizzazioni di Cloud Build.

Ruoli Cloud Build predefiniti

Con IAM, ogni metodo dell'API Cloud Build richiede che l'identità che effettua la richiesta API disponga delle autorizzazioni appropriate per utilizzare la risorsa. Le autorizzazioni vengono concesse impostando policy che assegnano ruoli a un'entità (utente, gruppo o account di servizio). Puoi concedere più ruoli a un'entità sulla stessa risorsa.

La tabella seguente elenca i ruoli IAM di Cloud Build e le autorizzazioni che includono:

Ruolo Descrizione Autorizzazioni
Nome: roles/cloudbuild.builds.viewer
Titolo: Visualizzatore Cloud Build
Può visualizzare Cloud Build

risorse

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.locations.get

cloudbuild.locations.list

cloudbuild.operations.get

cloudbuild.operations.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nome: roles/cloudbuild.builds.editor
Titolo: Editor Cloud Build
Controllo completo di Cloud Build

risorse

cloudbuild.builds.create

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.builds.update

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nome: roles/cloudbuild.builds.approver
Titolo: Approvatore Cloud Build
Fornisci l'accesso per approvare o

rifiuta le build in attesa

cloudbuild.builds.approve

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nome: roles/cloudbuild.builds.builder
Titolo: Service account legacy di Cloud Build
Quando abiliti l'
API Cloud Build per un progetto,
il account di servizio legacy Cloud Build
viene creato automaticamente nel progetto
e gli viene concesso questo ruolo per le risorse
nel progetto. Il account di servizio legacy
Cloud Build utilizza questo ruolo solo come
necessario per eseguire azioni durante l'
esecuzione della build.
Per un elenco delle autorizzazioni
contenute in questo ruolo,
consulta Service account Cloud Build predefinito.
Nome: roles/cloudbuild.integrationsViewer
Titolo: Visualizzatore integrazioni Cloud Build
Può visualizzare Cloud Build

connessioni host

cloudbuild.integrations.get

cloudbuild.integrations.list

resourcemanager.projects.get

resourcemanager.projects.list

Nome:roles/cloudbuild.integrationsEditor
Titolo: Cloud Build Integrations Editor
Modifica il controllo di Cloud Build

connessioni host

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

resourcemanager.projects.get

resourcemanager.projects.list

Nome:roles/cloudbuild.integrationsOwner
Titolo: Cloud Build Integrations Owner
Controllo completo di Cloud Build

connessioni 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

Nome:roles/cloudbuild.connectionViewer
Titolo: Visualizzatore connessione Cloud Build
Può visualizzare ed elencare le connessioni

e repository

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.getIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

Nome:roles/cloudbuild.connectionAdmin
Titolo: Cloud Build Connection Admin
Può gestire le connessioni

e repository

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

Nome:roles/cloudbuild.readTokenAccessor
Titolo: Cloud Build Read Only Token Accessor
Può visualizzare la connessione, i relativi repository,

e accedere al relativo token di sola lettura.

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

Nome:roles/cloudbuild.tokenAccessor
Titolo: Cloud Build Token Accessor
Può visualizzare la connessione, i relativi repository,

e accedere al token di sola lettura e di lettura/scrittura

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

cloudbuild.repositories.accessReadWriteToken

Nome: roles/cloudbuild.workerPoolOwner
Titolo: Cloud Build WorkerPool Owner
Controllo completo del pool privato cloudbuild.workerpools.create

cloudbuild.workerpools.delete

cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

Nome:roles/cloudbuild.workerPoolEditor
Titolo: Cloud Build WorkerPool Editor
Può aggiornare i pool privati cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

Nome: roles/cloudbuild.workerPoolViewer
Titolo: Cloud Build WorkerPool Viewer
Può visualizzare i pool privati cloudbuild.workerpools.get

cloudbuild.workerpools.list

resourcemanager.projects.get

resourcemanager.projects.list

Nome: roles/cloudbuild.workerPoolUser
Titolo: Cloud Build WorkerPool User
Può eseguire build nel pool privato cloudbuild.workerpools.use

Oltre ai ruoli predefiniti di Cloud Build precedenti, anche i ruoli di base Visualizzatore, Editor e Proprietario includono autorizzazioni relative a Cloud Build. Tuttavia, ti consigliamo di concedere ruoli predefiniti, ove possibile, per rispettare il principio di sicurezza del privilegio minimo.

La tabella seguente elenca i ruoli di base e i ruoli IAM di Cloud Build che includono.

Ruolo include il ruolo
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

Autorizzazioni

La tabella seguente elenca le autorizzazioni che il chiamante deve avere per chiamare ciascun metodo:

Metodo API Autorizzazione obbligatoria Titolo del ruolo
builds.create()
triggers.create()
triggers.patch()
triggers.delete()
triggers.run()
cloudbuild.builds.create Cloud Build Editor
builds.cancel() cloudbuild.builds.update Cloud Build Editor
builds.get()
triggers.get()
cloudbuild.builds.get Editor Cloud Build, Visualizzatore Cloud Build
builds.list()
triggers.list()
cloudbuild.builds.list Editor Cloud Build, Visualizzatore Cloud Build

Autorizzazioni per visualizzare i log di build

Per visualizzare i log di build, sono necessarie autorizzazioni aggiuntive a seconda che i log di build vengano archiviati nel bucket Cloud Storage predefinito o in un bucket Cloud Storage specificato dall'utente. Per saperne di più sulle autorizzazioni necessarie per visualizzare i log di build, consulta Archiviazione e visualizzazione dei log di build.

Passaggi successivi