IAM-Rollen und -Berechtigungen

Die Zugriffssteuerung in Cloud Build erfolgt mithilfe von Identity and Access Management (IAM). Mit IAM können Sie Berechtigungen für Google Cloud-Ressourcen erstellen und verwalten. Cloud Build bietet einen bestimmten Satz vordefinierter IAM-Rollen, bei denen jede Rolle eine Reihe von Berechtigungen enthält. Mit diesen Rollen können Sie detaillierteren Zugriff auf bestimmte Google Cloud-Ressourcen gewähren und unerwünschten Zugriff auf andere Ressourcen verhindern. Durch IAM haben Sie die Möglichkeit, das Prinzip der geringsten Berechtigung anzuwenden und somit nur den notwendigen Zugriff auf Ihre Ressourcen zu gewähren.

Auf dieser Seite werden Cloud Build-Rollen und -Berechtigungen beschrieben.

Vordefinierte Cloud Build-Rollen

Bei IAM erfordert jede API-Methode in der Cloud Build API, dass die Identität, die die API-Anfrage stellt, über die entsprechenden Berechtigungen zur Verwendung der Ressource verfügt. Berechtigungen werden durch die Festlegung von Richtlinien gewährt, die wiederum einem Hauptkonto (Nutzer, Gruppe oder Dienstkonto) Rollen zuweist. Sie können einem Hauptkonto mehrere Rollen für dieselbe Ressource zuweisen.

In der folgenden Tabelle sind die Cloud Build-IAM-Rollen und deren Berechtigungen aufgeführt:

Rolle Beschreibung Berechtigungen
Name: roles/cloudbuild.builds.viewer
Titel: Cloud Build-Betrachter
Kann Cloud Build aufrufen

resources

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Name: roles/cloudbuild.builds.editor
Titel: Cloud Build-Bearbeiter
Uneingeschränkte Kontrolle über Cloud Build

resources

cloudbuild.builds.create

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.builds.update

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Name: roles/cloudbuild.builds.approver
Titel: Cloud Build-Genehmiger
Zugriff zum Genehmigen oder

Ablehnen ausstehender Builds

cloudbuild.builds.approve

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Name: roles/cloudbuild.builds.builder
Titel: Cloud Build-Dienstkonto
Wenn Sie die
Cloud Build API für ein Projekt aktivieren,
wird das Cloud Build-Dienstkonto
automatisch im Projekt erstellt
und erhält diese Rolle für die
Ressourcen im Projekt. Das Cloud Build-Dienstkonto
verwendet diese Rolle nur bei Bedarf,
um Aktionen beim Ausführen
Ihres Builds durchzuführen.
Eine Liste der Berechtigungen,
die diese Rolle enthält,
finden Sie unter Cloud Build-Dienstkonto.
Name: roles/cloudbuild.integrations.viewer
Titel: Betrachter von Cloud Build-Integrationen
Kann Cloud Build aufrufen

Hostverbindungen

cloudbuild.integrations.get

cloudbuild.integrations.list

resourcemanager.projects.get

resourcemanager.projects.list

Name:roles/cloudbuild.integrations.editor
Titel: Bearbeiter von Cloud Build-Integrationen
Steuerung von Cloud Build bearbeiten

Hostverbindungen

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

resourcemanager.projects.get

resourcemanager.projects.list

Name:roles/cloudbuild.integrations.owner
Titel: Inhaber von Cloud Build-Integrationen
Uneingeschränkte Kontrolle über Cloud Build

Hostverbindungen

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

Name:roles/cloudbuild.connectionViewer
Titel: Cloud Build Connection Viewer
Kann Verbindungen aufrufen und auflisten

und Repositories

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.getIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

Name:roles/cloudbuild.connectionAdmin
Titel: Cloud Build-Verbindungsadministrator
Kann Verbindungen verwalten

und Repositories

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

Name:roles/cloudbuild.readTokenAccessor
Title: Zugriffsfunktion für schreibgeschützte Cloud Build-Tokens
Kann die Verbindung, ihre Repositories

und auf das schreibgeschützte Token zugreifen,

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

Name:roles/cloudbuild.tokenAccessor
Titel: Cloud Build Token Accessor
Kann die Verbindung, ihre Repositories

und auf ihr schreibgeschütztes und

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

cloudbuild.repositories.accessReadWriteToken

Name: roles/cloudbuild.workerPoolOwner
Titel: Inhaber von Cloud Build-WorkerPools
Vollständige Kontrolle über den privaten Pool cloudbuild.workerpools.create

cloudbuild.workerpools.delete

cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

Name:roles/cloudbuild.workerPoolEditor
Titel: Bearbeiter von Cloud Build-WorkerPools
Kann private Pools aktualisieren cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

Name: roles/cloudbuild.workerPoolViewer
Titel: Betrachter von Cloud Build-WorkerPools
Kann private Pools ansehen cloudbuild.workerpools.get

cloudbuild.workerpools.list

resourcemanager.projects.get

resourcemanager.projects.list

Name: roles/cloudbuild.workerPoolUser
Titel: Nutzer von Cloud Build-WorkerPools
Kann Builds im privaten Pool ausführen cloudbuild.workerpools.use

Zusätzlich zu den oben genannten vordefinierten Cloud Build-Rollen enthalten die Rollen einfacher Betrachter, Bearbeiter und Inhaber auch Berechtigungen im Zusammenhang mit Cloud Build. Es empfiehlt sich jedoch, wenn möglich vordefinierte Rollen zuzuweisen, um das Sicherheitsprinzip der geringsten Berechtigung zu einhalten.

In der folgenden Tabelle sind die einfachen Rollen und die darin enthaltenen Cloud Build-IAM-Rollen aufgeführt.

Rolle Umfasst die Rolle
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

Berechtigungen

In der folgenden Tabelle werden die Berechtigungen aufgeführt, die erforderlich sind, um eine bestimmte Methode aufzurufen:

API-Methode Erforderliche Berechtigung Rollentitel
builds.create()
triggers.create()
triggers.patch()
triggers.delete()
triggers.run()
cloudbuild.builds.create Cloud Build-Bearbeiter
builds.cancel() cloudbuild.builds.update Cloud Build-Bearbeiter
builds.get()
triggers.get()
cloudbuild.builds.get Cloud Build-Bearbeiter, Cloud Build-Betrachter
builds.list()
triggers.list()
cloudbuild.builds.list Cloud Build-Bearbeiter, Cloud Build-Betrachter

Berechtigungen zum Aufrufen von Build-Logs

Zum Aufrufen von Build-Logs benötigen Sie zusätzliche Berechtigungen, je nachdem, ob Sie Ihre Build-Logs im Cloud Storage-Standard-Bucket oder in einem benutzerdefinierten Cloud Storage-Bucket speichern. Weitere Informationen zu Berechtigungen, die zum Aufrufen von Build-Logs erforderlich sind, finden Sie unter Build-Logs speichern und ansehen.

Nächste Schritte