스크립트 샌드박스 속성 구성

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기4분
  • 스크립트 샌드박스 속성()glide.script.use.sandbox을 사용하여 권한이 제한된 샌드박스 내에서 클라이언트가 작성한 스크립트를 실행합니다.

    시스템 내에는 클라이언트가 평가를 위해 서버에 스크립트를 보낼 수 있는 두 가지 경우가 있습니다.
    • 필터 및/또는 쿼리: assigned_to=javascript:getMyGroups()와 같은 필터를 서버에 보내는 것은 합법적입니다.
    • 시스템 API: API 호출 AJAXEvaluate 를 사용하면 클라이언트가 서버에서 임의의 스크립트를 실행하고 응답을 받을 수 있습니다.
    스크립트 샌드박스 속성()glide.script.use.sandbox을 활성화하면 이 두 엔트리포인트 중 하나를 통해 평가되는 스크립트가 축소된 권한 샌드박스 내에서 실행되며 다음과 같은 특징이 있습니다.
    • 클라이언트 호출 가능으로 표시된 비즈니스 규칙만 샌드박스 내에서 사용할 수 있습니다.
    • 클라이언트 호출 가능으로 표시된 스크립트 포함만 샌드박스 내에서 사용할 수 있습니다.
    • 특정 API 호출(대부분 직접 DB 액세스를 처리하는 호출에 국한되지 않음)은 허용되지 않습니다.
    • 샌드박스 내에서 데이터를 삽입, 업데이트 또는 삭제할 수 없습니다. 예를 들어 current.update()에 대한 모든 호출은 무시됩니다.
    주:
    이 속성에 대한 자세한 내용은 인스턴스 보안 강화 설정을 참조하십시오 스크립트 샌드박스 사용[Security Center 1.3에서 업데이트됨] .
    스크립트 샌드박싱이 활성화된 경우 이러한 메서드는 클라이언트 작성 스크립트에서 허용되지 않습니다.
    표 1. 제한된 방법
    클래스 메서드
    GlideRecord
    • delete다중()
    • deleteRecord()
    • getRowCount()
    • 삽입()
    • 업데이트()
    • updateMultiple()
    GlideSystem(gs)
    • addErrorMessage()
    • addInfoMessage()
    • addMessage()
    • 이벤트 큐 ()
    • flushMessages()
    • getEscapedProperty()
    • getProperty()
    • 로그()
    • 로그 오류()
    • 로그 경고()
    • setProperty()
    • setRedirect()
    • setReturn()
    • workflowFlush()
    ScopedGlideRecord
    • delete다중()
    • deleteRecord()
    • 삽입()
    • 업데이트()
    • updateMultiple()
    ScopedGlideSystem(gs)
    • addErrorMessage()
    • addInfoMessage()
    • 디버그()
    • 이벤트 큐 ()
    • 실행하다Now()
    • getProperty()
    • getSessionToken()
    • 정보()
    • setRedirect()
    GlideDate

    Glide날짜/시간

    글라이드타임

    • 더하다()
    • 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()
    • 연중 getWeekOfUTC()
    • getYearUTC()
    • getYearLocalTime()
    • isDST()
    • onOrAfter()
    • onOrBefore()
    • setDayOfMonthUTC()
    • setDisplayValue()
    • setMonth()
    • setNumericValue()
    • setTZ()
    • setValue()
    • setValueUTC()
    • 빼기()
    • toString()
    GlideSchedule
    • 더하다()
    • isInSchedule()
    • 로드()
    • when다음()
    주:
    시스템 속성을 false로 설정하여 스크립트 샌드박스와 함께 GlideSystem(gs) 메서드 log(), logError()logWarning()을 glide.security.sandbox_no_logging 활성화할 수 있습니다.

    스크립트 샌드박싱을 활성화하지 않고 시스템을 실행하는 경우 이러한 제한 사항이 적용되지 않습니다.

    주:
    이 속성은 높은 보안 설정 플러그인을 활성화할 때 기본적으로 활성화됩니다. 플러그인 외부에서 이 속성을 활성화하지 마십시오.
    표 2.
    속성 기본값
    축소된 오른쪽 "샌드박스"에서 클라이언트가 작성한 스크립트(AJAXEvaluate 및 쿼리 조건)를 실행하십시오.

    활성화되면 클라이언트 호출 가능 확인란이 true로 설정된 해당 비즈니스 규칙 및 스크립트 포함만 사용할 수 있고 특정 백엔드 API 호출은 허용되지 않습니다.

    활성화됨(샌드박스 사용 중).