Rôles et autorisations IAM

Vous contrôlez les accès dans Cloud Build à l'aide de Identity and Access Management (IAM). IAM vous permet de créer et de gérer les autorisations pour les ressources Google Cloud. Cloud Build fournit un ensemble spécifique de rôles IAM prédéfinis dans lesquels chaque rôle contient un ensemble d'autorisations. Vous pouvez utiliser ces rôles pour accorder un accès plus précis à des ressources Google Cloud spécifiques et empêcher tout accès indésirable à d'autres ressources. IAM vous permet d'adopter le principe de sécurité du moindre privilège afin de n'accorder que l'accès nécessaire à vos ressources.

Cette page décrit les autorisations et les rôles Cloud Build.

Rôles Cloud Build prédéfinis

Avec IAM, toutes les méthodes d'API de l'API Cloud Build nécessitent que l'identité effectuant la requête API dispose des autorisations appropriées pour utiliser la ressource. Ces autorisations sont attribuées en définissant des stratégies qui accordent des rôles à une entité principale (utilisateur, groupe ou compte de service). Vous pouvez attribuer plusieurs rôles à une entité principale sur la même ressource.

Le tableau ci-dessous répertorie les rôles IAM Cloud Build et les autorisations associées :

Rôle Description Autorisations
Nom: roles/cloudbuild.builds.viewer
Titre: Lecteur Cloud Build
Peut consulter Cloud Build

ressources

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Name (Nom) : roles/cloudbuild.builds.editor
Title (Titre) : éditeur Cloud Build
Contrôle total de Cloud Build

ressources

cloudbuild.builds.create

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.builds.update

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nom: roles/cloudbuild.builds.approver
Title (Titre) : Approbateur Cloud Build
Fournir un accès pour approuver ou

refuser les compilations en attente

cloudbuild.builds.approve

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

Nom: roles/cloudbuild.builds.builder
Titre: Ancien compte de service Cloud Build
Lorsque vous activez l'API Cloud Build
pour un projet,
l'ancien compte de service Cloud Build
est automatiquement créé dans le projet
et dispose de ce rôle pour les ressources
du projet. L'ancien compte de service
Cloud Build n'utilise ce rôle que comme
requis pour effectuer des actions lors de l'exécution de votre compilation
.
Pour obtenir la liste des autorisations
associées à ce rôle,
consultez la section Compte de service Cloud Build.
Name (Nom) : roles/cloudbuild.integrations.viewer
Title (Titre) : Lecteur d'intégrations Cloud Build
Peut consulter Cloud Build

Connexions hôtes

cloudbuild.integrations.get

cloudbuild.integrations.list

resourcemanager.projects.get

resourcemanager.projects.list

Name (Nom) :roles/cloudbuild.integrations.editor
Title (Titre) : Éditeur d'intégrations Cloud Build
Peut modifier Cloud Build

Connexions hôtes

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

resourcemanager.projects.get

resourcemanager.projects.list

Name (Nom) :roles/cloudbuild.integrations.owner
Title (Titre) : Cloud Build Integrations Owner (Propriétaire des intégrations Cloud Build)
Contrôle total de Cloud Build

Connexions hôtes

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

Nom:roles/cloudbuild.connectionViewer
Titre: Lecteur de connexion Cloud Build
Peut afficher et répertorier les connexions

et les dépôts

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.getIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

Nom:roles/cloudbuild.connectionAdmin
Titre: Administrateur de connexion Cloud Build
Peut gérer les connexions

et les dépôts

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

Nom:roles/cloudbuild.readTokenAccessor
Titre: Accesseur de jetons Cloud Build (lecture seule)
Peut afficher la connexion, ses dépôts,

et d'accéder à son jeton en lecture seule.

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

Nom:roles/cloudbuild.tokenAccessor
Titre: Accesseur de jetons Cloud Build
Peut afficher la connexion, ses dépôts,

et d'accéder à leurs jetons en lecture seule et en lecture/écriture.

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

cloudbuild.repositories.accessReadWriteToken

Nom: roles/cloudbuild.workerPoolOwner
Titre: Propriétaire de pools de nœuds de calcul Cloud Build
Contrôle total du pool privé cloudbuild.workerpools.create

cloudbuild.workerpools.delete

cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

Nom:roles/cloudbuild.workerPoolEditor
Title: Éditeur de pool de nœuds de calcul Cloud Build
Peut mettre à jour des pools privés cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

Nom: roles/cloudbuild.workerPoolViewer
Titre: Lecteur de pools de nœuds de calcul Cloud Build
Peut afficher des pools privés cloudbuild.workerpools.get

cloudbuild.workerpools.list

resourcemanager.projects.get

resourcemanager.projects.list

Nom: roles/cloudbuild.workerPoolUser
Titre: Utilisateur de pools de nœuds de calcul Cloud Build
Peut exécuter des compilations dans le pool privé cloudbuild.workerpools.use

Outre les rôles Cloud Build prédéfinis ci-dessus, les rôles standard Lecteur, Éditeur et Propriétaire incluent également les autorisations associées à Cloud Build. Cependant, nous vous recommandons d'attribuer des rôles prédéfinis lorsque cela est possible afin de respecter le principe de sécurité du moindre privilège.

Le tableau ci-dessous répertorie les rôles de base et les rôles IAM Cloud Build associés.

Rôle Rôle(s) associé(s)
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

Permissions

Le tableau suivant répertorie les autorisations dont l'appelant doit disposer pour appeler chaque méthode :

Méthode API Autorisation requise Nom du rôle
builds.create()
triggers.create()
triggers.patch()
triggers.delete()
triggers.run()
cloudbuild.builds.create Éditeur Cloud Build
builds.cancel() cloudbuild.builds.update Éditeur Cloud Build
builds.get()
triggers.get()
cloudbuild.builds.get Éditeur Cloud Build, Lecteur Cloud Build
builds.list()
triggers.list()
cloudbuild.builds.list Éditeur Cloud Build, Lecteur Cloud Build

Autorisations pour afficher les journaux de compilation

Pour afficher les journaux de compilation, vous avez besoin d'autorisations supplémentaires selon si vous les stockez dans le bucket Cloud Storage par défaut ou dans un bucket Cloud Storage spécifié par l'utilisateur. Pour en savoir plus sur les autorisations requises pour afficher les journaux de compilation, consultez la section Stocker et afficher les journaux de compilation.

Étape suivante