웹 사이트 관리 도구 보안 탭

Visual Studio 2010

업데이트: 2007년 11월

웹 사이트 관리 도구의 보안 탭을 사용하여 웹 응용 프로그램의 특정 리소스에 대한 보안 설정 규칙을 관리할 수 있습니다. ASP.NET에서는 특정 사용자 계정이나 사용자 계정이 속하는 역할로 액세스 권한을 제한할 수 있는 보안 시스템을 사용합니다. 보안 탭을 사용하여 웹 사이트에 대한 사용자 계정, 역할 및 액세스 규칙을 관리합니다. 보안 탭을 처음 사용하기 전에 보안 설정 마법사를 사용하여 웹 사이트에 대한 기본 보안 설정을 구성합니다.

ASP.NET 보안은 사용자 계정, 역할 및 액세스 규칙 개념을 기반으로 하며 지정된 사용자 계정으로 웹 응용 프로그램 리소스에 대한 액세스 권한을 제한할 수 있도록 합니다. 보안 설정은 구성 설정 및 데이터베이스나 기타 데이터 저장소에 저장된 데이터를 조합해서 지정됩니다. 만든 사용자 계정 및 역할은 데이터베이스에 저장되고 액세스 규칙은 Web.config 파일에 저장됩니다.

웹 사이트의 사용 방식에 따라 다음과 같은 보안 유형을 사용하도록 응용 프로그램을 구성할 수 있습니다.

  • 폼 기반 인증(인터넷)

    폼 기반 인증은 인터넷에서 사용할 수 있는 웹 사이트에 사용됩니다. 폼 기반 인증은 ASP.NET 멤버 자격 시스템을 사용하여 개별 사용자 계정 및 그룹(역할)을 관리합니다. 사용자 계정 정보는 로컬 데이터베이스나 Microsoft SQL Server 데이터베이스에 저장됩니다. ASP.NET 로그온 컨트롤을 사용하여 사용자가 자격 증명을 입력할 수 있는 로그온 페이지를 만들 수 있습니다.

  • Microsoft Windows 통합 인증(로컬 네트워크)

    Windows 인증은 Windows 보안과 상호 작용하며 사용자가 Windows에 로그온할 때 제공하는 로그온 자격 증명을 사용합니다. 따라서 Windows 인증은 사용자가 Windows 기반 네트워크에 로그온하는 인트라넷 시나리오에 적합합니다. 또한 사용자들이 Windows 자격 증명을 사용하여 응용 프로그램에 자동으로 로그온되므로 로그온 페이지를 만들 필요가 없습니다.

보안 탭의 사용자 섹션을 사용하여 다음 작업을 완료합니다.

  • 웹 사이트에 대해 등록된 사용자 계정을 만들고 편집하고 삭제합니다.

  • 웹 사이트에 대해 등록된 모든 사용자 계정 목록을 확인합니다.

  • 웹 사이트에 사용되는 인증 방법을 변경합니다.

ssa0wsyf.alert_note(ko-kr,VS.100).gif참고:

인증 형식으로 인터넷 옵션을 선택하면(폼 기반 인증을 사용할 경우) 사용자 계정을 만들고 관리할 수 있습니다. 그러나 인증 형식으로 로컬 네트워크 옵션을 선택하면(Windows 통합 인증을 사용할 경우) 개별 사용자 계정을 관리할 수 없습니다. 인증 형식을 변경하면 만든 모든 사용자 정보가 유실됩니다. 또한 액세스 규칙이 구성된 방식으로 더 이상 작동되지 않을 수 있습니다. 일반적으로 웹 사이트를 처음 구성할 때만 인증 형식을 선택합니다.

보안 탭의 역할 섹션을 사용하여 사용자 계정을 그룹화합니다. 이렇게 하면 사용 권한을 보다 쉽게 할당(권한 부여)할 수 있습니다.

보안 탭의 액세스 규칙 섹션을 사용하여 특정 사용자 계정이나 지정된 역할에 속하는 모든 사용자 계정에 특정 페이지에 대한 액세스 권한을 허용하거나 거부합니다. 일반적으로 액세스 규칙을 사용하여 일부 사용자 계정에 대해 페이지를 제한할 수 있습니다.

인증 형식을 인터넷(폼 인증)으로 설정한 경우 사용자 계정을 만들고 관리할 수 있습니다. 인증 형식을 변경하려면 인증 형식 선택을 클릭합니다.

사용자 계정을 만들려면

사용자 만들기를 클릭한 후 다음 정보를 지정합니다.

  • 사용자 이름

    만들 사용자 계정의 이름을 입력합니다.

  • 암호

    사용자 이름에 대한 암호를 입력합니다. 암호는 대/소문자를 구분합니다.

  • 암호 확인

    암호를 다시 입력합니다.

  • 전자 메일

    사용자 이름에 대한 전자 메일 주소를 입력합니다.

    웹 사이트 관리 도구는 입력한 주소가 유효한 전자 메일 주소인지 여부를 확인하지는 않지만 전자 메일 주소의 형식이 올바른지 확인합니다.

  • 보안 질문

    암호를 다시 설정하거나 복구해야 할 때 사용자에게 묻는 질문을 입력합니다.

  • 보안 대답

    보안 질문에 대한 대답을 입력합니다.

  • 활성 사용자

    해당 사용자 계정을 사이트의 활성(현재) 사용자로 설정하려면 이 옵션을 선택합니다. 이 옵션을 선택하지 않으면 사용자 정보는 데이터베이스에 저장되지만 해당 사용자가 웹 사이트에 로그온할 수 없습니다.

  • 역할

    사용자 이름에 대한 역할을 선택합니다. 역할은 개별적으로 만듭니다. 자세한 내용은 다음 단원을 참조하십시오.

