원래 주소: http://www.iis.net/1026/SinglePageArticle.ashx
번역자: Tony Qu(BluePrint 번역 팀 소속)
저자: Vikas Malhotra
마지막 업데이트: 2006년 9월 12일 화요일 오전 11시 48분
소개 이전 버전의 IIS에는 설치 중에 생성된 IUSR_MachineName이라는 로컬 계정이 있었습니다. 익명 인증이 활성화되면 이 IUSR_MachineName 계정은 기본적으로 IIS에서 사용되는 ID가 되며 FTP 및 HTTP 서비스 모두에서 사용됩니다. 모든 응용 프로그램 풀 계정의 컨테이너인 IIS_WPG라는 그룹도 있습니다. IIS를 설치하는 동안 사용 가능한 모든 시스템 리소스가 IIS_WPG에 대한 적절한 권한으로 설정되었는지 확인해야 합니다. 관리자가 새 응용 프로그램 풀 계정을 만들 때 이 그룹에 새 계정(ID)만 추가하면 됩니다.
이 모델은 매우 잘 작동하지만 다른 디자인과 마찬가지로 단점도 있습니다. 가장 큰 단점은 IUSR_MachineName 계정과 IIS_WPG 그룹이 해당 계정이 생성된 시스템에 대해 로컬이라는 것입니다. Windows의 각 계정이나 그룹에는 SID(Security Identification Number)라는 고유 번호가 있어 다른 계정이나 그룹과 구별할 수 있습니다. 우리는 SID를 사용하여 ACL을 생성합니다. 이전 버전의 IIS 설계의 일부로 Metabase.xml 파일에 IUSR_MachineName을 포함시켰습니다. 한 시스템에서 다른 시스템으로 Metabase.xml을 복사하려고 하면 해당 시스템의 다른 시스템 계정이 다른 시스템을 사용하기 때문에 즉시 작동하지 않습니다. 이름. 또한 SID가 시스템마다 다르기 때문에 xcopy /o를 사용하여 ACL을 복사할 수는 없습니다. 한 가지 해결 방법은 도메인 계정을 사용하는 것이지만 스키마에 Active Directory를 추가해야 합니다. IIS_WPG 그룹에도 동일한 권한 문제가 있습니다. 한 시스템의 파일 시스템에서 IIS_WPG 그룹에 대한 ACL을 설정하면 xcopy /o를 사용하여 ACL을 다른 시스템에 복사할 수 없습니다. IIS는 이 문제를 이해하고 IIS 7.0의 기본 제공 계정과 그룹을 사용하여 이를 개선했습니다.
기본 제공 계정과 그룹은 운영 체제에서 보장되므로 고유한 SID가 보장됩니다. IIS는 한 단계 더 나아가 새 계정 이름과 그룹 이름이 지역화되지 않도록 보장합니다. 예를 들어, 설치하는 Windows의 언어 버전에 관계없이 IIS 계정 이름은 항상 IUSR이고 그룹 이름은 항상 IIS_IUSRS입니다.
요약하자면, IIS 7.0에서는
IUSR 기본 제공 계정이 IUSR_MachineName 계정을 대체합니다.
IIS_IUSRS 기본 제공 그룹은 IIS_WPG 그룹을 대체합니다.
IUSR은 기본 제공 계정이므로 더 이상 암호가 필요하지 않습니다. 논리적으로는 NETWORKSERVICE 또는 LOCALSERVICE 계정으로 생각할 수 있습니다. IUSR 계정과 IIS_IUSRS 그룹은 다음 장에서 자세히 소개됩니다.
새 IUSR 계정 이해 위에서 언급한 대로 IUSR 계정은 IIS 7.0의 IUSR_MachineName 계정을 대체합니다. IUSR_MachineName 계정은 FTP 서버를 설치할 때만 생성되고 사용됩니다. FTP가 설치되어 있지 않으면 계정이 생성되지 않습니다.
이 기본 제공 계정에는 비밀번호가 필요하지 않으며 익명 인증이 활성화되면 기본 사용자 ID로 사용됩니다. applicationHost.config 파일을 살펴보면 다음 정의를 찾을 수 있습니다.
<anonymousAuthentication 활성화="true" userName="IUSR" defaultLogonDomain="" />
이는 IIS가 모든 익명 인증 요청에 대해 새로운 기본 제공 계정을 사용하도록 지시합니다. 이 작업의 가장 큰 장점은 이제 다음과 같은 작업을 수행할 수 있다는 것입니다.
* Windows 탐색기 또는 기타 여러 명령줄 도구를 사용하여 IUSR에 대한 파일 시스템 권한을 설정합니다.
* 이 계정의 비밀번호가 만료되는 것에 대해 걱정할 필요가 없습니다
* xcopy /o를 사용하여 파일과 해당 소유권 및 ACL 정보를 다른 시스템에 원활하게 복사할 수 있습니다.
IUSR 계정은 네트워크에서 익명으로 작동한다는 점에서 LOCALSERVICE 계정과 매우 유사하다는 점을 언급하는 것이 중요합니다. NETWORKSERVICE 및 LOCALSYSTEM은 컴퓨터처럼 작동할 수 있지만 IUSR은 권한 있는 승격이므로 작동하지 않습니다. 네트워크 액세스가 가능한 익명 계정을 갖고 싶다면 이전에 익명 인증을 설정한 것처럼 새 사용자 계정을 만들고 사용자 이름과 비밀번호를 수동으로 설정해야 합니다. IIS 관리자에서 이 작업을 수행하려면 다음을 수행할 수 있습니다.
* 시작 버튼을 클릭하고 "INetMgr.exe"를 입력한 후 Enter 키를 누릅니다. 프롬프트 상자가 나타나면 계속을 눌러 권한을 에스컬레이션합니다.
* Connection에서 기기 이름 옆에 있는 "+" 버튼을 클릭하세요.
* IIS 관리자에서 관리하고 싶은 사이트를 더블클릭하세요.
* 기능 이름 제목 아래 인증 항목을 두 번 클릭합니다.
* 익명 인증을 선택하고 오른쪽 작업 제목 아래 편집을 클릭하면 자격 증명 지정 대화 상자가 나타납니다.
* 특정 사용자 옵션을 클릭한 후 "설정" 버튼을 누르세요.
* 원하는 사용자 이름과 비밀번호를 입력하고 확인을 누르면
새로운 IIS_IUSRS 그룹을 이해할 수 있습니다. 앞서 언급한 것처럼 IIS_IUSRS 그룹은 이미 모든 파일과 시스템 리소스에 대한 액세스 권한을 가지고 있으므로 계정이 그룹에 추가되고 응용 프로그램 풀 ID로 원활하게 작동합니다.
기본 제공 계정과 함께 작동하기 때문에 이 기본 제공 그룹은 여러 xcopy 배포 문제를 해결할 수 있습니다. 파일에 IIS_WPG에 대한 권한을 설정하고(IIS6에서 가능) 해당 파일을 다른 Windows 시스템에 복사하려고 하면 그룹 SID가 컴퓨터마다 다르기 때문에 사이트 설정이 손상될 수 있습니다.
IIS7에서는 그룹 SID가 모든 Longhorn 시스템에서 동일하기 때문입니다. 'xcopy /o'를 사용하면 한 시스템에서 다른 시스템으로 파일을 이동할 때 ACL 및 소유권 정보가 보존되므로 xcopy 배포가 훨씬 간단해집니다!
고객의 두 번째 요청은 "응용 프로그램 풀 ID를 구성한 후에는 IIS에서 필요한 모든 변경 작업을 수행해야 합니다."입니다. 우리는 이 의견을 받아들여 IIS7.0에서 이 프로세스를 더욱 간단하게 만들었습니다. IIS가 작업자 프로세스를 시작할 때 프로세스에서 사용할 토큰을 만들어야 합니다. 이제 이 토큰을 생성하면 IIS는 런타임 시 자동으로 IIS_IUSRS 멤버십을 작업자 프로세스 토큰에 추가합니다. 이렇게 하면 해당 계정이 명시적으로 IIS_IUSRS 그룹에 속하지 않고도 응용 프로그램 풀로 실행될 수 있습니다. 우리는 이러한 변화가 귀하의 시스템을 보다 쉽게 설정하고 전반적인 경험을 향상시키는 데 도움이 될 것이라고 믿습니다.
이 기능을 비활성화하고 수동으로 IIS_IUSRS 그룹에 계정을 추가하려는 경우 manualGroupMembership 값을 true로 설정해야만 이 기능을 사용할 수 있습니다.
다음은 이 기능을 비활성화하기 위해defaultAppPool
을 설정하는 방법에 대한 예입니다.
<이름 추가="DefaultAppPool">
<processModel manualGroupMembership="true" />
</추가>
</applicationPools>