Cette page explique comment utiliser le service de découverte de Sensitive Data Protection pour déterminer si des secrets sont présents dans vos variables d'environnement Cloud Run. Le service de protection des données sensibles signale les résultats à Security Command Center en tant que failles.
À propos de Security Command Center
Security Command Center est le service centralisé de signalement des failles et des menaces de Google Cloud. Security Command Center vous aide à renforcer votre stratégie de sécurité en identifiant les erreurs de configuration, les failles, les observations et les menaces. Il fournit également des recommandations pour examiner et corriger les résultats.
Pourquoi analyser les secrets dans les variables d'environnement ?
Le stockage de secrets, tels que des mots de passe, dans des variables d'environnement n'est pas une pratique sécurisée, car les variables d'environnement ne sont pas chiffrées. Leurs valeurs peuvent être collectées et exposées dans différents systèmes, tels que les journaux. Nous vous recommandons d'utiliser Secret Manager pour stocker vos secrets. Pour en savoir plus, consultez la documentation Cloud Run et Cloud Run Functions sur la configuration des secrets.
Fonctionnement
Pour effectuer la découverte des secrets, vous devez créer une configuration d'analyse de découverte au niveau de l'organisation ou du projet. Dans le champ d'application que vous avez sélectionné, Sensitive Data Protection analyse périodiquement Cloud Run à la recherche de secrets dans les variables d'environnement de compilation et d'exécution.
Si un secret est présent dans une variable d'environnement, le service de protection des données sensibles envoie un résultat de faille Secrets in environment variables
à Security Command Center. Aucun profil de données n'est généré. Les résultats ne sont disponibles que dans Security Command Center.
La protection des données sensibles génère au maximum un résultat par ressource. Par exemple, si des secrets sont détectés dans deux variables d'environnement de la même fonction Cloud Run, un seul résultat est généré dans Security Command Center.
Dans Security Command Center, vous pouvez afficher les résultats Secrets in environment variables
lorsque vous effectuez les opérations suivantes :
- Examiner les résultats de la protection des données sensibles
- Affichez ou exportez un rapport de conformité pour la norme CIS 1.3 ou CIS 2.0.
Le code JSON suivant illustre un exemple de résultat Secrets in environment variables
. Cet exemple ne montre que les champs pertinents pour cette fonctionnalité. Il ne fournit pas de liste exhaustive des champs.
Secrets dans les variables d'environnement
{ "finding": { "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID", "category": "SECRETS_IN_ENVIRONMENT_VARIABLES", "compliances": [ { "standard": "cis", "version": "1.3", "ids": [ "1.18" ] } ], "createTime": "DATE_TIME", "description": "The affected resource is storing credentials or other secret information in its environment variables. This is a security vulnerability because environment variables are stored unencrypted, and accessible to all users who have access to the code.", "eventTime": "DATE_TIME", "findingClass": "VULNERABILITY", "findingProviderId": "organizations/ORGANIZATION_ID/firstPartyFindingProviders/dlp", "mute": "MUTE_STATUS", "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID", "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID", "parentDisplayName": "Sensitive Data Protection", "resourceName": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID", }, "resource": { "name": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID", "display_name": "projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID", "type": "google.cloudfunctions.CloudFunction", "project_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "project_display_name": "PROJECT_DISPLAY_NAME", "parent_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "parent_display_name": "PARENT_DISPLAY_NAME" } }
Latence de génération des résultats
Selon la taille de votre organisation, les résultats de Sensitive Data Protection peuvent commencer à s'afficher dans Security Command Center quelques minutes après l'activation de la découverte des données sensibles. Pour les grandes entreprises ou celles qui ont des configurations spécifiques affectant la génération de résultats, il peut s'écouler jusqu'à 12 heures avant que les premiers résultats n'apparaissent dans Security Command Center.
Ensuite, Sensitive Data Protection génère des résultats dans Security Command Center quelques minutes après que le service de découverte a analysé vos ressources.
Types de secrets signalés
Les mots de passe, les jetons d'authentification et les identifiants Google Cloudsont des exemples de secrets. Pour obtenir la liste complète des types de secrets que la protection des données sensibles recherche dans cette fonctionnalité, consultez Identifiants et secrets.
Ressources compatibles
Pour la découverte des secrets, Sensitive Data Protection est compatible avec Cloud Run Functions (y compris Cloud Functions de 1re génération) et les révisions de service Cloud Run.
Tarifs
Cette fonctionnalité est disponible sans frais liés à la protection des données sensibles. Des frais Security Command Center peuvent s'appliquer, en fonction de votre niveau de service. Sensitive Data Protection est compatible avec Security Command Center dans tous les niveaux de service.
Résidence des données
La première fois que vous créez une configuration d'analyse, vous spécifiez l'emplacement où vous souhaitez que Sensitive Data Protection la stocke. Toutes les configurations d'analyse ultérieures que vous créez sont stockées dans cette même région. Sensitive Data Protection exporte vos métadonnées Cloud Run vers la région où votre configuration d'analyse est stockée, mais la révision de la fonction ou du service elle-même n'est pas exportée.
Si la protection des données sensibles détecte des secrets dans les variables d'environnement, les résultats sont envoyés à Security Command Center et sont soumis à ses processus de traitement des données.
Rôles IAM requis
Pour effectuer la découverte des secrets, vous avez besoin des rôles Identity and Access Management requis pour profiler les données :
Pour découvrir les secrets au niveau de l'organisation, consultez Rôles requis pour utiliser des profils de données au niveau de l'organisation.
Pour découvrir les secrets au niveau du projet, consultez Rôles requis pour utiliser des profils de données au niveau du projet.
De plus, vous devez disposer des rôles appropriés pour utiliser les résultats Security Command Center. Pour en savoir plus, consultez IAM pour les activations au niveau de l'organisation dans la documentation Security Command Center.
Avant de commencer
Vérifiez le niveau d'activation de Security Command Center pour votre organisation. Pour envoyer des profils de données à Security Command Center, vous devez avoir activé Security Command Center au niveau de l'organisation, quel que soit le niveau de service. Pour en savoir plus, consultez Activer Security Command Center pour une organisation.
Si Security Command Center n'est activé qu'au niveau du projet, les résultats de Sensitive Data Protection n'apparaissent pas dans Security Command Center.
Dans Security Command Center, assurez-vous que Protection des données sensibles est activé en tant que service intégré. Pour en savoir plus, consultez Ajouter un serviceGoogle Cloud intégré.
Configurer la découverte des secrets au niveau de l'organisation
Suivez ces étapes si vous souhaitez activer la découverte des secrets dans l'ensemble d'une organisation. Pour la découverte au niveau du projet, consultez Configurer la découverte des secrets au niveau du projet.
Si vous ne disposez pas du rôle Administrateur de l'organisation (roles/resourcemanager.organizationAdmin
) ni du rôle Administrateur de sécurité (roles/iam.securityAdmin
), vous pouvez quand même créer une configuration d'analyse. Toutefois, une fois la configuration d'analyse créée, une personne disposant de l'un de ces rôles doit accorder l'accès à la découverte à votre agent de service.
Accédez à la page Créer une configuration d'analyse.
Accédez à votre organisation. Dans la barre d'outils, cliquez sur le sélecteur de projet, puis sélectionnez votre organisation.
Après chaque étape de cette page, cliquez sur Continuer.
Dans Sélectionner un type de détection, sélectionnez Failles liées aux secrets/identifiants.
Pour Sélectionner le champ d'application, indiquez si vous souhaitez analyser l'ensemble de l'organisation.
Pour le champ Gérer le conteneur et la facturation de l'agent de service, spécifiez le projet à utiliser en tant que conteneur d'agent de service. Vous pouvez demander à la protection des données sensibles de créer automatiquement un projet, ou bien sélectionner un projet existant.
Si vous n'avez pas de projet à utiliser comme conteneur d'agent de service, sélectionnez Créer un projet faisant office de conteneur d'agent de service. Sensitive Data Protection crée un projet nommé Conteneur d'agent de service DLP. L'agent de service de ce projet sera utilisé pour s'authentifier auprès de Sensitive Data Protection et d'autres API. Le système vous invite à sélectionner le compte à facturer pour toutes les opérations facturables associées à ce projet, y compris les opérations non liées à la découverte.
Si vous ne disposez pas des autorisations nécessaires pour créer des projets, l'option Créer un projet en tant que conteneur d'agent de service est désactivée. Dans ce cas, vous devez sélectionner un projet existant ou demander à votre administrateurGoogle Cloud de vous accorder le rôle Créateur de projet (
roles/resourcemanager.projectCreator
).Si vous disposez d'un conteneur d'agent de service existant que vous souhaitez réutiliser, sélectionnez Sélectionner un conteneur d'agent de service existant. Cliquez ensuite sur Parcourir pour sélectionner l'ID du projet du conteneur d'agent de service.
Pour Définir l'emplacement de stockage de la configuration, sélectionnez la région dans laquelle vous souhaitez stocker la configuration d'analyse. Toutes les configurations d'analyse que vous créerez ultérieurement seront également stockées à cet emplacement. Pour en savoir plus sur les considérations relatives à la résidence des données, consultez la section Résidence des données sur cette page.
Facultatif : Si vous ne souhaitez pas que l'analyse commence peu de temps après la création de la configuration d'analyse, sélectionnez Créer une analyse en mode suspendu.
Cette option est utile dans les cas suivants :
- Votre administrateur Google Cloud doit toujours accorder l'accès à la découverte à l'agent de service.
- Vous souhaitez créer plusieurs configurations d'analyse et que certaines d'entre elles doivent remplacer d'autres.
Cliquez sur Créer.
Sensitive Data Protection commence à analyser vos variables d'environnement Cloud Run peu de temps après la création d'une configuration d'analyse ou la reprise d'une configuration suspendue. Pour savoir combien de temps il faut pour que les résultats s'affichent dans Security Command Center, consultez la section Latence de génération des résultats sur cette page.
Si vous ne disposez pas du rôle Administrateur de l'organisation (roles/resourcemanager.organizationAdmin
) ni Administrateur de sécurité (roles/iam.securityAdmin
), une personne disposant de l'un de ces rôles doit accorder l'accès à la découverte à votre agent de service avant que la découverte puisse commencer.
Configurer la découverte des secrets au niveau du projet
Suivez ces étapes si vous souhaitez activer la découverte des secrets pour un seul projet. Pour la découverte au niveau de l'organisation, consultez Configurer la découverte des secrets au niveau de l'organisation.
Accédez à la page Créer une configuration d'analyse.
Accédez à votre projet. Dans la barre d'outils, cliquez sur le sélecteur de projet et sélectionnez votre projet.
Après chaque étape de cette page, cliquez sur Continuer.
Dans Sélectionner un type de détection, sélectionnez Failles liées aux secrets/identifiants.
Pour Sélectionner le champ d'application, assurez-vous que l'option Analyser l'ensemble du projet est sélectionnée. Si ce n'est pas le cas, assurez-vous d'être dans la vue du projet.
Pour Définir l'emplacement de stockage de la configuration, sélectionnez la région dans laquelle vous souhaitez stocker la configuration d'analyse. Toutes les configurations d'analyse que vous créerez ultérieurement seront également stockées à cet emplacement. Pour en savoir plus sur les considérations relatives à la résidence des données, consultez la section Résidence des données sur cette page.
Cliquez sur Créer.
Sensitive Data Protection commence à analyser vos variables d'environnement Cloud Run peu de temps après la création d'une configuration d'analyse ou la reprise d'une configuration suspendue. Pour savoir combien de temps il faut pour que les résultats s'affichent dans Security Command Center, consultez la section Latence de génération des résultats sur cette page.
Interroger les résultats Secrets in environment variables
Voici des exemples de requêtes que vous pouvez utiliser pour trouver des résultats Secrets in
environment variables
dans Security Command Center. Vous pouvez saisir ces requêtes dans le champ Éditeur de requête. Pour en savoir plus sur l'éditeur de requêtes, consultez Modifier une requête de résultats dans le tableau de bord Security Command Center.
Lister tous les résultats Secrets in environment variables
state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
Lister tous les résultats Secrets in environment variables
pour un projet spécifique
state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
AND resource.project_name="//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"
Remplacez les éléments suivants :
- PROJECT_NUMBER : ID numérique du projet pour lequel vous souhaitez exécuter une requête