인증 구성(Office SharePoint Server)

업데이트 날짜: 2009년 3월

적용 대상: Office SharePoint Server 2007

 

마지막으로 수정된 항목: 2009-03-20

이 장의 내용

인증은 클라이언트 ID의 유효성을 검사하는 과정으로, 대개 지정된 인증 기관을 통해 이루어집니다. 웹 사이트 인증은 웹 사이트 리소스에 액세스하려는 사용자를 인증된 엔터티로 확인하는 데 유용합니다. 인증 응용 프로그램에서는 웹 사이트에 대한 액세스를 요청 중인 사용자로부터 자격 증명을 얻습니다. 자격 증명은 사용자 이름 및 암호와 같은 다양한 형태의 ID일 수 있습니다. 인증 응용 프로그램에서는 인증 기관에 있는 정보를 토대로 자격 증명이 유효한지 확인합니다. 자격 증명이 유효할 경우 해당 자격 증명을 제출한 사용자는 인증된 ID로 취급됩니다.

Office SharePoint Server 인증

어떤 Office SharePoint Server 인증 메커니즘을 사용하는 것이 가장 적절한지 결정할 때 다음 사항을 고려하십시오.

  • Windows 인증 메커니즘을 사용하려면 신뢰된 인증 기관을 통해 인증될 수 있는 사용자 계정을 지원하는 환경이 필요합니다.

  • Windows 인증 메커니즘을 사용하는 경우 사용자 자격 증명 관리 작업은 운영 체제를 통해 수행됩니다. 그러나 폼 인증처럼 Windows 이외의 인증 공급자를 사용하는 경우에는 직접 자격 증명 관리 시스템을 계획 및 구현해야 하며 사용자 자격 증명을 어디에 저장할지도 결정해야 합니다.

  • 계층 간에 운영 체제 수준에서 사용자의 보안 컨텍스트를 전달할 수 있는 가장/위임 모델을 구현해야 할 수도 있습니다. 이를 통해 운영 체제에서는 사용자를 가장하고 사용자의 보안 컨텍스트를 다음 다운스트림 하위 시스템에 위임할 수 있게 됩니다.

Microsoft Office SharePoint Server는 논리적으로 프런트 엔드 웹 서버 계층, 응용 프로그램 서버 계층 및 백 엔드 데이터베이스 계층이라는 세 개의 계층으로 나뉘는 분산 응용 프로그램입니다. 각 계층은 신뢰된 하위 시스템이고 각각의 계층에 액세스하기 위해 인증이 필요할 수 있습니다. 자격 증명 유효성 검사를 위해서는 인증 공급자가 필요합니다. 인증 공급자는 특정 인증 메커니즘을 지원하는 소프트웨어 구성 요소입니다. Office SharePoint Server 2007 인증은 ASP.NET 인증 모델을 토대로 만들어졌으며 다음 세 가지 인증 공급자를 포함하고 있습니다.

  • Windows 인증 공급자

  • 폼 인증 공급자

  • 웹 SSO 인증 공급자

인증에 Active Directory 디렉터리 서비스를 사용할 수도 있고, Microsoft SQL Server 데이터베이스, LDAP(Lightweight Directory Access Protocol) 디렉터리 또는 ASP.NET 2.0 멤버 자격 공급자가 있는 기타 디렉터리 같은 다른 데이터 저장소를 기반으로 사용자 자격 증명의 유효성을 검사하도록 환경을 디자인할 수도 있습니다. 멤버 자격 공급자에서는 사용하려는 데이터 저장소 유형을 지정합니다. 기본 ASP.NET 2.0 멤버 자격 공급자에서는 SQL Server 데이터베이스를 사용합니다. Office SharePoint Server 2007에는 LDAP 3.0 멤버 자격 공급자가 포함되어 있고 ASP.NET 2.0에는 SQL Server 멤버 자격 공급자가 포함되어 있습니다.

예를 들어 인트라넷 액세스에는 Windows 인증을 사용하고 외부 액세스에는 폼 인증을 사용하는 경우처럼 인증 공급자를 여러 개 배포할 수도 있습니다. 인증 공급자를 여러 개 사용하려면 웹 응용 프로그램을 여러 개 사용해야 합니다. 각각의 웹 응용 프로그램마다 별개의 지정된 영역과 하나씩의 인증 공급자가 있어야 합니다.

