Exiger la vérification de l’ACL AJAXGlideRecord [Mis à jour dans Centre de sécurité 1.3]

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • Utilisez la propriété pour valider la glide.script.secure.ajaxgliderecord règle de contrôle d’accès (ACL) lorsque l’accès aux enregistrements côté serveur, tels que les tables, se fait à l’aide d’API GlideAjax à l’intérieur d’un script client.

    Depuis les scripts clients, il est possible d’interroger des données arbitraires du serveur à l’aide de la fonction AJAXGlideRecord (GlideAjax -Client), à l’aide d’une syntaxe telle qu’un enregistrement Glide côté serveur. Il s’agit d’un outil puissant et utile dans de nombreux déploiements.

    Si vous choisissez d’appliquer des listes de contrôle d’accès (ACL) aux appels d’API GlideAjax, vous ne pouvez interroger que les données auxquelles l’utilisateur actuellement connecté a accès. Par exemple, si un utilisateur ESS qui n’a pas le droit de lire la table cmn_location est connecté, tout appel d’API GlideAjax à cette table échouera.

    Si l’API s’exécute ServiceNow AI Platform sans vérification des appels GlideAjax ACL, une API peut renvoyer des informations auxquelles l’utilisateur actuellement connecté ne pourrait pas accéder autrement.

    Utilisez GlideRecordSecure lors de l’interrogation des données pour garantir le niveau de sécurité le plus élevé. GlideRecord s’appuie sur l’application des ACL par le biais de configurations, tandis que GlideRecordSecure applique des contrôles de sécurité plus stricts. GlideRecordSecure offre une solution plus sécurisée et prête à l’emploi pour le traitement des données sensibles.

    Avertissement :
    Il s’agit d’une propriété de la sphère de sécurité, ce qui signifie que la valeur ne peut pas être modifiée une fois qu’elle a été modifiée. Il n’est pas réversible.

    En savoir plus

    Attribut Description
    Nom de la propriété glide.script.secure.ajaxgliderecord
    Type de configuration Propriétés système (/sys_properties_list.do)
    Catégorie Contrôle d'accès
    Objectif Assurez-vous que les ACL de sécurité sont vérifiées et validées, même lorsque les enregistrements sont accessibles via des API côté client.
    Valeur recommandée vrai
    Valeur par défaut vrai
    Cote de risque de sécurité 8.1
    Impact fonctionnel Cette correction applique la relation ACL avec les enregistrements côté serveur lorsque les demandes sont effectuées à l’aide des appels d’API AJAXGlideRecord. Si la configuration ACL n’est pas correctement configurée, cela peut avoir un impact. Pour plus de détails sur son impact et sur la manière de l’identifier, consultez l’article Audit et examen des transactions GlideRecord côté client (AJAXGlideRecord) [KB0550828] dans la section HI Base de connaissances .
    Risque de sécurité (Élevé) Grâce aux scripts clients, il est possible d’interroger des données arbitraires du serveur via l’API GlideAjax. Les ressources côté serveur sont accessibles sans autorisation appropriée. L’utilisation de la validation ACL aide donc l’application à valider la demande en fonction de l’autorisation configurée.
    Solution de contournement

    Assurez-vous que les ACL appropriées sont créées pour les includes de script, les processeurs et les autres entités utilisées par une API GlideAjax (AJAXGlideRecord) afin qu’elle s’exécute sous l’autorisation appropriée.

    Implémentez des méthodes telles que canRead (), canWrite(), canCreate() et canDelete () pour effectuer une autorisation utilisateur avant d’accéder aux enregistrements de table à l’aide de GlideRecord.

    Une autre méthode consiste à utiliser GlideRecordSecure. La classe est héritée du serveur GlideRecord qui exécute les mêmes fonctions que GlideRecord et applique également les ACL.

    Références Appliquer des ACL à AJAXGlideRecord (enregistrement Glide côté client)

    Cette propriété appartient à la même famille de propriétés qui sécurisent et restreignent l’exécution de scripts provenant du client, telles que glide.script.allow.ajaxevaluate. Pour plus d’informations, consultez Activer AJAXEvaluate.

    Pour en savoir plus sur l’ajout ou la création d’une propriété système, reportez-vous à la section Add a system property.