Contrôler l'accès et protéger les artefacts

Cette page décrit les services et les fonctionnalités qui vous aident à protéger vos artefacts. Google Cloud

Chiffrement au repos

Par défaut, Google Cloud chiffre automatiquement les données au repos à l'aide de clés de chiffrement gérées par Google. Si vous avez des exigences réglementaires ou de conformité spécifiques concernant les clés qui protègent vos données, vous pouvez créer des dépôts chiffrés avec des clés de chiffrement gérées par le client (CMEK).

Contrôle des accès

Par défaut, tous les dépôts sont privés. Suivez le principe de sécurité du moindre privilège et n'accordez que le minimum d'autorisations requises par les utilisateurs et les comptes de service.

Restreindre les téléchargements d'artefacts

Vous pouvez restreindre les téléchargements d'artefacts à l'aide de règles de téléchargement. Les règles de téléchargement vous permettent d'autoriser ou de refuser le téléchargement d'artefacts à partir de vos dépôts et packages. Vous pouvez également définir des conditions pour que la règle s'applique à des tags ou des versions spécifiques.

Pour chaque dépôt de votre projet, vous pouvez définir une règle de téléchargement au niveau du dépôt et une règle de téléchargement par package. Lorsqu'un client tente de télécharger un artefact, Artifact Registry recherche d'abord une règle de téléchargement sur le package de l'artefact. Si aucune règle n'existe ou si les conditions de la règle ne s'appliquent pas à l'artefact, Artifact Registry recherche une règle dans le dépôt.

Par exemple, vous pouvez créer une règle pour votre dépôt afin de refuser tous les téléchargements, puis créer une règle pour un package afin d'autoriser les téléchargements à partir de ce package spécifique. La règle au niveau du package est prioritaire. Seuls les artefacts appartenant à ce package peuvent être téléchargés à partir du dépôt.

Les règles de téléchargement sont disponibles dans tous les modes de dépôt et pour les formats de dépôt suivants :

  • Docker
  • Go
  • Maven
  • npm
  • Python

Prévenez l'exfiltration de données

Pour éviter l'exfiltration de données, vous pouvez utiliser VPC Service Controls pour placer Artifact Registry et d'autres services Google Cloud dans un périmètre de sécurité réseau.

Analyse des failles

Artifact Analysis peut rechercher les failles de sécurité dans les images de conteneurs en se basant sur des packages surveillés publiquement.

Les options suivantes sont disponibles :

Analyse automatique des failles
Lorsqu'elle est activée, cette fonctionnalité identifie les failles de package de vos images de conteneurs. Les images sont analysées lors de leur importation dans Artifact Registry, et les données sont surveillées en permanence pour détecter de nouvelles failles pendant un maximum de 30 jours après le transfert de l'image.
API On-Demand Scanning
 Lorsque cette option est activée, vous pouvez analyser manuellement les images locales ou les images stockées dans Artifact Registry. Cette fonctionnalité vous permet de détecter et de corriger les failles dès le début de votre pipeline de compilation. Par exemple, vous pouvez utiliser Cloud Build pour analyser une image après sa création, puis bloquer l'importation dans Artifact Registry si l'analyse détecte des failles à un niveau de gravité spécifié. Si vous avez également activé l'analyse automatique des failles, Artifact Analysis analyse aussi les images que vous importez dans le registre.

Stratégie de déploiement

Vous pouvez utiliser l'autorisation binaire pour configurer une stratégie que le service applique en cas de tentative de déploiement d'une image de conteneur dans l'un des environnements compatibles Google Cloud .

Par exemple, vous pouvez configurer l'autorisation binaire pour n'autoriser les déploiements que si une image est signée pour la conformité avec une règle d'analyse des failles.

Supprimer les images inutilisées

Supprimez les images de conteneurs inutilisées pour réduire les coûts de stockage et atténuer les risques liés à l'utilisation d'anciens logiciels. Plusieurs outils sont disponibles pour vous aider dans cette tâche, y compris gcr-cleaner. L'outil gcr-cleaner n'est pas un produit Google officiel.

Intégrer la sécurité dès le départ

