샌드박스가 적용된 솔루션 고려 사항
샌드박스가 적용된 솔루션은 사이트 컬렉션 사용자가 사용자 지정 코드 솔루션을 업로드할 수 있는 Microsoft SharePoint 2010의 기능입니다.일반적인 샌드박스가 적용된 솔루션은 사용자가 고유한 웹 파트를 업로드하는 것입니다.
샌드박스가 적용된 SharePoint 응용 프로그램은 모니터링되는 보안 프로세스로 실행됩니다. 이 프로세스에서는 웹 팜의 제한된 부분에만 액세스할 수 있습니다.Microsoft SharePoint 2010에서는 기능, 솔루션 갤러리, 솔루션 모니터링 및 유효성 검사 프레임워크의 조합을 통해 샌드박스가 적용된 솔루션을 사용할 수 있도록 합니다.
프로젝트 신뢰 수준 지정
Visual Studio에서는 Sandboxed Solution이라는 부울 프로젝트 속성을 통해 샌드박스가 적용된 솔루션을 지원합니다.이 속성은 프로젝트에서 언제든지 설정할 수 있거나 SharePoint 사용자 지정 마법사에서 프로젝트를 만들 때 지정할 수 있습니다.
[!참고]
프로젝트를 만든 후 Sandboxed Solution 속성을 변경하면 유효성 검사 오류가 발생할 수 있습니다.
솔루션 경우 팜 범위 솔루션이 간주 됩니다의 Sandboxed Solution 속성이 false 또는 선택의 팜 솔루션으로 배포 옵션.그러나 솔루션 다르게 팜 솔루션에서 처리 됩니다의 Sandboxed Solution 속성이 true 또는 선택의 샌드박스가 적용 된 솔루션으로 배포 마법사 옵션을에서.
SharePoint 사이트 계층 구조
샌드박스가 적용된 솔루션의 작동 방식을 이해하려는 경우 SharePoint 사이트가 범위 계층 구조로 이루어져 있음을 알면 도움이 됩니다.최상위 요소는 웹 팜이라고 하고 다른 요소는 모두 이 요소에 종속됩니다.
웹 팜
웹 응용 프로그램 A
사이트 컬렉션 A1
사이트 A1a
웹 응용 프로그램 B
사이트 컬렉션 B1
사이트 B1a
사이트 B1b
사이트 컬렉션 B2
사이트 B2a
보시는 것처럼 웹 팜에는 하나 이상의 웹 응용 프로그램이 포함될 수 있고, 웹 응용 프로그램에는 하나 이상의 사이트 컬렉션이 포함될 수 있으며, 사이트 컬렉션에는 하위 사이트가 포함될 수 있습니다.한 사이트 컬렉션을 변경하면 해당 사이트 컬렉션에만 영향을 줍니다.하지만 웹 팜 수준에서 변경하면 팜의 모든 사이트 컬렉션에 영향을 줍니다.
WSS(Windows SharePoint Services) 3.0을 사용하면 팜 수준에만 솔루션을 배포할 수 있지만 Microsoft SharePoint Foundation 2010을 사용하면 팜 수준(팜 솔루션) 또는 사이트 컬렉션 수준(샌드박스가 적용된 솔루션)에 배포할 수 있습니다.
샌드박스가 적용된 솔루션을 사용하는 이유
WSS 3.0에서는 팜 수준에만 솔루션을 배포할 수 있었습니다.즉, 전체 팜과 그 아래에서 실행되는 다른 모든 사이트 컬렉션 및 응용 프로그램에 영향을 주는 유해하거나 불안정한 솔루션이 배포될 수 있었습니다.하지만 샌드박스가 적용된 솔루션을 사용하면 솔루션을 팜의 하위 영역인 특정 사이트 컬렉션에 배포할 수 있습니다.보호 기능을 강화하기 위해 솔루션의 어셈블리는 주요 인터넷 정보 서비스 프로세스(w3wp.exe)에 로드되지 않습니다.대신 별도의 프로세스로 로드됩니다(SPUCWorkerProcess.exe).CPU 사이클을 소비하는 자주 반복되는 루프의 실행 등과 같이 위험한 동작을 수행하는 샌드박스가 적용된 솔루션으로부터 팜을 보호하기 위해 이 프로세스를 모니터링하고 할당량 및 사용량 조절을 구현합니다.
사이트 컬렉션 솔루션 갤러리
Windows SharePoint Services2010 "사이트 컬렉션 솔루션 갤러리로." 이라고 하는 기능에 열기 하거나 SharePoint 2010 중앙 관리 페이지에서이 기능을 액세스할 수 있습니다를 사이트 작업 메뉴를 선택 사이트 설정, 다음 선택은 솔루션 아래 링크 갤러리 SharePoint 사이트에.솔루션 갤러리는 사이트 컬렉션 관리자가 사이트 컬렉션의 솔루션을 관리할 수 있는 솔루션 리포지토리입니다.
솔루션 갤러리는 SharePoint 사이트의 루트 웹에 저장된 문서 라이브러리입니다.솔루션 갤러리는 사이트 템플릿을 대체하며 솔루션 패키지를 지원합니다.SharePoint 솔루션 패키지 파일(.wsp)을 업로드하면 샌드박스가 적용된 솔루션으로 처리됩니다.
샌드박스가 적용된 솔루션 제한 사항
샌드박스가 적용된 솔루션을 배포하면 솔루션에서 사용할 수 있는 SharePoint 기능 배열이 제한되어 이 솔루션으로 인한 보안 취약점을 줄일 수 있습니다.이러한 제한에는 다음이 포함됩니다.
샌드박스가 적용된 솔루션은 배포 가능한 솔루션 요소 중 제한된 하위 집합만 사용할 수 있습니다.사이트 정의 및 워크플로와 같은 잠재적으로 취약한 SharePoint 프로젝트 템플릿은 사용할 수 없습니다.
SharePoint는 주요 인터넷 정보 서비스 응용 프로그램 풀(w3wp.exe) 프로세스와는 별도의 프로세스(SPUCWorkerProcess.exe)에서 샌드박스가 적용된 솔루션 코드를 실행합니다.
매핑된 폴더는 프로젝트에 추가할 수 없습니다.
샌드박스가 적용된 솔루션에는 Microsoft SharePoint Server 2010 어셈블리 Microsoft.Office.Server의 형식을 사용할 수 없습니다.샌드박스가 적용된 솔루션에는 Microsoft SharePoint Foundation 2010 어셈블리 Microsoft.SharePoint의 형식만 사용할 수 있습니다.
SharePoint 솔루션을 샌드박스가 적용된 솔루션으로 지정하면 SharePoint 서버에는 영향을 주지 않고 SharePoint 프로젝트가 Visual Studio에서 SharePoint로 배포되는 방법 및 바인딩되는 어셈블리만 결정합니다.생성된 .wsp 파일에는 영향을 주지 않으며, .wsp 파일에 Sandboxed Solution 속성과 직접 상호 관련된 데이터가 없습니다.
샌드박스가 적용된 솔루션의 기능 및 요소
샌드박스가 적용된 솔루션은 다음 기능과 요소를 지원합니다.
콘텐츠 형식/필드
사용자 지정 작업
선언적 워크플로
이벤트 수신자
기능 설명선
목록 정의
목록 인스턴스
모듈/파일
탐색
Onet.xml
SPItemEventReceiver
SPListEventReceiver
SPWebEventReceiver
System.Web.UI.WebControls.WebParts.WebPart에서 파생되는 모든 웹 파트에 대한 지원
웹 파트
WebTemplate 기능 요소(Webtemp.xml 대신)
비주얼 웹 파트
샌드박스가 적용된 솔루션은 다음 기능과 요소를 지원하지 않습니다.
응용 프로그램 페이지
사용자 지정 작업 그룹
팜 범위 기능
HideCustomAction 요소
웹 응용 프로그램 범위 기능
코드가 포함된 워크플로