격리된 저장소 시나리오
업데이트: 2007년 11월
격리된 저장소는 여러 가지 상황에서 유용합니다. 이 중 가장 쉽게 확인할 수 있는 5가지 시나리오를 아래에서 설명합니다.
다운로드된 컨트롤. 인터넷에서 다운로드된 관리 코드 컨트롤은 일반 I/O 클래스를 통해 하드 드라이브에 쓸 수 없지만 격리된 저장소를 사용하여 사용자 설정 및 응용 프로그램 상태를 유지할 수 있습니다.
지속적 웹 응용 프로그램 저장소. 웹 응용 프로그램도 I/O 클래스를 사용할 수 없습니다. 이러한 프로그램은 다운로드된 구성 요소의 경우와 동일한 용도를 위해 격리된 저장소를 사용할 수 있습니다.
공유 구성 요소 저장소. 응용 프로그램 간에 공유되는 구성 요소는 격리된 저장소를 사용하여 데이터 저장소에 대한 제어된 액세스를 제공할 수 있습니다.
서버 저장소. 서버 응용 프로그램은 격리된 저장소를 사용하여 응용 프로그램을 요청하는 다수의 사용자에게 개별 저장소를 제공할 수 있습니다. 격리된 저장소는 항상 사용자별로 분리되어 있으므로 서버는 요청하는 사용자를 가장해야 합니다. 이런 경우 데이터는 사용자를 구분하기 위해 응용 프로그램에서 사용하는 동일한 ID인 보안 주체 ID를 기반으로 격리됩니다.
로밍. 또한 응용 프로그램에서는 격리된 저장소를 사용하여 로밍 사용자 프로필을 저장할 수 있습니다. 따라서 사용자의 격리된 저장소는 프로필을 로밍하는 데 사용됩니다.
격리된 저장소는 위에서 설명한 5가지 경우에 대해서는 적합하지만 다음과 같은 몇 가지 경우에서는 사용하면 안 됩니다.
격리된 저장소는 충분히 신뢰할 수 있는 코드, 비관리 코드 또는 컴퓨터의 신뢰할 수 있는 사용자로부터 보호되지 않으므로 암호화되지 않은 키 또는 암호 등의 상위 값 비밀을 저장하는 데 사용할 수 없습니다.
격리된 저장소는 코드를 저장하는 데 사용할 수 없습니다.
격리된 저장소는 관리자가 제어하는 구성 및 배포 설정을 저장하는 데 사용할 수 없습니다. 사용자 기본 설정은 관리자가 제어하지 않으므로 구성 설정으로 간주되지 않습니다.
대부분의 응용 프로그램은 데이터베이스를 사용하여 데이터를 저장하고 격리합니다. 이 때 데이터베이스에 있는 하나 이상의 행은 특정 사용자에 대한 저장소를 나타낼 수 있습니다. 사용자 수가 적은 경우, 데이터베이스 사용에 따른 오버헤드가 의미가 있는 경우 또는 데이터베이스 기능이 없는 경우 데이터베이스 대신 격리된 저장소를 사용하도록 선택할 수 있습니다. 또한 데이터베이스에서 제공하는 행보다 더 융통성 있고 복잡한 저장소가 응용 프로그램에 필요한 경우에도 격리된 저장소를 사용할 수 있습니다.