Niveaux de service Premium et Enterprise (obsolètes)
Le niveau de service Security Command Center Enterprise sera arrêté le 21 mai 2027.
Si votre organisation utilise le niveau de service Enterprise, elle passera automatiquement au niveau de service Premium le 21 mai 2027 ou après.
Contactez votre responsable de compte ou un spécialiste des ventesGoogle Cloud si vous avez des questions.
Les clients Security Command Center peuvent avoir du mal à obtenir une vue centralisée et complète des résultats d'analyse de leurs environnements d'intégration continue/de déploiement continu (CI/CD). Cette absence de vue unifiée complique la gestion des failles. L'intégration CI/CD est un composant de Artifact Guard (aperçu ) qui vous permet de connecter plusieurs pipelines CI/CD pour vous aider à détecter les failles tout au long du cycle de vie du développement logiciel.
L'intégration CI/CD est compatible avec GitHub Actions, Cloud Build et Jenkins. Une fois connectée, vous pouvez utiliser l'une de ces plates-formes CI/CD pour configurer des règles Artifact Guard, ce qui vous permet de bénéficier d'une visibilité et d'un contrôle proactif sur votre stratégie de sécurité.
Présentation
L'intégration CI/CD offre les avantages suivants :
Application des règles de bout en bout : aide Artifact Guard à appliquer des règles de sécurité cohérentes du code au cloud.
Détection complète des menaces : analyse les failles, les secrets exposés, les licences problématiques et les packages malveillants.
Compatibilité CI/CD étendue : fonctionne avec Jenkins et GitHub Actions.
Optimisé pour CI/CD : un binaire léger assure un fonctionnement efficace dans les environnements locaux.
Sortie flexible : fournit des résultats aux formats JSON et SARIF standards du secteur.
Insights centralisés sur la sécurité : fournissent des vues claires sur la conformité aux règles directement dans votre tableau de bord de sécurité.
Ce scanner remplit nativement Security Command Center, ce qui permet d'obtenir une vue unifiée et axée sur les éléments des résultats de sécurité dès la création des artefacts.
L'intégration CI/CD vous aide à appliquer les règles Artifact Guard tout au long du cycle de vie du logiciel. Cela permet de s'assurer que les artefacts sont validés pour la conformité, de la compilation au déploiement.
Audience
L'intégration CI/CD peut aider les parties prenantes à effectuer les tâches suivantes :
Utilisateurs principaux : équipes DevOps et d'ingénierie des plates-formes
Gérer et intégrer : responsable de la gestion de l'outil d'analyse et de son intégration directe dans les pipelines CI/CD.
Configurer des règles : configurez les étapes d'analyse.
Surveiller la conformité : suivez la conformité des compilations et collaborez avec les administrateurs de sécurité pour affiner les règles.
Utilisateurs secondaires : administrateurs de la sécurité
Auteurs de règles : définissez et appliquez des règles de sécurité en fonction de la criticité métier.
Automatiser l'application : automatisez la sécurité dans CI/CD pour réduire le bruit des failles et définir des critères de gating.
Supervision : collaborez avec l'équipe DevOps et proposez un tableau de bord à la direction pour qu'elle puisse suivre les failles bloquées.
Utilisateurs secondaires : développeurs d'applications
Examiner et corriger : interagissez avec les résultats de l'évaluation des règles, examinez les résultats de compilation et corrigez les problèmes de sécurité signalés.
Évaluer : lancez l'évaluation des règles indirectement via le processus de compilation du pipeline CI.
Assurez la conformité : respectez les exigences de sécurité sans perturber les workflows de développement.
Termes et concepts clés
Common Vulnerabilities and Exposures (CVE) : faille de sécurité informatique divulguée publiquement et à laquelle est attribué un identifiant unique. Ces identifiants permettent de suivre les failles à corriger.
Nomenclature logicielle (SBOM, software bill of materials) : inventaire lisible par machine des composants logiciels et des dépendances. Une SBOM inclut des informations sur la version, l'origine et d'autres détails pertinents de chaque composant. Les SBOM peuvent être utilisées pour identifier les CVE et d'autres risques de sécurité.
Artefact : résultat validé et versionné du développement logiciel, tel que des données ou un élément créé lors du processus de compilation.
Connecteur : tag pour les images. Lorsqu'il est transmis du pipeline CI à Artifact Guard, un connecteur détermine les règles à exécuter sur l'image en cours de compilation.
Règle CI : règle de sécurité définissant les règles ou les critères permettant de contrôler les failles et les packages autorisés dans votre environnement.
Workflow de haut niveau
Créez des connecteurs CI.
Créez des règles de protection des artefacts à l'aide des connecteurs configurés à l'étape précédente pour définir le champ d'application des règles.
Lancer des évaluations d'artefacts
Lors d'une évaluation, une image est créée et évaluée par rapport à des règles prédéfinies. Si les règles échouent, la compilation échoue. Les ingénieurs DevOps ou d'application doivent ensuite examiner les détails de l'échec pour trouver la faille spécifique, mettre à jour la dépendance en fonction des détails du CVE et relancer le pipeline.
Avant de commencer
Pour utiliser l'intégration CI/CD, vous devez activer Artifact Guard. Pour obtenir des instructions, consultez la section Avant de commencer de la documentation sur Artifact Guard.
Vous pouvez ensuite créer des connecteurs dans la consoleGoogle Cloud ou à l'aide de la Google Cloud CLI .
Créer un connecteur dans la console Google Cloud
Pour créer un connecteur, procédez comme suit :
Dans la console Google Cloud , accédez à Sécurité > Paramètres .
Sur la fiche Protection contre les artefacts , cliquez sur Gérer les paramètres .
Cliquez sur Créer un connecteur et saisissez les informations suivantes :
ID du connecteur : ajoutez un ID pour le connecteur.
Description : saisissez une description du connecteur.
Plate-forme CI/CD : sélectionnez la plate-forme CI/CD correspondante dans la liste. Ce connecteur ne doit être utilisé que dans les pipelines créés avec la plate-forme CI/CD fournie.
Cliquez sur Créer .
Une notification confirme que le connecteur a bien été créé. Les connecteurs disponibles sont listés dans le tableau "Connecteurs".
Pour supprimer un connecteur, cliquez sur more_vert à côté du connecteur, puis sélectionnez Supprimer le connecteur et suivez les instructions. Cliquez sur Annuler pour annuler.
Pour associer une règle à un connecteur, cliquez sur more_vert à côté du connecteur, puis sélectionnez Ajouter une règle . Suivez les étapes pour créer une règle Artifact Guard. Pour en savoir plus, consultez Créer une règle .
Créer un connecteur à l'aide de Google Cloud CLI
Cette section décrit les commandes gcloud CLI disponibles pour l'analyse des artefacts CI/CD et explique comment les utiliser.
Prérequis de Google Cloud CLI
Assurez-vous que votre version de gcloud CLI est 559.0.0 ou ultérieure.
Définissez votre projet comme projet de configuration.
Pour ce faire, exécutez les commandes gcloud CLI suivantes :
gcloud components update --version= 559 .0.0
gcloud config set project PROJECT_ID
Commandes Google Cloud CLI
create
gcloud alpha scc artifact-guard connectors create CONNECTOR_ID \
--location= LOCATION \
( --organization= ORGANIZATION_ID | --project= PROJECT_NUMBER ) \
--pipeline-type= PIPELINE_TYPE \
[ --description= DESCRIPTION ] \
[ --display-name= DISPLAY_NAME ]
CONNECTOR_ID : ID du connecteur à créer.
PIPELINE_TYPE : type de pipeline CI/CD. Il doit s'agir de l'une des options suivantes :
GOOGLE_CLOUD_BUILD
GITHUB_ACTIONS
JENKINS_PIPELINE
DESCRIPTION : description textuelle du connecteur.
DISPLAY_NAME : nom à afficher convivial pour le connecteur.
get
gcloud alpha scc artifact-guard connectors describe CONNECTOR_ID \
--location= LOCATION \
( --organization= ORGANIZATION_ID | --project= PROJECT_NUMBER )
CONNECTOR_ID : ID du connecteur à décrire.
list
gcloud alpha scc artifact-guard connectors list PARENT
PARENT : une organisation ou un projet. Les formats acceptés pour la ressource parente sont les suivants :
{organizations/ORGANIZATION_ID /locations/LOCATION }
{projects/PROJECT_NUMBER /locations/LOCATION }
supprimer
gcloud alpha scc artifact-guard connectors delete CONNECTOR_ID \
--location= LOCATION \
( --organization= ORGANIZATION_ID | --project= PROJECT_NUMBER )
CONNECTOR_ID : ID du connecteur à supprimer.
Exécuter une évaluation
L'analyse des failles est compatible avec les actions GitHub et les pipelines Jenkins.
Pour effectuer une évaluation, vous devez procéder comme suit :
Créez des secrets pour l'authentification.
Créez un fichier de modèle d'intégration spécifique à votre pipeline.
Lancez une évaluation.
Configuration des secrets
Les pipelines CI/CD exécutés en dehors de Google Cloud peuvent s'authentifier à l'aide de clés de compte de service ou de la fédération d'identité de charge de travail. Pour obtenir des instructions détaillées sur la création de secrets, consultez les pages suivantes :
Clés de compte de service
Fédération d'identité de charge de travail (pour GitHub Actions)
Vous devez ajouter des secrets à votre environnement CI/CD à l'aide de l'une des méthodes suivantes :
Méthode de la clé de compte de service
Un secret :
GCP_CREDENTIALS : contenu du fichier JSON de clé de compte de service que vous avez téléchargé.
Méthode de fédération d'identité de charge de travail
Deux secrets :
GCP_WORKLOAD_IDENTITY_PROVIDER : nom complet de la ressource de votre fournisseur d'identité de charge de travail. Exemple :projects/12345/locations/global/workloadIdentityPools/my-pool/providers/my-provider
GCP_SERVICE_ACCOUNT : adresse e-mail du compte de service dont l'identité doit être empruntée.
Modèles d'intégration de pipeline
Pour déclencher une évaluation, vous devez créer un fichier spécifique à votre pipeline (Cloud Build, GitHub Actions ou Jenkins) à l'aide des exemples de modèles suivants :
GitHub Actions (secret) Ce modèle est destiné aux actions GitHub utilisant une clé secrète.
GitHub Actions (WIF) Ce modèle est destiné aux actions GitHub utilisant la fédération d'identité de charge de travail.
Définitions des variables
Cette section fournit des informations sur les champs de variables utilisés dans les modèles d'intégration de pipelines .
IMAGE_NAME_TO_SCAN (obligatoire)
Spécifie le tag de l'image d'application à créer.
GCP_PROJECT_ID (obligatoire)
Spécifie l'ID du projet Google Cloud utilisé pour l'authentification et la configuration.
AR_REPOSITORY (facultatif)
Indique le nom du dépôt Artifact Registry dans lequel l'image sera publiée si la compilation réussit.
ORGANIZATION_ID (obligatoire)
ID de l'organisation Google Cloud .
CONNECTOR_ID (obligatoire)
Spécifie l'ID de connecteur du pipeline à utiliser.
SCANNER_IMAGE (obligatoire)
L'image du scanner prédéfini analyse le code, identifie les failles en évaluant les images par rapport aux règles pendant la compilation et produit un résultat de conformité pour déterminer si le pipeline CI/CD réussit ou échoue.
Détails de l'image : us-central1-docker.pkg.dev/ci-plugin/ci-images/scc-artifactguard-scan-image:latest
VERBOSITY (facultatif)
Niveau de détail faible (concis) ArtifactGuard Conformance : False
Indique la raison de l'échec.
Liste uniquement les CVE spécifiques qui ont provoqué l'échec.
Fournit un récapitulatif du nombre de CVE classées par niveau de gravité.
Conformité ArtifactGuard : réussite
Détaille les noms des règles.
Fournit uniquement le nombre récapitulatif de CVE par niveau de gravité.
Verbosité élevée (détaillée) Fournit une liste complète de toutes les failles détectées.
ArtifactGuard Conformance : False
Inclut la raison de l'échec.
Liste les CVE à l'origine de l'échec.
Fournit la liste de toutes les CVE détectées pour la règle.
Fournit un récapitulatif du nombre de CVE par niveau de gravité.
Fournit une liste complète de toutes les failles détectées.
Conformité ArtifactGuard : réussite
Fournit la liste de toutes les CVE détectées pour la règle.
Fournit un récapitulatif du nombre de CVE par niveau de gravité.
Fournit une liste complète de toutes les failles détectées.
IGNORE_SERVER_ERRORS (facultatif)
Indicateur booléen facultatif. Si la valeur est true, le pipeline se poursuit malgré les erreurs de serveur. La valeur par défaut est false.
Lancer une évaluation
Lors du processus de compilation, une stratégie basée sur Docker évalue l'image par rapport à des règles prédéfinies. La logique d'analyse des failles est contenue dans l'image us-central1-docker.pkg.dev/ci-plugin/ci-images/scc-artifactguard-scan-image:latest.
Pour lancer une analyse des failles dans votre pipeline CI/CD, exécutez la commande suivante :
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ${{ steps.auth.outputs.credentials_file_path }} :/gcp-creds.json \
-e GOOGLE_APPLICATION_CREDENTIALS = /gcp-creds.json \
-e GCP_PROJECT_ID = " ${ GCP_PROJECT_ID } " \
-e ORGANIZATION_ID = " ${ ORGANIZATION_ID } " \
-e IMAGE_NAME = " ${ IMAGE_NAME } " \
-e IMAGE_TAG = " ${ IMAGE_TAG } " \
-e CONNECTOR_ID = " ${ CONNECTOR_ID } " \
-e RUN_ID = " ${{ github.run_number }}" \
" ${ SCANNER_IMAGE } " \
|| exit_code = $?
L'intégration CI/CD propage les codes de sortie du conteneur Docker à l'environnement d'exécution Jenkins ou GitHub Actions, qui détermine ensuite l'état de réussite ou d'échec du pipeline.
Évaluation des artefacts : une image n'est évaluée que si elle répond aux critères suivants :
La taille de l'objet URL (Uniform Resource Locator) du package ne peut pas dépasser 100 Mo.
L'image ne doit pas contenir plus de 500 URL de pages personnalisées.
Jusqu'à 1 200 requêtes API par minute (20 RPS) par projet client pour toutes les méthodes du service Artifact Guard.
SLO : L'évaluation des artefacts prend environ deux minutes.
Dépannage
Cette section décrit les erreurs courantes et explique comment les résoudre.
Échecs CreateConnector
Champ
Obligatoire/Facultatif
Contraintes
name
Obligatoire
Format : doit correspondre à l'expression régulière
[a-zA-Z0-9\\-\\s_]+$
Correspond à un ou plusieurs des éléments suivants :
des lettres (majuscules ou minuscules) ;
chiffres
tiret -
espace blanc (\s)
trait de soulignement _
Longueur maximale : 64 caractères.
pipeline_type
Obligatoire
Doit correspondre à l'une des valeurs d'énumération suivantes :
JENKINS_PIPELINE
GITHUB_ACTIONS
GOOGLE_CLOUD_BUILD
description
Facultatif
Ne doit pas dépasser 256 caractères.
display_name
Facultatif
Ne doit pas dépasser 256 caractères.
Autres erreurs
Le tableau suivant présente certaines erreurs courantes et explique comment les résoudre.
Message d'erreur
Cause
Action/Résolution
Autorisation artifactscanguard.connectors.create refusée pour la ressource
L'utilisateur ou le compte de service ne dispose pas de l'autorisation IAM artifactscanguard.connectors.create sur la ressource (projet, dossier ou organisation).
Attribuez à l'appelant un rôle IAM qui inclut l'autorisation artifactscanguard.connectors.create.
status.ErrFailedPrecondition
L'intégration peut être en cours, même si la console Google Cloud indique que le service est activé.
Signalez un problème à l'équipe d'assistance.
status.ErrInvalidArgument
Échecs de validation des champs
Assurez-vous que la requête CreateConnector respecte les contraintes spécifiées.