スクリプトサンドボックス

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:5分
  • スクリプトサンドボックスは、権限が制限された環境で、クライアント生成スクリプトがスクリプトサンドボックスで利用可能になったときに実行されます。

    スクリプトサンドボックスは、権限のないユーザーや認証されていないユーザーがインスタンスで特権スクリプトを実行するのを防ぐのに役立ちます。クライアントが評価のためにサーバーにスクリプトを送信できるケースは 2 つあります (クライアント生成スクリプト)。

    • フィルターまたはクエリ: assigned_to=javascript:getMyGroups() などのフィルターをサーバーに送信することは合法です。
    • システム API:AJAXEvaluate API 呼び出しにより、クライアントはサーバー上で任意のスクリプトを送信して、応答を受信することができます。
    これら 2 つのエントリポイントのいずれかを介して評価されるスクリプトは、次の特性を持つ権限が軽減されたサンドボックス内で実行されます。
    • サンドボックス内では 、[クライアント呼び出し可能 ] とマークされたビジネスルールのみを使用できます。
    • サンドボックス内では、[ サンドボックス有効] とマークされたスクリプトインクルードのみを使用できます。
    • 特定の API 呼び出し (直接データベースアクセスを扱うものに概ね限定) は許可されていません。
    • サンドボックス内からデータを挿入、更新、または削除することはできません。たとえば、current.update() の呼び出しは無視されます。
    注:
    Xanadu リリース以降、Glide AJAX 有効 (以前の名前は「クライアント呼び出し可能」) としてマークされたスクリプトインクルードは、サンドボックス内でアクセスできなくなりました。サンドボックス内では、[ サンドボックスが有効 ] とマークされているもののみを使用できます。Washington DC リリース以前から Zurich リリースにアップグレードすると、[クライアント呼び出し可能] としてマークされているスクリプトインクルードも [サンドボックス対応] としてマークされます。

    スクリプトサンドボックスで制限されたメソッド

    これらのメソッドは、スクリプトサンドボックス内のクライアント生成スクリプトではサポートされていません。

    注:
    GlideSystem (gs) メソッドの log()logError()、および logWarning() は、glide.security.sandbox_no_logging システムプロパティを falseに設定することで、スクリプトサンドボックスで有効にできます。
    表 : 1. 制限付きメソッド
    クラス メソッド
    GlideRecord
    • deleteMultiple()
    • deleteRecord()
    • getRowCount()
    • insert()
    • update()
    • updateMultiple()
    GlideSystem (gs)
    • addErrorMessage()
    • addInfoMessage()
    • addMessage()
    • eventQueue()
    • flushMessages()
    • getEscapedProperty()
    • getProperty()
    • log()
    • logError()
    • logWarning()
    • setProperty()
    • setRedirect()
    • setReturn()
    • workflowFlush()
    ScopedGlideRecord
    • deleteMultiple()
    • deleteRecord()
    • insert()
    • update()
    • updateMultiple()
    ScopedGlideSystem (gs)
    • addErrorMessage()
    • addInfoMessage()
    • debug()
    • eventQueue()
    • executeNow()
    • getProperty()
    • getSessionToken()
    • info()
    • setRedirect()
    GlideDate

    GlideDateTime

    GlideTime

    • 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()
    • whenNext()