다음을 통해 공유


IIS 7에서 Built-In 사용자 및 그룹 계정 이해

작성자 : Saad Ladki

소개

이전 버전의 IIS에서는 설치하는 동안 IUSR_MachineName 라는 로컬 계정이 만들어집니다. IIS는 익명 인증을 사용하도록 설정할 때마다 기본적으로 IUSR_MachineName 계정을 사용했습니다. FTP 및 HTTP 서비스에서 모두 사용되었습니다.

모든 애플리케이션 풀 ID에 대한 컨테이너로 사용된 IIS_WPG 그룹도 있었습니다. IIS를 설치하는 동안 시스템의 모든 적절한 리소스에 IIS_WPG 그룹에 대한 올바른 사용자 권한이 부여되었으므로 관리자는 새 애플리케이션 풀 계정을 만들 때 해당 그룹에 ID를 추가하기만 하면 됩니다.

이 모델은 잘 작동했지만 단점이 있었습니다: IUSR_MachineName 계정과 IIS_WPG 그룹은 모두 생성된 시스템에 로컬이었습니다. Windows 내의 모든 계정 및 그룹에는 다른 계정과 구별되는 SID(보안 식별자)라는 고유 번호가 제공됩니다. ACL이 만들어지면 SID만 사용됩니다. 이전 버전의 IIS에서 디자인의 일부로 IUSR_MachineName metabase.xml 파일에 포함되어 한 컴퓨터에서 다른 컴퓨터로 metabase.xml 복사하려고 하면 작동하지 않습니다. 다른 컴퓨터의 계정에는 다른 이름이 있습니다.

또한 SID가 컴퓨터와 컴퓨터 간 다르기 때문에 한 컴퓨터에서 다른 컴퓨터로 ACL을 'xcopy /o'할 수 없습니다. 한 가지 해결 방법은 도메인 계정을 사용하는 것이었지만 인프라에 Active Directory를 추가해야 했습니다. IIS_WPG 그룹에는 사용자 권한과 비슷한 문제가 있었습니다. 한 컴퓨터의 파일 시스템에서 IIS_WPG ACL을 설정하고 다른 컴퓨터로 'xcopy /o'를 시도하면 실패합니다. 이 환경은 기본 제공 계정 및 그룹을 사용하여 IIS 7 이상에서 개선되었습니다.

기본 제공 계정 및 그룹은 운영 체제에서 항상 고유한 SID를 갖도록 보장합니다. IIS 7 이상에서는 이를 추가로 수행하여 새 계정 및 그룹에서 사용하는 실제 이름이 지역화되지 않도록 했습니다. 예를 들어 설치하는 Windows 언어에 관계없이 IIS 계정 이름은 항상 IUSR이며 그룹 이름은 IIS_IUSRS.

요약하면 IIS 7 이상에서는 다음을 제공합니다.

  • IUSR 기본 제공 계정은 IUSR_MachineName 계정을 대체합니다.
  • IIS_IUSRS 기본 제공 그룹은 IIS_WPG 그룹을 대체합니다.

IUSR 계정은 기본 제공 계정이므로 더 이상 암호가 필요하지 않습니다. 논리적으로 NETWORKSERVICE 또는 LOCALSERVICE 계정과 동일하다고 생각할 수 있습니다. 새 IUSR 계정과 IIS_IUSRS 그룹 모두 아래 섹션에서 자세히 설명합니다.

새 IUSR 계정 이해

IUSR 계정은 IIS 7 이상에서 IUSR_MachineName 계정을 대체합니다. Windows Server 2008에 포함된 FTP 6 호환 서버를 설치하는 경우에도 IUSR_MachineName 계정이 만들어지고 사용됩니다. Windows Server 2008에 포함된 FTP 서버를 설치하지 않으면 이 계정이 만들어지지 않습니다.

이 기본 제공 계정에는 암호가 필요하지 않으며 익명 인증을 사용하도록 설정할 때 사용되는 기본 ID가 됩니다. applicationHost.config 파일을 보면 다음 정의가 표시됩니다.

<anonymousAuthentication enabled="true" userName="IUSR" defaultLogonDomain="" />

