보안 컨텍스트 전달

Windows는 로그온한 각 사용자마다 보안 컨텍스트를 수립합니다. IIS가 클라이언트로부터 요청을 받으면 이 요청을 인증한 다음 클라이언트인 것처럼 가장합니다. IIS가 클라이언트로 가장하는 동안 IIS는 인증된 클라이언트의 보안 컨텍스트의 경계 내에서 작동합니다. 이 보안 컨텍스트는 클라이언트 요청의 특성에 따라 요청 처리 작업의 여러 단계를 거치는 동안 변경될 수도 있습니다. 다음 도표는 요청 처리에서 제 역할을 할 수도 있는 다양한 보안 컨텍스트를 보여 줍니다.

보안 컨텍스트

IIS 프로세스(inetinfo)의 보안 컨텍스트는 LocalSystem입니다. 그러나 IIS가 클라이언트 요청을 처리할 때는 요청을 작성한 클라이언트 컨텍스트로 가장합니다. 익명 인증 스키마를 사용하여 클라이언트가 인증되면 in-process 응용 프로그램의 보안 컨텍스트는 IUSR_machinename이고 격리된 프로세스에서 실행되는 응용 프로그램의 보안 컨텍스트는 IWAM_machinename이 됩니다. 다른 인증 스키마를 사용하여 클라이언트가 인증되면 보안 컨텍스트가 클라이언트의 개별 계정으로 매핑됩니다.

ASP로 COM 구성 요소의 인스턴스를 작성하면 COM 구성 요소는 인스턴스를 작성한 .asp 파일의 보안 컨텍스트를 상속합니다. IIS가 구성 요소 인스턴스를 없애면 대부분의 인스턴스에 있는 .asp 파일의 보안 컨텍스트를 사용합니다. 그러나 이렇게 되지 않는 경우가 한 가지 있습니다. COM 구성 요소에 세션 영역이 주어졌고(즉 Session("mysesscomp") = Server.CreateObject("MyComps.Comp1")), 구성 요소가 소실되기 전에 세션이 시간 초과되면 IIS는 .asp 파일에 액세스한 클라이언트의 컨텍스트가 아니라 자체 보안 컨텍스트(LocalSystem)를 사용하여 구성 요소를 없애려고 합니다. 구성 요소가 해제되지 않은 보안 리소스에 액세스한 경우 이런 상황은 시스템 전체에 부작용을 줄 수 있습니다.


© 1997-2001 Microsoft Corporation. All rights reserved.