L'intégration des objectifs de sécurité des informations dans le travail quotidien peut contribuer à améliorer les performances de livraison des logiciels et à créer des systèmes plus sécurisés. Cette approche est également connue sous le nom de shifting left (déplacement à gauche), car les préoccupations, y compris de sécurité, sont traitées plus tôt dans le cycle de développement logiciel (c'est-à-dire situées à gauche sur un planning d'exécution de gauche à droite). Le virage à gauche pour la sécurité fait partie des capacités DevOps identifiées dans le programme de recherche sur l'état du DevOps de DORA.

Pour en savoir plus :

  • En savoir plus sur la fonctionnalité Intégrer la sécurité dès le départ
  • Lisez le livre blanc Test Shift-left pour la sécurité, qui décrit les responsabilités, les pratiques, les processus, les outils et les techniques qui permettent d'améliorer le niveau de confiance du cycle de vie de développement logiciel (SDLC) et de limiter les problèmes de sécurité.

Éléments à prendre en compte pour les dépôts publics

Soyez très attentif aux points suivants :

  • Utilisation d'artefacts provenant de sources publiques
  • Rendre vos propres dépôts Artifact Registry publics

Utiliser des artefacts provenant de sources publiques

Les sources publiques d'artefacts suivantes fournissent des outils que vous pouvez utiliser ou des dépendances pour vos compilations et déploiements :

Toutefois, votre organisation peut avoir des contraintes qui ont un impact sur votre utilisation des artefacts publics. Exemple :

  • Vous souhaitez contrôler le contenu de votre chaîne d'approvisionnement logicielle.
  • Vous ne voulez pas dépendre d'un dépôt externe.
  • Vous souhaitez maîtriser strictement les failles de votre environnement de production.
  • Vous voulez le même système d'exploitation de base dans chaque image.

Voici quelques approches à envisager pour sécuriser votre chaîne d'approvisionnement logicielle :

  • Configurez des compilations automatiques pour que vos artefacts aient un contenu cohérent et connu. Vous pouvez utiliser les déclencheurs de compilation Cloud Build ou d'autres outils d'intégration continue.
  • Utilisez des images de base standardisées. Google fournit des images de base que vous pouvez utiliser.
  • Corrigez les failles de vos artefacts. Vous pouvez utiliser l'API On-Demand Scanning pour analyser les images de conteneurs et détecter les failles avant de les stocker dans Artifact Registry. Artifact Analysis peut également analyser les conteneurs que vous envoyez à Artifact Registry.

Dépôts Artifact Registry publics

Vous pouvez rendre public un dépôt Artifact Registry en attribuant le rôle Lecteur Artifact Registry à l'identité allUsers.

Si tous vos utilisateurs disposent de comptes Google Cloud , vous pouvez limiter l'accès aux utilisateurs authentifiés avec l'identité allAuthenticatedUsers.

Tenez compte des consignes suivantes avant de rendre public un dépôt Artifact Registry :

  • Vérifiez que tous les artefacts que vous stockez dans le dépôt sont partageables publiquement et n'exposent pas d'identifiants, de données personnelles ni de données confidentielles.
  • Par défaut, les projets ont des quotas par utilisateur illimités. Pour éviter tout abus, limitez les quotas par utilisateur dans votre projet.
- Vous êtes facturé pour le transfert de données réseau lorsque les utilisateurs téléchargent des artefacts. Si vous prévoyez un trafic de téléchargement Internet important, tenez compte des coûts associés.

Conseils pour les applications Web

  • Le Top 10 de l'OWASP liste les principaux risques de sécurité pour les applications Web selon l'Open Web Application Security Project (OSWAP).

Conseils pour les conteneurs

  • Le CIS (Center for Internet Security) dispose d'un benchmark Docker permettant d'évaluer la sécurité d'un conteneur Docker.

    Docker fournit un script Open Source appelé Docker Bench for Security. Vous pouvez exécuter ce script pour vérifier qu'un conteneur Docker en cours d'exécution respecte certains critères du benchmark Docker du CIS.

    Le script Docker Bench for Security vous permet de vérifier de nombreux éléments dans le benchmark Docker du CIS. Cependant, tous les éléments ne sont pas vérifiables avec le script. Par exemple, le script ne peut pas vérifier si l'hôte du conteneur est renforcé ou si l'image du conteneur inclut des données à caractère personnel. Examinez tous les éléments du benchmark et identifiez ceux qui peuvent nécessiter une validation supplémentaire.

Étapes suivantes

En savoir plus sur la gestion des dépendances