Exécution de l’analyse de sécurité automatisée

Cette rubrique décrit comment utiliser l’examen de sécurité automatisé fourni par le Native Apps Framework. Il fournit également des lignes directrices et des bonnes pratiques pour la création de paquets d’applications et d’applications sécurisés.

Note

Dans certains cas, lorsqu’une application échoue à un examen de sécurité automatisé, un examen manuel supplémentaire du code de l’application peut être effectué pour confirmer le statut d’échec ou l’annuler afin d’approuver l’application.

Cet examen manuel peut prendre jusqu’à cinq jours ouvrables.

À propos des exigences de Native Apps Framework en matière de sécurité

Toutes les applications du Native Apps Framework qui remplissent les conditions décrites dans À propos de l’analyse de sécurité automatisée doivent se conformer aux exigences de sécurité décrites dans les sections suivantes :

Exigences de sécurité pour le code d’application

Le code d’application inclus dans un paquet d’application doit être conforme aux exigences de sécurité suivantes :

  • Votre application ne doit pas charger ou exécuter de code provenant d’un endroit extérieur au paquet d’application, à l’exception des bibliothèques fournies par Snowflake. Tout le code de l’application, y compris toutes les dépendances de la bibliothèque et le code d’installation, doit être inclus dans la version de l’application définie dans le paquet d’application.

  • Tout le code de l’application doit être non flouté, ce qui signifie que le code doit être lisible par l’homme. Cette exigence comprend le code JavaScript minifié.

    Note

    Si une application doit utiliser du code JavaScript minifié, elle doit inclure un fichier de mappage des sources correspondant qui peut être utilisé pour récupérer le code non minifié.

  • Toutes les dépendances ou bibliothèques présentant des vulnérabilités et expositions critiques ou très communes (CVE) doivent être mises à jour vers une version sécurisée, si elle est disponible.

Exigences de sécurité pour les fonctionnalités des applications

Les exigences de sécurité suivantes s’appliquent à la fonctionnalité de votre application :

  • Toutes les applications doivent fournir les informations suivantes aux clients dans le cadre d’une annonce :

    • Toutes les fonctions de l’application.

    • Tous les points de terminaison Internet et toutes les URLs que l’application utilise pour se connecter.

    • Toutes les fonctions externes de l’application.

    • Toute donnée du consommateur enregistrée, collectée ou stockée par l’application.

  • Les applications doivent fonctionner comme indiqué dans l’annonce de l’application.

  • Toutes les instructions relatives à l’installation et à la configuration de l’application doivent être incluses dans l’annonce de l’application.

  • Les applications ne doivent pas stocker ou exiger que les secrets des clients soient en texte brut.

  • Toute communication entre l’application et Internet doit se faire via une connexion HTTPS avec un certificat TLS valide.

  • Les applications ne doivent comporter aucune fonctionnalité susceptible de porter préjudice à Snowflake, à ses clients ou à des tiers. Les préjudices subis comprennent, mais ne sont pas limités à, ce qui suit :

    • Fuite et/ou perte de données.

    • Restriction de l’accès des consommateurs à leurs données, à moins que ce ne soit explicitement conçu comme faisant partie du fonctionnement de l’application, par exemple, le masquage des données pour les politiques d’accès aux données.

    • Consommation excessive de ressources.

    • Injection/exécution de code arbitraire.

Exigences de sécurité pour les autorisations d’application

Les exigences de sécurité suivantes s’appliquent aux privilèges définis par votre application :

  • Toutes les applications doivent fournir les informations suivantes dans le fichier du manifeste :

    • Tous les privilèges requis par l’application sur tous les objets.

    • Toutes les intégrations API.

  • Les applications ne doivent demander que le minimum de privilèges nécessaires à leur fonctionnement.

À propos de l’analyse de sécurité automatisée

L’analyse de sécurité automatisée est lancée lorsque l’un des événements suivants se produit :

  • Un fournisseur ajoute une version à un paquet d’application dont le paramètre DISTRIBUTION est défini sur EXTERNAL, la nouvelle version est analysée automatiquement.

  • Un fournisseur définit DISTRIBUTION=EXTERNAL sur un paquet d’application qui a déjà une version définie. Toutes les versions du paquet d’application sont analysées automatiquement.

Utilisez la commande ALTER APPLICATION PACKAGE pour définir la propriété DISTRIBUTION d’un paquet d’application, comme le montre l’exemple suivant :

ALTER APPLICATION PACKAGE HelloSnowflakePackage
  SET DISTRIBUTION = EXTERNAL;
Copy

Vue du statut d’un examen de sécurité automatisé

Utilisez la commande SHOW VERSIONS pour voir le statut d’un examen de sécurité automatisé, comme le montre l’exemple suivant :

SHOW VERSIONS IN APPLICATION PACKAGE HelloSnowflakePackage;
Copy

La colonne review_status affiche l’un des statuts suivants de l’examen de sécurité automatisé :

  • NOT_REVIEWED

  • IN_PROGRESS

  • APPROVED

  • REJECTED

Note

Si une application réussit l’examen de sécurité automatisé, son statut est mis à jour sur APPROVED. Lorsqu’une application échoue à l’examen de sécurité automatisé, elle est examinée manuellement par Snowflake. Après examen manuel, le statut de l’application est mis à jour et devient APPROVED ou REJECTED.