그러면 IIS에서 모든 익명 인증 요청에 대해 새 기본 제공 계정을 사용하도록 지시합니다. 가장 큰 장점은 다음을 수행할 수 있다는 것입니다.

  • Windows Explorer 또는 여러 명령줄 도구를 사용하여 IUSR 계정에 대한 파일 시스템 권한을 설정합니다.
  • 이 계정의 암호 만료에 대해 더 이상 걱정할 필요가 없습니다.
  • xcopy /o를 사용하여 소유권 및 ACL 정보와 함께 파일을 다른 컴퓨터에 원활하게 복사합니다.

참고

IUSR 계정은 네트워크에서 익명으로 작동하는 방식으로 LOCALSERVICE와 유사합니다. NETWORKSERVICE 및 LOCALSYSTEM 계정은 컴퓨터 ID 역할을 할 수 있지만 IUSR 계정은 사용자 권한 상승이 필요하기 때문에 수행할 수 없습니다. 네트워크에 대한 권한이 있는 익명 계정이 필요한 경우 익명 인증을 위해 과거와 마찬가지로 새 사용자 계정을 만들고 사용자 이름과 암호를 수동으로 설정해야 합니다.

IIS 관리자를 사용하여 네트워크에 익명 계정 권한을 부여하려면 다음을 수행합니다.

  1. 시작을 클릭하고 INetMgr.exe입력한 다음 Enter 키를 클릭합니다. 메시지가 표시되면 계속 을 클릭하여 권한을 상승합니다.
  2. 연결 섹션에서 컴퓨터 이름 옆에 있는 단추를 클릭합니다+.
  3. IIS 관리자에서 관리하려는 사이트를 두 번 클릭합니다.
  4. 기능 보기에서 인증을 두 번 클릭합니다.
  5. 익명 인증을 선택한 다음 작업 창에서 편집을 클릭합니다.
  6. 익명 인증 자격 증명 편집 대화 상자에서 특정 사용자 옵션을 클릭한 다음 설정을 클릭합니다.
  7. 자격 증명 설정 대화 상자에서 원하는 사용자 이름과 암호를 입력한 다음 확인을 클릭합니다.

새 IIS_IUSRS 그룹 이해

IIS_IUSRS 그룹은 IIS_WPG 그룹을 대체합니다. 이 기본 제공 그룹은 이 그룹에 추가된 계정이 애플리케이션 풀 ID로 원활하게 작동할 수 있도록 필요한 모든 파일 및 시스템 리소스에 액세스할 수 있습니다.

기본 제공 계정과 마찬가지로 이 기본 제공 그룹은 여러 xcopy 배포 장애물을 해결합니다. IIS_WPG 그룹(IIS 6.0 시스템에서 사용 가능)에 대한 파일에 대한 권한을 설정하고 해당 파일을 다른 Windows 컴퓨터에 복사하려고 하면 그룹의 SID가 컴퓨터 간에 다르며 사이트의 구성이 끊어집니다.

IIS 7 이상의 그룹 SID는 Windows Server 2008을 실행하는 모든 시스템에서 동일하므로 컴퓨터에서 컴퓨터로 파일을 이동할 때 'xcopy /o'를 사용하여 ACL 및 소유권 정보를 유지할 수 있습니다. 이렇게 하면 xcopy 배포를 쉽게 수행할 수 있습니다.

또한 IIS 7 이상에서는 애플리케이션 풀 ID를 구성하고 필요한 모든 변경 내용을 더 쉽게 변경할 수 있습니다. IIS가 작업자 프로세스를 시작하면 프로세스에서 사용할 토큰을 만들어야 합니다. 이 토큰이 만들어지면 IIS는 런타임에 작업자 프로세스 토큰에 IIS_IUSRS 멤버 자격을 자동으로 추가합니다. '애플리케이션 풀 ID'로 실행되는 계정은 더 이상 IIS_IUSRS 그룹의 명시적 부분이 될 필요가 없습니다. 이러한 변경은 장애물이 적은 시스템을 설정하는 데 도움이 되며 전반적인 환경을 보다 유리하게 만듭니다.

이 기능을 사용하지 않도록 설정하고 IIS_IUSRS 그룹에 계정을 수동으로 추가하려면 manualGroupMembership 값을 'true'로 설정하여 이 새 기능을 사용하지 않도록 설정합니다. 다음 예제에서는 defaultAppPool에 대해 이 작업을 수행하는 방법을 보여줍니다.

<applicationPools>
    <add name="DefaultAppPool">
        <processModel manualGroupMembership="true" />
    </add>
</applicationPools >