Ce document décrit les autorisations IAM requises pour afficher les insights sur la sécurité de Software Delivery Shield. Software Delivery Shield est une solution de sécurité de la chaîne d'approvisionnement logicielle entièrement gérée sur Google Cloud.
Rôles requis
Pour afficher les insights de Software Delivery Shield dans la console Google Cloud, vous devez disposer des rôles suivants ou d'un rôle doté d'autorisations équivalentes:
- Lecteur Cloud Build (
roles/cloudbuild.builds.viewer
): affichez les insights d'une compilation. - Lecteur d'occurrences d'analyse d'artefacts (
roles/containeranalysis.occurrences.viewer
): affichez les failles, la preuve de 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 à des insights, mais pas d'effectuer d'autres actions telles que l'exécution de compilations dans Cloud Build.
- Pour plus d'informations sur les autorisations requises pour un service spécifique, reportez-vous à la documentation de ce service.
- Pour en savoir plus sur l'attribution d'autorisations, consultez la documentation Identity and Access Management sur l'attribution 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 projets Google Cloud, ou si vous utilisez des rôles IAM personnalisés ou des comptes de service personnalisés, vous devez accorder vous-même les autorisations appropriées.
Accorder des autorisations lorsque des services se trouvent dans le même projet
Si Cloud Build, Artifact Registry, Artifact Analysis et Cloud Run sont exécutés dans le même projet, chaque service utilise le compte de service par défaut pour agir au nom du service, et les autorisations par défaut restent inchangées. Les services peuvent tous fonctionner ensemble sans modifier les autorisations, mais vous devez accorder des autorisations aux utilisateurs qui ont besoin de consulter les insights du projet.
- Autorisations entre les services
Aucune modification n'est requise:
- Le compte de service Cloud Build par défaut dispose des autorisations nécessaires pour importer et télécharger des données avec Artifact Registry, ainsi que pour lire les données d'insights d'Artifact Analysis. Le service peut ainsi signer des images de conteneurs avec une 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 est autorisé à télécharger des images depuis Artifact Registry et à lire les données d'insights d'Artifact Analysis.
- Autorisations utilisateur pour afficher les insights
Vous devez attribuer aux utilisateurs de Cloud Build et Cloud Run les rôles requis pour qu'ils puissent afficher les insights.
Accorder des autorisations lorsque les services se trouvent dans des projets différents
Lorsque Artifact Registry et Artifact Analysis s'exécutent dans un projet distinct des autres services Google Cloud, vous devez explicitement accorder des autorisations pour toutes les activités multiprojets. Considérez la configuration de projet suivante:
- Cloud Build s'exécute dans le projet A
- Artifact Registry et Artifact Analysis exécutés dans le projet B
- Cloud Run s'exécute dans le projet C
- Autorisations entre les 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 pour le compte de ces services. Vous devez accorder les autorisations Artifact Registry et les autorisations Artifact Analysis appropriées dans le projet B où les artefacts et leurs métadonnées 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 les autorisations nécessaires pour importer et télécharger. - Le lecteur d'occurrences d'analyse d'artefacts (
roles/containeranalysis.occurrences.viewer
) accorde les autorisations nécessaires 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 les autorisations nécessaires au téléchargement pour les déploiements. - Le lecteur d'occurrences d'analyse d'artefacts (
roles/containeranalysis.occurrences.viewer
) accorde les autorisations nécessaires pour afficher des insights.
- Le lecteur Artifact Registry (
- Autorisations utilisateur pour afficher les insights
Dans le projet B, vous devez attribuer aux utilisateurs de Cloud Build et Cloud Run les rôles requis pour la vue des insights.
Étapes suivantes
- En savoir plus sur les services Software Delivery Shield dans la présentation
- Découvrez les pratiques de sécurité sur la chaîne d'approvisionnement logicielle et comment Software Delivery Shield peut vous aider à les mettre en œuvre.