인증 공급자는 Active Directory, SQL Server 데이터베이스 또는 Active Directory 이외의 LDAP 디렉터리 서비스(예: NDS)에 저장되어 있는 사용자 자격 증명 또는 그룹 자격 증명을 기준으로 인증을 수행하는 데 사용됩니다. ASP.NET 멤버 자격 공급자에 대한 자세한 내용은 멤버 자격을 사용하도록 ASP.NET 응용 프로그램 구성(https://go.microsoft.com/fwlink/?linkid=87014&clcid=0x412)을 참조하십시오.

Windows 인증 공급자

Windows 인증 공급자에서는 다음과 같은 인증 방법을 지원합니다.

  • 익명 인증

    익명 인증에서는 사용자가 인증 자격 증명을 제공하지 않고도 웹 사이트의 공용 영역에 있는 리소스를 검색할 수 있습니다. IIS(인터넷 정보 서비스)에서는 웹 콘텐츠에 대한 요청에 응답하여 익명 사용자를 인증하는 IUSR_컴퓨터 이름 계정을 만듭니다. IUSR_컴퓨터 이름 계정은 IUSR 계정의 컨텍스트 아래에서 익명으로 리소스에 액세스할 수 있는 권한을 사용자에게 부여합니다. 여기서 컴퓨터 이름은 IIS를 실행 중인 서버의 이름입니다. 필요하면 유효한 Windows 계정을 사용하도록 익명 사용자 계정을 다시 설정할 수 있습니다. 독립 실행형 환경인 경우 IUSR_컴퓨터 이름 계정은 로컬 서버에 있습니다. 서버가 도메인 컨트롤러인 경우 IUSR_컴퓨터 이름 계정은 도메인에 대해 정의됩니다. 웹 응용 프로그램을 새로 만들 때 익명 액세스는 기본적으로 사용되지 않습니다. 따라서 익명 액세스를 사용하도록 설정하지 않으면 익명 액세스 요청이 있을 경우 해당 요청을 처리하기 전에 IIS에서 거부하게 되므로 보안이 한층 강화되는 효과를 얻을 수 있습니다.

  • 기본 인증

    기본 인증에는 사용자 액세스용으로 이전에 할당된 Windows 계정 자격 증명이 필요합니다. 기본 인증을 사용하면 HTTP 트랜잭션 중 요청할 경우 웹 브라우저에서 자격 증명을 제공할 수 있습니다. 기본 인증에서는 사용자 자격 증명이 네트워크 전송을 위해 암호화되지 않고 네트워크를 통해 일반 텍스트로 전송되므로 보안이 적용되지 않은 HTTP 연결에서 이 인증 방법을 사용하는 것은 바람직하지 않습니다. 기본 인증을 사용하려면 SSL(Secure Sockets Layer) 암호화를 사용하도록 설정해야 합니다.

  • 다이제스트 인증

    다이제스트 인증에서는 기본 인증과 동일한 기능을 제공하지만 보안은 더 강화됩니다. 사용자 자격 증명은 네트워크에서 일반 텍스트로 전송되지 않고 암호화됩니다. 사용자 자격 증명은 MD5 메시지 다이제스트로 전송되는데 이 경우 원래 사용자 이름 및 암호는 해독할 수 없습니다. 다이제스트 인증에서는 서버의 요청에 대한 응답으로 인증 요청자가 유효한 자격 증명을 제공하는 방식인 Challenge/Response 프로토콜을 사용합니다. 서버를 기준으로 인증을 수행하기 위해 클라이언트에서는 공유된 비밀 암호 문자열을 포함하는 MD5 메시지 다이제스트를 응답으로 제공해야 합니다. MD5 메시지-다이제스트 알고리즘은 IETF(Internet Engineering Task Force) RFC 1321(http://www.ietf.org//)에 자세히 설명되어 있습니다.

    다이제스트 인증을 사용하려면 다음 요구 사항을 확인하십시오.

    • 사용자와 IIS 서버가 동일한 도메인에 속하거나 동일한 도메인에서 트러스트되어야 합니다.

    • 사용자에 대해 유효한 Windows 사용자 계정이 도메인 컨트롤러의 Active Directory에 저장되어 있어야 합니다.

    • 도메인에서 Microsoft Windows Server 2003 도메인 컨트롤러를 사용해야 합니다.

    • 도메인 컨트롤러에 IISSuba.dll 파일을 설치해야 합니다. 이 파일은 Windows Server 2003 설치 과정에서 자동으로 복사됩니다.

  • Windows 통합 인증

    Windows 통합 인증은 NTLM 또는 제한된 Kerberos 위임을 사용하여 구현될 수 있습니다. 제한된 Kerberos 위임은 가장 안전한 인증 방법입니다. Windows 통합 인증은 사용자에게 Windows 도메인 계정이 있는 인트라넷 환경에 적합합니다. Windows 통합 인증의 경우 브라우저에서는 우선 도메인 로그온에 사용된 현재 사용자의 자격 증명을 사용하려고 시도하고, 이 시도가 실패하면 사용자 이름 및 암호를 사용자에게 요구합니다. Windows 통합 인증에서는 사용자의 암호가 서버로 전송되지 않습니다. 사용자가 도메인 사용자로 로컬 컴퓨터에 이미 로그온했다면 해당 도메인의 네트워크 컴퓨터에 액세스할 때 다시 인증을 거칠 필요가 없습니다.

  • Kerberos 인증

    이 인증은 Microsoft Windows 2000 Server 및 최신 버전의 Windows에서 Active Directory를 실행 중인 서버를 위한 인증 방법입니다. Kerberos는 티켓 인증을 지원하는 보안 프로토콜입니다. Kerberos 인증 서버는 유효한 사용자 자격 증명이 포함된 클라이언트 컴퓨터 인증 요청에 대한 응답으로 티켓을 부여합니다. 그러면 클라이언트 컴퓨터에서는 해당 티켓을 사용하여 네트워크 리소스에 액세스합니다. Kerberos 인증을 사용할 수 있도록 설정하려면 클라이언트 컴퓨터와 서버 컴퓨터에 도메인 KDC(키 배포 센터)에 대한 트러스트된 연결이 있어야 합니다. 또한 클라이언트 컴퓨터와 서버 컴퓨터가 Active Directory에 액세스할 수 있어야 합니다. Kerberos 인증을 사용하기 위해 가상 서버를 구성하는 방법에 대한 자세한 내용은 Microsoft 기술 자료 문서 832769: Kerberos 인증을 사용하도록 Windows SharePoint Services 가상 서버를 구성하는 방법 및 Kerberos 인증에서 NTLM 인증으로 다시 전환하는 방법(https://go.microsoft.com/fwlink/?linkid=115572&clcid=0x412)을 참조하십시오.

  • 제한된 Kerberos 위임

    제한된 인증은 여러 응용 프로그램 계층 간의 통신에 가장 안전한 구성입니다. 제한된 위임을 사용하여 원래 호출자의 ID를 여러 응용 프로그램 계층을 통해 전달할 수 있습니다. 예를 들면 웹 서버에서 응용 프로그램 서버를 거쳐 데이터베이스 서버로 전달할 수 있습니다. 또한 제한된 Kerberos 위임은 응용 프로그램 서버로부터 백 엔드 데이터 원본에 액세스하기 위한 가장 안전한 구성이기도 합니다. 가장을 사용하면 스레드는 자신을 소유한 프로세스의 컨텍스트가 아닌 보안 컨텍스트에서 실행할 수 있습니다. 프런트 엔드 웹 서버와 응용 프로그램 서버가 각기 다른 컴퓨터에서 실행하는 대부분의 서버 팜 배포에서 가장을 사용하기 위해서는 제한된 Kerberos 위임이 필요합니다.

  • 가장 및 Kerberos 위임

    Kerberos 위임을 사용할 때 인증된 엔터티는 같은 포리스트에 있는 사용자 또는 컴퓨터의 자격 증명을 가장할 수 있습니다. 가장이 활성화되어 있을 때 가장 엔터티는 자격 증명을 사용하여 가장된 사용자 또는 컴퓨터 대신 작업을 수행할 수 있도록 허용됩니다.

    가장 동안 ASP.NET 응용 프로그램은 다른 인증된 엔터티의 자격 증명을 사용하여 실행할 수 있습니다. ASP.NET 가장은 기본적으로 비활성화됩니다. ASP.NET 응용 프로그램에 대해 가장이 활성화되어 있으면 IIS가 ASP.NET에 전달한 액세스 토큰의 자격 증명을 사용하여 해당 응용 프로그램이 실행됩니다. 그러한 토큰은 로그인한 Windows 사용자의 토큰 같은 인증된 사용자 토큰이거나 IIS에서 익명 사용자에게 제공하는 토큰(대개 IUSR_컴퓨터 이름 ID)일 수 있습니다.

    가장이 활성화되었을 때 해당 응용 프로그램 코드만이 가장된 사용자의 컨텍스트 하에서 실행됩니다. 응용 프로그램은 컴파일되고 구성 정보는 ASP.NET 프로세스의 ID를 사용하여 로드됩니다.

    가장에 대한 자세한 내용은 ASP.NET 가장(https://go.microsoft.com/fwlink/?linkid=115573&clcid=0x412)을 참조하십시오.

  • NTLM 인증

    도메인 컨트롤러에서 Active Directory를 실행하지 않는 Windows 서버를 위한 인증 방법입니다. Kerberos 인증을 지원하지 않는 클라이언트 컴퓨터로부터 인증 요청을 받는 네트워크의 경우 NTLM 인증이 필요합니다. NTLM은 사용자 자격 증명 암호화 및 네트워크를 통한 전송을 지원하는 보안 프로토콜입니다. NTLM에서는 사용자 이름 및 암호를 네트워크를 통해 전송하기 전에 암호화합니다. NTLM 인증은 Kerberos 인증을 지원하지 않는 클라이언트 컴퓨터로부터 서버가 요청을 수신하는 네트워크에 필요합니다. NTLM은 Windows NT Server 및 Windows 2000 Server 작업 그룹 환경과 많은 Active Directory 배포에서 사용되는 인증 프로토콜입니다. NTLM은 Windows NT 시스템을 인증해야 하는 혼합된 Windows 2000 Active Directory 도메인 환경에서 사용됩니다. Windows 2000 Server를 하위 수준의 Windows NT 도메인 컨트롤러가 없는 기본 모드로 전환하면 NTLM이 비활성화됩니다. 그러면 Kerberos가 엔터프라이즈의 기본 인증 프로토콜이 됩니다.

폼 인증 공급자

폼 인증 공급자에서는 SQL Server 데이터베이스 같은 데이터베이스나 Active Directory에 저장된 자격 증명 또는 Novell eDirectory, NDS(Novell Directory Services), Sun ONE 같은 LDAP 데이터 저장소에 저장된 자격 증명을 기준으로 하는 인증을 지원합니다. 폼 인증에서는 로그온 양식에 입력한 자격 증명에 대한 유효성 검사를 기반으로 사용자 인증을 수행할 수 있습니다. 인증되지 않은 요청은 로그온 페이지로 리디렉션됩니다. 그러면 이 페이지에서 사용자가 유효한 자격 증명을 제공하고 양식을 제출해야 합니다. 요청이 인증될 수 있는 경우 시스템에서는 이후 요청에 대해 ID를 다시 설정하기 위한 키가 포함된 쿠키를 발급합니다.

웹 SSO(Single Sign-On) 인증 공급자

웹 SSO는 네트워크 경계를 너머 보안 통신을 지원하기 때문에 연결된 인증 또는 위임 인증이라고도 합니다.

SSO는 사용자 자격 증명을 성공적으로 한 번만 인증하면 이후 여러 보안 리소스에 액세스할 수 있도록 하는 인증 방법입니다. SSO 인증에는 여러 가지 구현이 있습니다. 웹 SSO 인증에서는 네트워크 경계를 너머 보안 통신을 지원합니다. 즉, 한 조직에서 인증된 사용자가 다른 조직에 있는 웹 응용 프로그램에 액세스할 수 있도록 지원합니다. ADFS(Active Directory Federation Services)는 웹 SSO를 지원합니다. ADFS 시나리오에서 두 조직은 연결 트러스트 관계를 만들어 한 조직에 속하는 사용자가 다른 조직에서 제어하는 웹 기반 응용 프로그램에 액세스할 수 있도록 할 수 있습니다. ADFS를 사용하여 웹 SSO 인증을 구성하는 방법에 대한 자세한 내용은 ADFS를 사용하여 웹 SSO 인증 구성(Office SharePoint Server)을 참조하십시오. Stsadm 명령줄 도구를 사용하여 이 절차를 수행하는 방법에 대한 자세한 내용은 Authentication: Stsadm 작업(Office SharePoint Server)을 참조하십시오.

이 문서의 다운로드

이 항목은 다운로드 가능한 다음 문서에도 포함되어 있어 더 쉽게 읽고 인쇄할 수 있습니다.

사용 가능한 문서의 전체 목록은Office SharePoint Server 기술 라이브러리 (영문)를 참조하십시오.