Création de stratégies de conformité personnalisées

Si vous disposez des droits requis, vous pouvez créer et supprimer vos propres stratégies de conformité personnalisées.

Une stratégie de conformité personnalisée est définie à l'aide d'une arborescence d'expression JSON. Cette dernière peut se composer d'une seule expression de base ou de plusieurs expressions reliées par une opération logique (And, Or, Not). Chaque expression de base se compose d'une fonction prédéfinie et de son paramètre (s'il est requis). Vous pouvez définir la valeur du paramètre lors de la création de la stratégie de conformité ou utiliser $ pour que cette valeur ne soit pas définie. Lorsqu'un paramètre n'est pas défini, l'utilisateur devra communiquer la valeur au moment d'associer la stratégie de conformité à une application.
Remarque :
Lorsque vous créez une stratégie de conformité qui sera utilisée par le biais de l'interface utilisateur, vous devez définir tous les paramètres, sinon il sera impossible de les associer à une application.
La création d'une stratégie de conformité personnalisée présente l'avantage de pouvoir coder les paramètres en dur dans la stratégie de conformité, afin que les utilisateurs puissent avoir recours à la stratégie de conformité sans systématiquement définir les paramètres. Par exemple, vous pouvez utiliser la stratégie de conformité de référence prédéfinie pour créer une série de stratégies de conformité personnalisées avec des dates de début spécifiées.

Fonctions prédéfinies

Vous pouvez utiliser les fonctions prédéfinies suivantes dans vos stratégies de conformité. Les fonctions ne nécessitent pas de paramètres sauf si elles sont signalées par un astérisque (*).
  • Fonctions de problème :
    • StartDate*
    • MinSeverity*
    • OwaspTop10_2017
    • SansTop25
    • EUGdpr_2016
    • PCI
    • CWE*
    • ThreatClass*
    • HIPAA
    • OwaspTop10Mobile_2016
    • ISO27001
    • ISO27002
    • Wasc
    • Nist
    • Sox
    • Fisma
    • Fippa
    • Efta
    • DISA_STIG
    • PADSS
    • OwaspTop10_2021
    • OwaspTop10OpenApi_2019
    • CCPA
    • FedRamp
    • Popia
    • OwaspTop10Api_2023
    • SansTop25_2023
    • OwaspTop10CloudNativeApp
    • Nis2
    • Dora
    • OwaspAsvs
    • Technology*
    • SansTop25_2024
    • OwaspTop10Llm_2025
    • Itsg33
    • OwaspTop10_2025
  • Fonctions de licence
    • BlockedLicenseName*
    • AllowedLicenseName*
    • AllowedCopyLeft*
    • AllowedRiskLevel*
    • AllowedCopyrightRiskScore*
    • AllowedPatentRiskScore*
    • AllowedLinking*
    • AllowedRoyaltyFree*

Fonctions nécessitant des paramètres :

Fonction Description Paramètres Exemple 1 Exemple 2
Fonctions de règles de problème
StartDate Evaluer uniquement les problèmes mis à jour après cette date Date (possibilité d'inclure l'heure) dans l'un des formats suivants :
  • yyy-MM-dd
  • yyyy-MM-ddThh:mmZ (UTC)
  • yyyy-MM-ddThh:mm+hh:mm (Heure locale +/- décalage UTC)
["2025-01-01"] ["2025-06-15T00:00Z"]
MinSeverity Seuil de gravité minimal pour les violations
  • Informations
  • Faible
  • Moyen
  • Elevé
  • Critique
["Medium"] ["Hgh"]
Technology Filtrer par type de technologie d'examen
  • DAST
  • SAST
  • IAST
  • SCA
["DAST"] ["SCA"]
CWE Filtrer par ID CWE spécifiques Liste des ID CWE ["79"] ["89", "502"]
ThreatClass Filtrer par identificateurs de classe de menace Liste des classes de menaces ["catSQLInjection"] ["catServerMisconfiguration"]
Fonctions de règle SCA (licence open source)
StartDate Evaluer uniquement les packages mis à jour après cette date Date (possibilité d'inclure l'heure) dans l'un des formats suivants :
  • yyy-MM-dd
  • yyyy-MM-ddThh:mmZ (UTC)
  • yyyy-MM-ddThh:mm+hh:mm (Heure locale +/- décalage UTC)
["2025-01-01"] ["2025-06-15T00:00Z"]
BlockedLicenseName Bloque les packages avec ces licences spécifiques ["GPL-3.0"] ["AGPL-3.0"]
AllowedLicenseName Autorise uniquement ces licences ; toutes les autres sont signalées ["MIT"] ["Apache-2.0"]
AllowedCopyLeft Autorise uniquement ces niveaux de copyleft
  • Le copyleft s'applique aux modifications ainsi qu'au propre code qui utilise le logiciel Open Source (Complet).
  • Licence sans copyleft (Non).
  • Le copyleft s'applique uniquement aux modifications (Partiel)
["No"] ["Partial"]
AllowedRiskLevel Autorise uniquement ces niveaux de risque de licence
  • Faible
  • Moyen
  • Elevé
["Low"] ["Medium"]
AllowedCopyRiskScore Autorise uniquement ces scores de risque de copyright
  • UN
  • DEUX
  • TROIS
  • QUATRE
  • CINQ
  • SIX
  • SEPT
["ONE"] ["TWO"]
AllowedPatentRiskScore Autorise uniquement ces scores de risque de brevet
  • Exempté de redevances et sans risques de brevet identifiés (OUI).
  • Sans redevances excepté en cas de litige (DEUX).
  • Aucun brevet octroyé (TROIS).
  • Risques spécifiques identifiés relatifs au brevet (QUATRE).
