Notifications programmatiques des résultats du Centre de confiance¶
Les scanners du Centre de confiance sont exécutés dans les comptes clients afin de mettre en évidence les violations de sécurité ou de détecter les menaces potentielles sous forme de résultats. Les résultats apparaissent automatiquement dans Snowsight. Un administrateur du Centre de confiance peut également configurer les notifications afin que les utilisateurs disposant d’adresses e-mail vérifiées reçoivent des notifications sur les résultats sous forme d’e-mails.
Cet aperçu introduit la prise en charge de notifications supplémentaires telles que les webhooks (PagerDuty, Slack, Microsoft Teams) et files d’attente (Amazon SNS, Azure Event Grid, Google Pub/Sub) pour les résultats du Centre de confiance. Les notifications sont déclenchées par un événement spécifique, tel que la génération d’un résultat. L’utilisation d’intégrations de notification avec le Centre de confiance offre la possibilité de recevoir des notifications indépendantes de Snowsight, via un service PagerDuty configuré par le client, un sujet SNS ou un autre point de terminaison.
Pour plus d’informations, voir CREATE NOTIFICATION INTEGRATION.
Configurer les intégrations de notification pour les résultats du Centre de confiance¶
Pour configurer des intégrations de notification pour le Centre de confiance, procédez comme suit :
Créer une intégration de notification¶
Pour permettre au Centre de confiance d’envoyer des notifications à un système tiers, exécutez la commande CREATE NOTIFICATION INTEGRATION.
Note
Seules les intégrations de notification sortantes sont prises en charge.
Pour plus d’informations, voir CREATE NOTIFICATION INTEGRATION.
Les exemples suivants montrent comment créer des intégrations de notification :
AWS SNS
Webhook PagerDuty
L’exemple suivant crée un webhook qui s’appuie sur un secret.
Note
Le Centre de confiance remplit le SNOWFLAKE_WEBHOOK_MESSAGE avec la sortie de notification en format JSON. Configurez votre intégration de notification pour traiter cela de manière appropriée.
Accorder l’accès à l’intégration¶
Pour permettre au Centre de confiance d’utiliser une intégration pour envoyer des notifications, accordez le privilège USAGE sur l’intégration de notification à l’application SNOWFLAKE. Par exemple :
Si l’intégration s’appuie sur un secret, comme une clé d’intégration webhook PagerDuty, accordez les privilèges supplémentaires suivants à l’ application SNOWFLAKE :
Privilège READ sur le secret.
Privilège USAGE sur la base de données qui contient le secret
Privilège USAGE sur le schéma qui contient le secret
Par exemple :
Configurer les paramètres de notification d’un scanner¶
Vous devez définir pour chaque scanner ou paquet de scanner les résultats qui déclenchent une notification webhook. La configuration NOTIFICATION_INTEGRATION contient cette définition. Pour définir la configuration NOTIFICATION_INTEGRATION d’un scanner ou d’un paquet de scanners, utilisez la procédure stockée SET_CONFIGURATION(). La valeur de la configuration est une chaîne contenant un tableau d’objets JSON. Chaque objet spécifie ce qui suit :
Clé |
Description |
|---|---|
|
Nom de l’intégration de notification à utiliser. |
|
Niveau de gravité minimum d’un résultat qui déclenche une notification. Les valeurs valides sont |
|
En option. Lorsque définie sur |
L’exemple suivant définit une configuration de notification pour tous les scanners dans le paquet de scanner CIS_BENCHMARKS :
L’exemple suivant définit une configuration de notification pour un scanner spécifique (CIS_BENCHMARKS_CIS1_1) dans un paquet de scanner :
Vous pouvez configurer plusieurs intégrations de notification pour le même scanner ou le même paquet de scanner. L’exemple suivant configure le paquet de scanner CIS_BENCHMARKS pour que l’intégration Azure Event Grid reçoive des notifications pour les résultats CRITICAL, que l’intégration PagerDuty reçoive des notifications pour les résultats HIGH ou CRITICAL et que l’intégration AWS SNS reçoive des notifications pour les résultats de tout niveau de gravité :
Pour supprimer la configuration de notification d’un scanner, appelez la procédure stockée UNSET_CONFIGURATION :
Exécuter le scanner¶
Le Centre de confiance prend en charge les scanners basés sur la programmation et les scanners basés sur les événements. Après avoir défini la configuration, vous pouvez exécuter un scanner à la demande ou attendre que le scanner s’exécute selon sa planification ou soit déclenché par un événement.
Note
Un scanner basé sur les événements n’envoie pas de notification s’il ne détecte aucun résultat.
Les notifications d’intégration ne sont envoyées pour les résultats d’un scanner que lorsque le seuil de gravité est atteint ou dépassé.
Pour déclencher manuellement un scanner, utilisez l’une des méthodes suivantes :
Snowsight : Accédez à Trust Center > Manage Scanners, sélectionnez le menu à trois points pour le scanner, puis sélectionnez Run Scanner.
Pour plus d’informations, voir Exécuter un paquet de scanner à la demande.
SQL : Appelez la procédure stockée
EXECUTE_SCANNER. Par exemple :
Interpréter la sortie de la notification¶
Lorsqu’un scanner du Centre de confiance s’exécute et produit des résultats qui atteignent le seuil de gravité configuré, le message de notification contient un objet JSON similaire au suivant :
Note
Ce qui précède est un exemple. La charge utile réelle diffère en fonction de l’intégration de notification configurée. Les champs at_risk_entities et metadata sont inclus dans le message de notification uniquement lorsque INCLUDE_AT_RISK_ENTITIES_AND_FINDING_METADATA est activé.
L’objet JSON contient les paires clés-valeurs suivantes :
Clé |
Description |
|---|---|
|
Nom du scanner qui a produit les résultats. |
|
Nom du paquet de scanner contenant le scanner. |
|
Description courte du paquet de scanner. |
|
Description courte du scanner. |
|
Horodatage Unix (en millisecondes) à la fin de l’exécution du scanner. |
|
Date et heure au format lisible par l’utilisateur indiquant la fin du cycle de fonctionnement du scanner. |
|
Tableau d’objets de recherche. Chaque objet de résultat contient les champs suivants : |
Champ de résultats |
Description |
|---|---|
|
Identificateur unique de l’événement. |
|
Identificateur du résultat. Peut être utilisé à des fins de déduplication. |
|
Niveau de gravité du résultat. |
|
Tableau d’objets d’entité à risque. Chaque entité contient |
|
Nombre total d’entités à risque. Ce champ peut être exclu. |
|
Métadonnées supplémentaires. La structure dépend du scanner. Ce champ peut être exclu. |
|
Une note indiquant si la liste des entités à risque a été tronquée. Ce champ n’est présent que lorsqu’une troncation se produit pour respecter les contraintes de limite de taille. Si elle est tronquée, vous pouvez récupérer la liste complète des entités à risque en interrogeant les résultats du Centre de confiance. |
Résoudre les problèmes de notification¶
Si les notifications ne sont pas livrées comme prévu, vous pouvez interroger les éléments suivants pour examiner le flux d’envoi de notifications.
Pour vérifier les notifications envoyées via la plateforme de notification :
Pour vérifier les notifications de scanner envoyées via le Centre de confiance :