다음을 통해 공유


방법: Reporting Services의 Windows 인증 구성

기본적으로 Reporting Services는 Negotiate 또는 NTLM 인증을 지정하는 요청을 허용합니다. 배포에 이러한 보안 공급자를 사용하는 클라이언트 응용 프로그램 및 브라우저가 포함된 경우 추가 구성 없이 기본값을 사용할 수 있습니다. Windows 통합 보안을 위해 다른 보안 공급자를 사용하거나(예: Kerberos를 직접 사용하려는 경우) 기본값을 수정하고 원래 설정을 복원하려는 경우 이 항목의 정보를 사용하여 보고서 서버에서 인증 설정을 지정할 수 있습니다.

Windows 통합 보안을 사용하려면 보고서 서버에 액세스해야 하는 각 사용자가 유효한 Windows 로컬 또는 도메인 사용자 계정을 보유하고 있거나 Windows 로컬 또는 도메인 그룹 계정의 멤버여야 합니다. 트러스트된 도메인에 한하여 다른 도메인의 계정을 포함할 수 있습니다. 이 계정은 보고서 서버 컴퓨터에 액세스할 수 있어야 하며 이후에 특정 보고서 서버 작업에 액세스할 수 있도록 역할에 할당되어야 합니다.

다음의 추가 요구 사항도 만족해야 합니다.

  • RSeportServer.config 파일에서 AuthenticationType을 RSWindowsNegotiate, RSWindowsKerberos 또는 RSWindowsNTLM으로 설정해야 합니다. 기본적으로 보고서 서버 서비스 계정이 NetworkService 또는 LocalSystem인 경우 RSReportServer.config 파일에는 RSWindowsNegotiate 설정이 들어 있습니다. 그렇지 않으면 RSWindowsNTLM 설정이 사용됩니다. Kerberos 인증만 사용하는 응용 프로그램이 있는 경우 RSWindowsKerberos를 추가할 수 있습니다.

    중요 정보중요

    RSWindowsNegotiate를 사용할 경우 보고서 서버 서비스가 도메인 사용자 계정으로 실행되도록 구성하고 해당 계정의 SPN(서비스 사용자 이름)을 등록하지 않으면 Kerberos 인증 오류가 발생합니다. 자세한 내용은 이 항목의 보고서 서버에 연결할 때 Kerberos 인증 오류 해결을 참조하십시오.

  • ASP.NET에는 Windows 인증을 구성해야 합니다. 기본적으로 보고서 서버 웹 서비스 및 보고서 관리자에 대한 Web.config 파일에는 <authentication mode="Windows"> 설정이 들어 있습니다. 이를 <authentication mode="Forms">로 변경하는 경우 Reporting Services에 대한 Windows 인증이 실패합니다.

  • 보고서 서버 웹 서비스 및 보고서 관리자에 대한 Web.config 파일에는 <identity impersonate= "true" />가 들어 있어야 합니다.

  • 클라이언트 응용 프로그램 또는 브라우저에서 Windows 통합 보안을 지원해야 합니다.

보고서 서버 인증 설정을 변경하려면 RSReportServer.config 파일에서 XML 요소 및 값을 편집합니다. 이 항목의 예를 복사하고 붙여 넣어 특정 조합을 구현할 수 있습니다.

모든 클라이언트 및 서버 컴퓨터가 동일한 도메인 또는 트러스트된 도메인에 있고 회사 방화벽을 통해 인트라넷으로 액세스되도록 보고서 서버가 배포된 경우 기본 설정이 가장 적합합니다. Windows 자격 증명을 전달하려면 트러스트된 단일 도메인이 필요합니다. 서버에 대해 Kerberos 버전 5 프로토콜을 사용하는 경우 자격 증명을 두 번 이상 전달할 수 있습니다. 그렇지 않으면 만료 전까지 자격 증명을 한 번만 전달할 수 있습니다. 여러 컴퓨터 연결에 대해 자격 증명을 구성하는 방법은 보고서 데이터 원본에 대한 자격 증명 및 연결 정보 지정을 참조하십시오.

