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

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • Activez la propriété de bac à sable de script (glide.script.use.sandbox) pour exécuter les scripts générés par le client à l’intérieur d’un bac à sable qui a des 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é de bac à sable de script (glide.script.use.sandbox), le script évalué via l’un de ces deux points d’entrée s’exécute dans un bac à sable à droits réduits ayant les caractéristiques suivantes :
    • Seules les règles métier marquées comme pouvant être appelées par le client sont disponibles dans le bac à sable.
    • Seuls les includes de script marqués comme client pouvant être appelé sont disponibles dans le bac à sable.
    • Certains appels API (en grande partie, mais pas entièrement, à ceux traitant de l’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 à partir du bac à sable. Tous les appels à current.update(), par exemple, sont ignorés.
    Remarque :
    Pour en savoir plus sur cette propriété, consultez Activer le bac à sable de script [Mis à jour dans Centre de sécurité 1.3] 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()
    • mettre à jour()
    • updateMultiple()
    GlideSystem (gs)
    • addErrorMessage()
    • addInfoMessage()
    • addMessage()
    • eventQueue()
    • flushMessages()
    • getEscapedProperty()
    • getProperty()
    • journal ()
    • logError()
    • logWarning()
    • setProperty()
    • setRedirect()
    • setReturn()
    • workflow Flush()
    Champ d’application GlideRecord
    • deleteMultiple()
    • deleteRecord()
    • insérer()
    • mettre à jour()
    • updateMultiple()
    ScopedGlideSystem (gs)
    • addErrorMessage()
    • addInfoMessage()
    • debug()
    • eventQueue()
    • exécuter maintenant()
    • getProperty()
    • getSessionToken()
    • info()
    • setRedirect()
    Date GlideDate

    GlideDateTime

    Délai GlideTime

    • 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()
    • setNumericValue()
    • setTZ()
    • setValue()
    • setValueUTC()
    • soustraire()
    • toString()
    Calendrier GlideSchedule
    • ajouter()
    • isInSchedule()
    • Charger()
    • whenNext()
    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 false.

    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.
    Tableau 2.
    Propriété Par défaut
    Exécutez les scripts créé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 pour lesquels la case Client joignable est définie sur vrai sont disponibles, et certains appels API back-end sont interdits.

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