["ONE"] ["TWO"]
AllowedLinking Autorise uniquement ces types de liaison
  • Viral
  • Dynamique
  • Non viral
["Non_Viral"] ["Dynamic"]
AllowedRoyaltyFree Autorise uniquement ces statuts libres de redevances
  • Exempté de redevances et sans risques de brevet identifiés (Oui).
  • Sans redevances excepté en cas de litige (Conditionnel).
  • Aucun brevet octroyé (Non).
["Yes"] ["Conditional"]

Création de stratégies de conformité personnalisées par le biais de l'interface utilisateur

Pour créer une stratégie de conformité personnalisée :
  1. Dans Gouvernance > Stratégies de conformité, cliquez sur Ajouter une stratégie de conformité personnalisée.
  2. Donnez un nom à la stratégie de confomité et définissez-la en tant qu'expression JSON.
    Remarque :
    Si la stratégie de conformité va être associée à des applications par le biais de l'interface, vous devez définir des paramètres lorsque vous créez cette stratégie de conformité. Il n'est pas possible de définir des paramètres au moment d'associer la stratégie de conformité. Si la stratégie de conformité va être associée à des applications par le biais de l'API, vous pouvez laisser les paramètres non définis et les définir au moment de l'association.

    Exemple 1 : Stratégie de conformité de base de référence personnalisée

    {  
                                    "Function":"StartDate",
                                    "Parameters":[  
                                    "2017-12-31T13:50Z"
                                    ]
                                    }
                                

    Exemple 2 : Stratégie de conformité CWE personnalisée

    {  
                                        "Function":"CWE",
                                        "Parameters":[  
                                        89,
                                        90
                                        ]
                                        }
                                    

    Exemple 3 : Stratégie de conformité personnalisée composée

    {  
                                            "Operation":"And",
                                            "Expressions":[  
                                            {  
                                            "Function":"StartDate",
                                            "Parameters":[  
                                            "2018-04-24T10:30Z"
                                            ]
                                            },
                                            {  
                                            "Function":"MinSeverity",
                                            "Parameters":[  
                                            "Medium"
                                            ]
                                            }
                                            ]
                                            }
                                        

    Exemple 4 : Stratégie de conformité personnalisée pour exclure les CWE 89 et 90

    {
                                                "Operation": "Not",
                                                "Expressions": [
                                                {
                                                "Function": "CWE",
                                                "Parameters": [
                                                89,
                                                90
                                                ]
                                                }
                                                ]
                                                }
                                            

    Exemple 5 : Stratégie de conformité OWASP Top 10 personnalisée qui exclut les CWE 89 et 90

    {
                                                    "Operation": "And",
                                                    "Expressions": [
                                                    {
                                                    "Operation": "Not",
                                                    "Expressions": [
                                                    {
                                                    "Function": "CWE",
                                                    "Parameters": [
                                                    89,
                                                    90
                                                    ]
                                                    }
                                                    ]
                                                    },
                                                    {
                                                    "Function": "OwaspTop10_2017"
                                                    }
                                                    ]
                                                    }
                                                

    Exemple 6 : Stratégie de conformité personnalisée pour filtrer les problèmes en fonction de la technologie

    {
                                                        "Function": "Technology",
                                                        "Parameters": [
                                                        "DAST",
                                                        "SAST"
                                                        ]
                                                        }
                                                    
  3. Lorsque vous avez terminé, cliquez sur Fermer

Création de stratégies de conformité personnalisées par le biais de l'API REST

Dans l'API REST, une stratégie de conformité est définie à l'aide d'une arborescence d'expression. Cette dernière peut se composer d'une seule expression de base ou de plusieurs expressions reliées par une opération logique (And, Or, Not). Chaque expression de base se compose d'une fonction prédéfinie et de son paramètre (s'il est requis). Vous pouvez définir la valeur du paramètre lors de la création de la stratégie de conformité ou utiliser $ pour que cette valeur ne soit pas définie. Lorsqu'un paramètre n'est pas défini, l'utilisateur doit communiquer la valeur au moment d'associer la stratégie de conformité à une application.

Exemple 1 : Stratégie de conformité de base de référence personnalisée

{
                "Name": "Baseline",
                "Predefined": true,
                "Expression": {
                "Function": "StartDate",
                "Parameters": [
                "$DATE"
                ]
                }
                }

Exemple 2 : Stratégie de conformité CWE personnalisée

{
                "Name": "CWE policy",
                "Expression": {
                "Function": "CWE",
                "Parameters": [
                89,
                90
                ]
                }
                }

Exemple 3 : Stratégie de conformité personnalisée composée

Dans cet exemple de stratégie de conformité personnalisée, les fonctions StartDate et MinSeverity sont incluses avec l'opération And. Ainsi, seuls les problèmes ayant la gravité minimale définie et détectés après la date indiquée sont inclus.

  {
                "Name": "MyPolicy",
                "Predefined": false,
                "Expression": {
                "Operation": "And",
                "Expressions": [
                {
                "Function": "StartDate",
                "Parameters": [
                "2018-04-24T10:30Z"
                ]
                },
                {
                "Function": "MinSeverity",
                "Parameters": [
                "$minseverity"
                ]
                }
                ]
                }
                }
            

Exemple 4 : Stratégie de conformité personnalisée pour filtrer les problèmes en fonction de la technologie. Seules les questions soulevées lors des examens DAST et SAST sont répertoriées.

{ 
                    "Name": "Tech Filter", 
                    "Expression": { 
                    "Function": "Technology", 
                    "Parameters": [ 
                    "DAST", 
                    "SAST" 
                    ]
                    } 
                    }