다음은 기본 모드 보고서 서버에 대한 지침입니다. 보고서 서버가 SharePoint 통합 모드로 배포된 경우 Windows 통합 보안을 지정하는 기본 인증 설정을 사용해야 합니다. 보고서 서버는 기본 Windows 인증 확장 프로그램의 내부 기능을 사용하여 SharePoint 통합 모드의 보고서 서버를 지원합니다.

Windows 통합 보안을 사용하도록 보고서 서버를 구성하려면

  1. 텍스트 편집기에서 RSReportServer.config를 엽니다.

  2. <Authentication>을 찾습니다.

  3. 다음 중 필요에 가장 맞는 XML 구조를 복사합니다. RSWindowsNegotiate, RSWindowsNTLM 및 RSWindowsKerberos를 순서에 상관없이 지정할 수 있습니다. 각 개별 요청이 아닌 연결을 인증하려는 경우 인증 지속성을 사용해야 합니다. 인증 지속성을 사용하면 인증이 필요한 모든 요청이 연결 기간 동안 허용됩니다.

    보고서 서버 서비스 계정이 NetworkService 또는 LocalSystem인 경우 첫 번째 XML 구조가 기본 구성입니다.

    <Authentication>
          <AuthenticationTypes>
                 <RSWindowsNegotiate />
          </AuthenticationTypes>
          <EnableAuthPersistence>true</EnableAuthPersistence>
    </Authentication>
    

    보고서 서버 서비스 계정이 NetworkService 또는 LocalSystem이 아닌 경우 두 번째 XML 구조가 기본 구성입니다.

    <Authentication>
          <AuthenticationTypes>
                 <RSWindowsNTLM />
          </AuthenticationTypes>
          <EnableAuthPersistence>true</EnableAuthPersistence>
    

    </Authentication>

    세 번째 XML 구조는 Windows 통합 보안에서 사용되는 모든 보안 패키지를 지정합니다.

          <AuthenticationTypes>
                 <RSWindowsNegotiate />
                 <RSWindowsKerberos />
                 <RSWindowsNTLM />
          </AuthenticationTypes>
    

    네 번째 XML 구조는 Kerberos를 지원하지 않는 배포에 대해서만 또는 Kerberos 인증 오류를 해결하기 위해 NTLM을 지정합니다.

          <AuthenticationTypes>
                 <RSWindowsNTLM />
          </AuthenticationTypes>
    
  4. 원하는 구조를 <Authentication>의 기존 항목 위에 붙여 넣습니다.

    RSWindows 유형에서는 Custom을 사용할 수 없습니다.

  5. 파일을 저장합니다.

  6. 확장 배포를 구성한 경우 배포의 다른 보고서 서버에 대해 이러한 단계를 반복합니다.

  7. 보고서 서버를 다시 시작하여 현재 열려 있는 모든 세션을 지웁니다.

보고서 서버에 연결할 때 Kerberos 인증 오류 해결

Negotiate 또는 Kerberos 인증용으로 구성된 보고서 서버에서 Kerberos 인증 오류가 발생하면 보고서 서버에 대한 클라이언트 연결이 실패합니다. Kerberos 인증 오류는 다음과 같은 경우 발생합니다.

  • 보고서 서버 서비스가 Windows 도메인 사용자 계정으로 실행되는데 해당 계정의 SPN(서비스 사용자 이름)을 등록하지 않은 경우

  • 보고서 서버가 RSWindowsNegotiate 설정으로 구성된 경우

  • 브라우저가 보고서 서버에 보내는 요청의 인증 헤더에서 NTLM 대신 Kerberos를 선택하는 경우

Kerberos 로깅을 사용하는 경우 오류를 감지할 수 있습니다. 자격 증명을 요청하는 메시지가 여러 번 표시된 다음 빈 브라우저 창이 표시되는 것도 오류의 다른 증상입니다.

구성 파일에서 < RSWindowsNegotiate />를 제거하고 연결을 다시 시도하여 Kerberos 인증 오류가 발생하는 것인지 확인할 수 있습니다.

