Configuration de la propriété de bac à sable de script

  • Rversion finale: Washingtondc
  • Mis à jour 29 janv. 2024
  • 2 minutes de lecture
  • Activez la propriété sandbox de script (glide.script.use.sandbox) pour exécuter des scripts générés par le client dans un bac à sable disposant de droits restreints.

    Il existe deux cas dans le système qui permettent au client d’envoyer des scripts au serveur pour évaluation.
    • Filtres et/ou requêtes : Il est légal d’envoyer un filtre au serveur tel que : assigned_to=javascript :getMyGroups().
    • API système : L’appel d’API AJAXEvaluate permet au client d’exécuter des scripts arbitraires sur le serveur et de recevoir une réponse.
    Si vous activez la propriété sandbox de script (glide.script.use.sandbox), le script évalué via l’un de ces deux points d’entrée s’exécute dans un sandbox à droits réduits avec les caractéristiques suivantes :
    • Seules les règles métier marquées Client pouvant être appelé sont disponibles dans le bac à sable.
    • Seules les includes de script marquées Client pouvant être appelé sont disponibles dans le bac à sable.
    • Certains appels d’API (en grande partie, mais pas entièrement, ceux traitant d’un accès direct à la base de données) ne sont pas autorisés.
    • Les données ne peuvent pas être insérées, mises à jour ou supprimées depuis le bac à sable. Tous les appels à current.update(), par exemple, sont ignorés.
    Remarque :
    Pour en savoir plus sur cette propriété, consultez Bac à sable pour les scripts générés par le client Paramètres de renforcement de la sécurité de l’instance.
    Ces méthodes ne sont pas autorisées dans les scripts générés par le client lorsque le sandboxing de script est activé.
    Tableau 1. Méthodes restreintes
    Classe Méthode
    GlideRecord
    • deleteMultiple()
    • deleteRecord()
    • getRowCount()
    • insérer()
    • update()
    • updateMultiple()
    Système Glide (gs)
    • addErrorMessage()
    • addInfoMessage()
    • addMessage()
    • eventQueue()
    • flushMessages()
    • getEscapedProperty()
    • getProperty()
    • log()
    • logError()
    • logWarning()
    • setProperty()
    • setRedirect()
    • setReturn()
    • workflowFlush()
    ScopedGlideRecord (en anglais seulement)
    • deleteMultiple()
    • deleteRecord()
    • insérer()
    • update()
    • updateMultiple()
    ScopedGlideSystem (gs)
    • addErrorMessage()
    • addInfoMessage()
    • debug()
    • eventQueue()
    • executeNow()
    • getProperty()
    • getSessionToken()
    • info()
    • setRedirect()
    Date de Glide

    GlideDateTime

    Temps Glide

    • ajouter()
    • addDays()
    • addDaysLocalTime()
    • addDaysUTC()
    • addMonthsLocalTime()
    • addMonths()
    • addSeconds()
    • addWeeks()
    • addYears()
    • compareTo()
    • getByFormat()
    • getDate()
    • getDayOfWeek()
    • getDayOfWeekUTC
    • getDayOfWeekLocalTime()
    • getDayOfMonth()
    • getDayOfMonthLocalTime()
    • getDayOfMonthNoTZ()
    • getDayOfWeek()
    • getDayOfWeekLocalTime()
    • getDayOfWeekUTC()
    • getHourOfDayLocalTime()
    • getHourOfDayUTC()
    • getDaysInMonth()
    • getDaysInMonthUTC()
    • getDaysInMonthLocalTime()
    • getDisplayValueInternal()
    • getDisplayValue()
    • getHourLocalTime()
    • getLocalDate()
    • getLocalTime()
    • getMinutesLocalTime()
    • getMinutesUTC()
    • getMonthLocalTime()
    • getMonthNoTZ()
    • getMonthUTC()
    • getNumericValue()
    • getSeconds()
    • getTime()
    • getTZOffset()
    • getValue()
    • getYear()
    • getUserTimeZone()
    • getWeekOfYearLocalTime()
    • getWeekOfYearUTC()
    • getYearUTC()
    • getYearLocalTime()
    • isDST()
    • onOrAfter()
    • onOrBefore()
    • setDayOfMonthUTC()
    • setDisplayValue()
    • setMonth()
    • setValeurNumérique()
    • setTZ()
    • setValue()
    • setValueUTC()
    • soustraire()
    • toString()
    GlideSchedule
    • ajouter()
    • isInSchedule()
    • load()
    • quandNext()
    Remarque :
    Les méthodes GlideSystem (gs) log(), logError() et logWarning() peuvent être activées avec le sandboxing de script en définissant la glide.security.sandbox_no_logging propriété système sur faux.

    Si vous exécutez le système sans activer le sandboxing de script, aucune de ces restrictions ne s’applique.

    Remarque :
    Cette propriété est activée par défaut lorsque vous activez le module d’extension Paramètres de sécurité élevée. n’activez pas cette propriété en dehors du module d’extension.
    Propriété Par défaut
    Exécutez les scripts générés par le client (AJAXEvaluate et conditions de requête) à l’intérieur d’un « bac à sable » à droits réduits.

    Si cette option est activée, seules les règles métier et les includes de script avec la case Client joignable définie sur vrai sont disponibles, et certains appels d’API back-end sont interdits.

    Activé (bac à sable en cours d’utilisation).