IIS 6.0 권한 문제 프로그램에 대한 익명 액세스를 IIS에

두 계정의 차이점에 대해 혼란스러워합니다.

  • appication 풀이 실행될 Windows 계정;
  • 웹 응용 프로그램에 대한 익명 액세스를 IIS에 사용할 때 매핑 된 관련 Windows 계정

차이점은 무엇입니까?

Windows Server 2003 x64 + IIS 6.0을 사용하고 있습니다.

미리 감사드립니다, 조지



답변

다소 혼란스럽지 않습니다. 첫째, 익명 액세스 계정은 오래 전부터 사용되어 왔으며 응용 프로그램 풀에 대한 아이디어는 IIS 6에서 새로 도입되었습니다. IIS가 처음부터 새로 설계 되었으면 이것이 실제로는 아닐 것이라고 생각합니다 (증거는 없지만) 설정, 그것은 단지 호환성을 유지하는 것처럼 느낍니다.

응용 프로그램 풀 계정에는 서버에 대한 특정 권한이 필요합니다. 이들은 일반적으로 IIS_WPG 로컬 그룹에 계정을 추가하여 부여됩니다.
익명 액세스 계정에는 이러한 권한이 필요하지 않습니다.
웹 사이트가 익명 액세스를 허용하도록 설정되어 있다고 가정하면 웹 응용 프로그램의 가장 설정에 따라 페이지가 실행될 계정이 결정됩니다. 가장이 설정되어 있으면 요청이 익명 계정으로 처리됩니다. 반면 가장이 꺼져 있으면 인증 설정에 관계없이 요청이 응용 프로그램 풀 계정으로 실행됩니다.
가장이 필요하지 않은 경우 전원을 끄면 처리량이 약간 향상됩니다. 또한 페이지 요청이 프로세스에 관련된 다른 계정을 가지지 않고 응용 프로그램 풀로 실행되면 따르는 것이 더 쉽다고 생각합니다.

회사 인트라넷을위한 작은 웹 응용 프로그램을 작성했습니다. 이들은 Windows 인증을 사용하는 경향이 있으므로 ASP는 페이지에 액세스하는 사람을 알고 있지만 가장하지는 않으므로 요청이 응용 프로그램 풀로 실행됩니다. 이를 통해 데이터베이스 액세스가 Windows 계정으로 실행되어 관리가 쉬워지고 (IMO) DBA가 행복해집니다.
누가 사이트를 실행하고 있는지 알 필요가없는 익명 사이트는 익명 액세스를 설정하지만 가장은 해제 된 상태로 유지합니다.

편집 : 추가 독서.
빠른 검색 MSDN에서 도움이 될만한 기사를 찾았습니다 . 또한 IIS 7에서 변경된 사항에 대한 기사를 찾았 습니다
. 익명 액세스 계정이 실제로 필요하지 않다는 이론을 뒷받침하는 것 같습니다. 이제 IIS가 응용 프로그램 풀을 지원합니다.

편집 : 가장 정보
web.config에 설정이 없으면 ASP.NET은 machine.config의 설정을 사용합니다. 다양한 구성 파일이 상호 작용하는 방법에 대한 자세한 정보는 여기에 있습니다.


답변

나는 새로운 사용자이며 충분한 평판을 얻지 못하므로 희망적으로 회신하는 것이 좋습니다. 좋은 토론. 몇 가지 의견을 삽입 할 것이라고 생각했습니다.

pipTheGeek는 지적했듯이 IIS7에서 훨씬 좋습니다. 앱 풀 ID 만 사용하도록 사이트를 설정할 수 있습니다. 그러면 더 이상 2 명의 사용자를 유지할 필요가 없습니다. 앱 풀당 하나의 사이트가 있거나 동일한 앱 풀의 모든 사이트가 서로를 신뢰할 때 유용합니다.

공백이없는 IIS_ WPG (이 텍스트는 이탤릭체로 표시되어 있음)는 요구 사항이며 가장을위한 고려 사항은 아닙니다. IIS6에서 IIS_ WPG 그룹에 사용자를 추가하지 않으면 앱 풀의 ID로 사용할 수 없습니다. 처음 사용하려고하면 앱 풀이 실패합니다. IIS7에서는 사용자가 IIS_ WPG에 자동으로 주입되므로 더 이상 걱정할 필요가 없습니다.

가장의 관점에서는 100 %를 따르지 않으므로 항상 앱 풀 ID와 익명 또는 인증 된 사용자 모두에 대해 최소한 읽기 권한이 필요합니다. 예를 들어, SQL Server 연결 문자열에 Windows auth를 사용하는 경우 항상 RevertToSelf가 사용되며 익명 (또는 인증 된) 사용자 ID가 아닌 앱 풀 ID가 사용됩니다.

George, 가장 설정이 있는지 확인하려면 www.sysinternals.com의 processmonitor를 사용하십시오. 그것으로 당신은 디스크에서 사용중인 것을 볼 수 있으며, 라인의 속성은 그것이 가장인지 아닌지를 보여줍니다. 무료 도구이며 프로덕션 서버에서 안전하며 쉽게 배울 수 있습니다.

가장은 기본적으로 활성화되어 있지 않으므로 web.config에 표시되지 않으면 아직 보이지 않습니다. 그러나 서버 관리자가 아닌 경우 framework \ config 폴더에서 루트 web.config 및 machine.config도 설정되어 있지 않은지 확인하십시오. ‘가장’이라는 단어를 검색하십시오.

다른 측면에서는 ASPNET 사용자에 관한 문서를 볼 때마다 이전 문서와 IIS5를 고려하십시오. IIS6,7에서 실제로 의미하는 것은 앱 풀 ID 사용자입니다.


답변