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

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Activez la propriété de bac à sable de script (glide.script.use.sandbox) pour exécuter des scripts générés par le client dans un bac à sable avec 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 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 inclusions 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é, reportez-vous Bac à sable pour les scripts générés par le client à la section Paramètres de sécurisation renforcée 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()
    GlideSystem (gs)
    • addErrorMessage()
    • addInfoMessage()
    • addMessage()
    • eventQueue()
    • flushMessages()
    • getEscapedProperty()
    • getProperty()
    • log()
    • logError()
    • logWarning()
    • setProperty()
    • setRedirect()
    • setReturn()
    • workflowFlush()
    Champ d’applicationGlideRecord
    • deleteMultiple()
    • deleteRecord()
    • insérer()
    • update()
    • updateMultiple()
    ScopedGlideSystem (gs)
    • addErrorMessage()
    • addInfoMessage()
    • debug()
    • eventQueue()
    • executeNow()
    • getProperty()
    • getSessionToken()
    • info()
    • setRedirect()
    Date Glide

    GlideDateTime

    Heure de Glide

    • add()
    • 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()
    • subtract()
    • toString()
    GlideSchedule
    • add()
    • isInSchedule()
    • load()
    • quandNext()
    Remarque :
    Les méthodes GlideSystem (gs) log(), logError() et logWarning() peuvent être activées avec le sandboxing des scripts 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 des scripts, 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 créés par le client (AJAXEvaluate et conditions de requête) à l’intérieur d’un « bac à sable » à droits réduits.

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

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