역할을 만들려면

  1. 보안 탭에서 역할 사용을 클릭합니다.

  2. 역할 만들기 또는 관리를 클릭합니다.

  3. 새 역할 이름 상자에 Administrator, Member 또는 Guest와 같이 만들 역할의 이름을 입력한 다음 역할 추가를 클릭합니다.

역할에 사용자 계정을 추가하려면

  1. 보안 탭에서 사용자 관리를 클릭한 후 사용자 편집을 클릭합니다.

  2. 역할에서 사용자 계정에 대한 역할을 선택합니다.

액세스 규칙을 만들려면

  1. 보안 탭에서 액세스 규칙 만들기를 클릭합니다.

  2. 다음 옵션을 지정합니다.

    • 이 규칙을 적용할 디렉터리 선택

      전체 사이트나 특정 하위 디렉터리에 적용할 규칙을 만들도록 선택할 수 있습니다. 웹 사이트의 디렉터리 구조 표시에서 규칙을 적용할 디렉터리를 선택합니다.

    규칙 적용 대상에서 규칙 적용 방식을 지정합니다.

    • 역할

      역할을 선택한 후 목록에서 액세스 규칙을 적용할 역할의 이름을 선택합니다.

    • 사용자

      사용자를 선택한 후 액세스 규칙을 적용할 사용자 계정의 이름을 입력합니다. ASP.NET 멤버 자격(웹 사이트 보안이 인터넷으로 설정된 경우)을 사용할 경우 사용자 검색 기능을 사용할 수도 있습니다.

    • 모든 사용자

      웹 사이트의 모든 방문자에게 해당 규칙을 적용하려면 이 옵션을 선택합니다.

    ssa0wsyf.alert_note(ko-kr,VS.100).gif참고:

    모든 사용자 옵션을 지정하여 규칙을 만들 때는 주의하십시오. 규칙은 순서대로 적용되므로 의도와는 다르게 모든 사용자가 폴더에 액세스하지 못하게 하는 규칙이 만들어질 수도 있습니다.

    • 익명 사용자

      등록되지 않은 익명 사용자 계정에만 해당 규칙을 적용하려면 이 옵션을 선택합니다.

    일반적으로 로그온하지 않은 사용자의 액세스를 제한하거나 거부하려면 익명 사용자 옵션을 선택합니다.

    • 권한

      지정된 사용자 계정이나 역할에 특정 디렉터리에 대한 액세스 권한을 부여하려면 허용을 선택합니다.

      지정된 사용자 계정이나 역할에 특정 디렉터리에 대한 액세스 권한을 부여하지 않으려면 거부를 선택합니다.

      예를 들어, 로그온하지 않은 익명 사용자가 폴더의 페이지를 볼 수 없도록 하려면 해당 폴더를 클릭하고 익명 사용자를 선택한 후 거부를 선택합니다.

    올바른 권한을 설정하기 위해 같은 폴더에 대해 여러 가지 규칙을 만들어야 하는 경우도 있습니다. 예를 들어, 익명 사용자 계정의 액세스를 거부하는 규칙을 만들고 역할이 게스트인 사용자 계정의 액세스를 거부하는 두 번째 규칙을 만들 수 있습니다. 이렇게 하면 다른 그룹의 사용자로 로그온한 경우에만 해당 폴더에 액세스할 수 있습니다.

웹 사이트 관리 도구는 다음의 두 위치에서 보안 정보를 관리합니다.

  • 웹 사이트의 루트에 있는 Web.config 파일

  • 사용자 및 그룹 정보를 저장하는 데 사용되는 사이트 공급자 데이터베이스

Web.config 설정

보안 탭을 통해 관리되는 Web.config 설정은 <authorization>, <roleManager><authentication> 섹션입니다.

다음 코드 예제는 웹 사이트 관리 도구가 웹 사이트의 제한된 하위 디렉터리 내에 만드는 Web.config 파일입니다. 관리자는 제한된 하위 디렉터리에 액세스할 수 있지만 익명 사용자는 액세스할 수 없습니다.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <authorization>            <allow roles="administrators" />            <deny users="?" />        </authorization>
    </system.web>
</configuration>

데이터베이스

기본 데이터 공급자를 사용할 경우 웹 사이트 관리 도구는 기본 ASP.NET 데이터베이스에 항목을 만듭니다. 기본적으로 웹 사이트 관리 도구는 웹 사이트의 App_Data 폴더에 데이터베이스를 만듭니다. 그러나 공급자 탭을 사용할 경우 사용자 계정 및 역할에 대한 응용 프로그램 정보가 다른 데이터베이스에 보관되도록 지정할 수 있습니다. 예를 들어 역할 정보를 Windows 사용자 데이터베이스에서 가져오도록 지정할 수 있습니다. 자세한 내용은 웹 사이트 관리 도구 공급자 탭을 참조하십시오.

보안 탭에서 관리되는 설정에 대한 자세한 내용은 .NET Framework 설명서에서 다음 항목을 참조하십시오.

표시: