서버에 안전한 웹 파트 구성 및 배포(Office SharePoint Server)

업데이트 날짜: 2007년 11월

적용 대상: Office SharePoint Server 2007

 

마지막으로 수정된 항목: 2015-03-09

Microsoft Office SharePoint Server 2007에는 사이트 관리자가 제품 설치 후에 웹 파트 페이지에 추가할 수 있는 웹 파트 집합이 포함되어 있습니다. 그러나 조직에서 사용자 지정 웹 파트를 사용해야 하는 경우에는 개발자가 사용자 지정 작성 ASP.NET 2.0 웹 파트를 작성한 후에 배포되어 있는 Office SharePoint Server 2007에 해당 웹 파트를 설치하도록 할 수 있습니다.

Office SharePoint Server에서는 Microsoft .NET Framework에서 제공하는 일부 구성 관리 설정을 사용합니다. 이러한 설정 중 일부는 XML 구성 파일에 저장되며, 서버 관리자가 웹 응용 프로그램 및 해당 환경을 관리할 수 있도록 하는 광범위한 설정을 제공합니다. ASP.NET 2.0 구성 파일에 대한 자세한 내용은 MSDN Library Online의 "ASP.NET 응용 프로그램 및 웹 서비스 보호"에서 Machine.Config 및 Web.Config 설명 (영문)(https://go.microsoft.com/fwlink/?linkid=103450&clcid=0x412)을 참조하십시오.

구성 옵션

시스템 관리자는 배포되어 있는 Office SharePoint Server의 다음 두 위치 중 하나에 ASP.NET 2.0 웹 파트를 배포할 수 있습니다.

  • Bin 디렉터리   웹 응용 프로그램 루트 디렉터리에 저장됩니다.

  • GAC(전역 어셈블리 캐시)   모든 표준 웹 파트가 .NET Framework의 공용 언어 런타임과 함께 자동으로 설치됩니다. GAC의 저장소를 사용하면 여러 응용 프로그램에서 웹 파트를 공유할 수 있습니다. 구성 요소는 보통 C:\WINNT\Assembly에 저장됩니다.

각 위치는 아래 표에 설명되어 있는 것처럼 장단점이 있습니다.

배포 위치 장점 단점

Bin 디렉터리

부분 신뢰 위치입니다. 기본적으로 이 디렉터리에서 실행되는 코드의 코드 액세스 보안 권한 수준은 낮습니다. 웹 파트가 제대로 작동하도록 하려면 관리자가 웹 파트에 부여되는 권한 수준을 높여야 합니다. 이러한 제어 수준과 강력한 방어 기능으로 인해, 관리자는 알려진 필수 코드 액세스 보안 권한을 사용하여 해당 어셈블리를 Bin 디렉터리에서 실행하는 것을 선호합니다.

또한 Bin 디렉터리는 웹 응용 프로그램에서만 사용할 수 있습니다. 그러므로 특정 웹 응용 프로그램으로 코드를 격리할 수 있습니다.

모든 위치에서 웹 파트를 실행하려면 Bin 어셈블리를 배포해야 합니다.

GAC

서명된 어셈블리를 배포할 수 있는 전역 위치입니다. 어셈블리는 기본적으로 전체 신뢰로 실행되며, 전역적으로 설치되므로 모든 웹 응용 프로그램에서 작동합니다.

일반적으로 GAC에 설치되는 코드에는 코드 액세스 보안 제한이 적용되지 않으므로 강력한 방어 보안 기능을 활용할 수 없습니다.

또한 GAC의 어셈블리에는 프로그램 데이터베이스 파일(.pdb)을 배포하기가 어려울 수 있습니다.

특수 보안 특성 설정

Bin 디렉터리에 저장하는 ASP.NET 2.0 웹 파트에는 보안과 관련한 특수한 제한 사항이 적용됩니다.웹 파트를 사용할 방식에 따라 웹 파트에 특수 보안 특성을 설정할지 여부를 선택할 수 있습니다.

Bin 디렉터리는 부분 신뢰 위치이므로 웹 파트가 실행될 때 전체 신뢰 코드 권한이 자동으로 부여되지 않습니다. 웹 파트로 호출되는 코드에는 부분 신뢰 권한만 부여되므로, 웹 파트 개발자가 ASP.NET 2.0 웹 파트에서 AllowPartiallyTrustedCallers 특성을 개발해야 합니다.

참고

AllowPartiallyTrustedCallers 특성을 사용하여 구성 요소를 "안전한" 것으로 표시하면 개발자가 안전한 구현을 수행해야 합니다.

기본적으로 Bin 디렉터리에 대한 코드 액세스 보안 권한 수준은 매우 낮으며, 순수 실행만 허용됩니다. 어셈블리가 제대로 실행되도록 하려면 이러한 권한 수준을 높여야 합니다.

다음 두 가지 방법을 사용하여 권한 수준을 높일 수 있습니다.

  • (권장) 신뢰 정책 파일을 만들고 새 파일에서 Web.config 파일을 가리킵니다. 이 옵션은 사용하기가 다소 까다롭지만 웹 파트에 대해 정확한 사용 권한을 지정할 수 있습니다. 신뢰 정책 파일에 대한 자세한 내용은 MSDN Library Online의 Microsoft Windows SharePoint Services 및 코드 액세스 보안 (영문)(https://go.microsoft.com/fwlink/?linkid=103436&clcid=0x412)을 참조하십시오.

  • Bin 디렉터리의 전체 신뢰 수준을 높입니다. 응용 프로그램 루트 디렉터리의 Web.config 파일에서 trust 요소를 찾습니다. trust 요소 level 특성의 기본값은 WSS_Minimal입니다. 이 수준을 WSS_Medium으로 변경할 수 있습니다. 이 옵션은 사용하기는 더 간편하지만 불필요한 임의의 새 사용 권한을 부여할 수 있으며, 신뢰 정책 파일을 만드는 것에 비해 안전하지 않습니다.

안전한 컨트롤 목록

SharePoint 제품 및 기술에서는 기본적으로 "신뢰되지 않는 사용자"도 Office SharePoint Server가 실행되는 시스템 내에서 .aspx 페이지를 업로드하고 만들 수 있다고 가정합니다. 이러한 사용자가 .aspx 페이지 내에서 서버 쪽 코드를 추가해서는 안 되지만, 승인된 컨트롤 목록은 사용할 수 있어야 합니다. Office SharePoint Server에서는 안전한 컨트롤 목록에서 승인된 컨트롤이 제공됩니다.

안전한 컨트롤 목록은 서버 관리자가 사이트 내의 .aspx 페이지에서 호출해도 안전한 것으로 지정할 수 있는 SharePoint 사이트 관련 컨트롤 및 웹 파트의 목록입니다. 이 목록은 웹 응용 프로그램 루트의 Web.config 파일에 저장됩니다.

작업 요구 사항

이 작업의 절차를 수행하려면 다음 요구 사항을 충족해야 합니다.

  • Office 2007 릴리스의 서버 제품 중 하나가 설치된 서버 컴퓨터에 대한 관리자 권한

서버에 안전한 웹 파트를 구성 및 배포하려면 다음 절차를 수행합니다.