문제를 확인한 후에는 다음과 같은 방법으로 해결할 수 있습니다.

  • 도메인 사용자 계정으로 실행되는 보고서 서버 서비스의 SPN을 등록합니다. 자세한 내용은 방법: 보고서 서버의 SPN(서비스 사용자 이름) 등록을 참조하십시오.

  • 서비스 계정이 네트워크 서비스와 같은 기본 제공 계정으로 실행되도록 변경합니다. 기본 제공 계정은 컴퓨터를 네트워크에 조인할 때 정의한 Host SPN에 HTTP SPN을 매핑합니다. 자세한 내용은 방법: Reporting Services용 서비스 계정 구성을 참조하십시오.

  • NTLM을 사용합니다. NTLM은 Kerberos 인증이 실패하는 경우에도 일반적으로 작동합니다. NTLM을 사용하려면 RSReportServer.config 파일에서 RSWindowsNegotiate를 제거하고 RSWindowsNTLM만 지정되어 있는지 확인합니다. 이 방법을 선택하는 경우 보고서 서버 서비스의 SPN을 정의하지 않아도 해당 서비스의 도메인 사용자 계정을 계속 사용할 수 있습니다.

브라우저가 Negotiated Kerberos 또는 Negotiated NTLM을 선택하는 방법

Internet Explorer를 사용하여 보고서 서버에 연결하는 경우 브라우저에서는 인증 헤더에 Negotiated Kerberos 또는 NTLM을 지정합니다. NTLM은 다음과 같은 경우에 Kerberos 대신 사용됩니다.

  • 요청을 로컬 보고서 서버로 보내는 경우

  • 요청을 호스트 헤더 또는 서버 이름이 아닌 보고서 서버 컴퓨터의 IP 주소로 보내는 경우

  • 방화벽 소프트웨어가 Kerberos 인증에 사용되는 포트를 차단하는 경우

  • 특정 서버의 운영 체제에서 Kerberos를 사용하지 않는 경우

  • 최신 버전의 운영 체제에서 기본적으로 제공하는 Kerberos 인증 기능을 지원하지 않는 이전 버전의 Windows 클라이언트 및 서버 운영 체제가 도메인에 포함된 경우

Internet Explorer는 URL, LAN 및 프록시 설정을 구성한 방법에 따라 Negotiated Kerberos 또는 NTLM을 선택할 수도 있습니다.

보고서 서버 URL

URL에 정규화된 도메인 이름이 포함된 경우 Internet Explorer는 NTLM을 선택합니다. URL에서 localhost를 지정하는 경우에도 Internet Explorer는 NTLM을 선택합니다. URL에서 컴퓨터의 네트워크 이름을 지정하는 경우에는 Internet Explorer가 Negotiate를 선택합니다. 이 경우 보고서 서버 서비스 계정의 SPN이 있는지 여부에 따라 성공 여부가 결정됩니다.

클라이언트에 대한 LAN 및 프록시 설정

Internet Explorer에서 설정하는 LAN 및 프록시 설정에 따라 Kerberos 대신 NTLM이 선택되는지 여부가 결정될 수 있습니다. 그러나 LAN 및 프록시 설정은 조직마다 다르므로 Kerberos 인증 오류에 영향을 주는 정확한 설정을 확인할 수는 없습니다. 예를 들어 사용자 조직에서 URL을 인트라넷 URL에서 인터넷 연결을 통해 확인되는 정규화된 도메인 이름 URL로 변환하는 프록시 설정을 적용할 수 있습니다. URL 유형마다 서로 다른 인증 공급자를 사용하는 경우 실패할 것으로 예상한 일부 연결이 성공할 수도 있습니다.

발생한 연결 오류가 인증 실패 때문인 것으로 판단되는 경우 다른 LAN 및 프록시 설정 조합을 시도하여 문제를 확인할 수 있습니다. Internet Explorer에서 LAN 및 프록시 설정은 인터넷 옵션연결 탭에서 LAN 설정을 클릭하여 여는 LAN 설정 대화 상자에 있습니다.