Ce document décrit les autorisations IAM requises pour afficher les insights de sécurité de la chaîne d'approvisionnement logicielle dans la console Google Cloud.
Rôles requis
Pour afficher les insights sur la sécurité de la chaîne d'approvisionnement logicielle dans la console Google Cloud, vous devez disposer des rôles suivants ou d'un rôle disposant d'autorisations équivalentes:
- Lecteur Cloud Build (
roles/cloudbuild.builds.viewer
): affichez les insights d'un build. - Lecteur d'occurrences Artifact Analysis (
roles/containeranalysis.occurrences.viewer
): affichez les failles, la provenance de la compilation et d'autres informations sur les dépendances. - Lecteur Cloud Run (
roles/run.viewer
): affichez les insights d'une révision Cloud Run. - Lecteur de cluster Kubernetes Engine (
roles/container.clusterViewer
) : affichez les insights d'un cluster GKE.
Ces autorisations permettent d'accéder aux insights, mais pas d'effectuer d'autres actions telles que l'exécution de compilations dans Cloud Build.
- Pour en savoir plus sur les autorisations requises pour un service spécifique, consultez la documentation associée à ce service.
- Pour savoir comment accorder des autorisations, consultez la documentation Identity and Access Management sur l'octroi d'autorisations aux projets.
Par défaut, de nombreux services disposent d'autorisations par défaut pour d'autres services du même projet, mais ne peuvent pas accéder aux ressources d'un autre projet. Si vous exécutez des services dans différents Google Cloud projets ou si vous utilisez des rôles IAM ou des comptes de service personnalisés, vous devez accorder vous-même les autorisations appropriées.
Accorder des autorisations lorsque les services se trouvent dans le même projet
Si Cloud Build, Artifact Registry, Artifact Analysis et Cloud Run s'exécutent tous dans le même projet, chaque service utilise le compte de service par défaut pour agir en son nom, et les autorisations par défaut ne changent pas. Les services peuvent tous fonctionner ensemble sans modification des autorisations, mais vous devez accorder des autorisations aux utilisateurs qui doivent consulter les insights du projet.
- Autorisations entre services
Aucune modification n'est requise:
- Le compte de service Cloud Build par défaut est autorisé à importer et à télécharger des données avec Artifact Registry, et à lire des insights à partir d'Artifact Analysis. Le service peut ainsi signer des images de conteneur avec la provenance de compilation et les transférer vers Artifact Registry.
- Les révisions Cloud Run utilisent le compte de service Compute Engine par défaut pour les déploiements, qui dispose des autorisations nécessaires pour télécharger des images depuis Artifact Registry et lire des données d'insights à partir d'Artifact Analysis.
- Autorisations des utilisateurs pour afficher les insights
Vous devez attribuer aux utilisateurs de Cloud Build et de Cloud Run les rôles requis pour qu'ils puissent consulter les insights.
Accorder des autorisations lorsque les services se trouvent dans différents projets
Lorsque Artifact Registry et Artifact Analysis s'exécutent dans un projet distinct des autres services Google Cloud , vous devez accorder explicitement des autorisations pour toutes les activités interprojets. Prenons l'exemple de configuration de projet suivante:
- Cloud Build s'exécute dans le projet A
- Artifact Registry et Artifact Analysis s'exécutent dans le projet B
- Cloud Run s'exécute dans le projet C
- Autorisations entre services
Cloud Build et Cloud Run ne peuvent pas accéder aux ressources d'autres projets sans accorder explicitement l'accès aux comptes de service qui agissent au nom de ces services. Vous devez accorder les autorisations Artifact Registry et les autorisations d'analyse des artefacts appropriées dans le projet B, où les artefacts et les métadonnées des artefacts sont stockés.
Pour Cloud Build, vous devez attribuer les rôles suivants dans le projet B:
- Le rédacteur Artifact Registry (
roles/artifactregistry.writer
) accorde des autorisations d'importation et de téléchargement. - Le lecteur d'occurrences d'analyse des artefacts (
roles/containeranalysis.occurrences.viewer
) accorde des autorisations pour afficher des insights.
- Le rédacteur Artifact Registry (
Pour Cloud Run, vous devez attribuer les rôles suivants dans le projet B:
- Le lecteur Artifact Registry (
roles/artifactregistry.reader
) accorde des autorisations de téléchargement pour les déploiements. - Le lecteur d'occurrences d'analyse des artefacts (
roles/containeranalysis.occurrences.viewer
) accorde des autorisations pour afficher des insights.
- Le lecteur Artifact Registry (
- Autorisations des utilisateurs pour afficher les insights
Dans le projet B, vous devez accorder aux utilisateurs de Cloud Build et de Cloud Run disposant des rôles requis le droit de consulter les insights.
Étape suivante
- Découvrez comment les Google Cloud services protègent votre chaîne d'approvisionnement logiciel dans la présentation.
- Découvrez les pratiques de sécurité de la chaîne d'approvisionnement logicielle et comment les services Google Cloud peuvent vous aider à les implémenter.