기본 모드 보고서 서버에서 TLS 연결 구성

적용 대상: SQL Server Reporting Services 2016(13.x) 이상 Power BI Report Server

SQL Server Reporting Services(SSRS) 기본 모드에서는 전송 계층 보안(TLS) 프로토콜을 사용해 보고서 서버에 대한 암호화된 연결을 설정할 수 있습니다. TLS(전송 계층 보안)의 이전 명칭은 SSL(Secure Sockets Layer)입니다. 보고서 서버의 로컬 인증서 저장소에 인증서(.cer) 파일이 설치된 경우, 해당 인증서를 SSRS URL 예약에 바인딩하여 암호화된 채널을 통해 보고서 서버 연결을 지원할 수 있습니다.

SSRS SharePoint 모드에 관한 자세한 정보는 Reporting Services 보고서 서버(SharePoint 모드)를 참조하세요.

IIS(인터넷 정보 서비스)도 TLS를 사용하므로, 같은 컴퓨터에서 IIS와 SSRS를 실행하는 경우 반드시 감안해야 할 중대한 상호 운용성 문제가 있습니다. 이러한 문제를 해결하는 방법에 대한 지침은 IIS 관련 상호 운용성 문제 섹션(이 문서 뒷부분)을 참조하세요.

필수 조건

  • 구성된 기본 모드 보고서 서버
  • 컴퓨터에 설치된 서버 인증서

서버 인증서 설치

서버 인증서는 보고서 서버의 로컬 저장소에 설치해야 합니다. 클라이언트 인증서는 지원되지 않습니다.

SSRS는 인증서 요청, 생성, 다운로드, 설치 기능을 제공하지 않습니다. 인증서를 지정하고 인증서를 가져올 인증 기관을 지정하기 위한 속성 선택은 사용자에게 달렸습니다. 인증서를 요청하고 설치하는 데 사용하는 도구와 유틸리티도 사용자가 결정합니다.

인증서를 얻는 데는 몇 가지 가능성이 있습니다.

  • Windows Server는 인증서 스냅인을 제공하므로, 이것을 사용해 신뢰할 수 있는 인증 기관에서 인증서를 요청하면 됩니다.

  • 테스트 용도로 로컬로 인증서를 생성하고자 하는 경우, 다음 PowerShell 스크립트를 실행할 수 있습니다.

    • 스크립트를 관리자 자격으로 실행합니다.
    • 자리 표시자를 각자의 환경에 적절한 값으로 대체합니다.
    # Create a self-signed certificate in the local store.
    $newCertificate = New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -DnsName <server-name> -FriendlyName "<friendly-name>"
    
    # Convert the report server password to a secure string.
    $secureStringPassword = ConvertTo-SecureString "<server-password>" -AsPlainText -Force
    
    # Set up a temporary folder if one doesn't exist.
    $folderPath = "C:\Temp"
    if (-not (Test-Path -Path $folderPath)) {
        New-Item -Path $folderPath -ItemType Directory
    }
    
    # Set up a variable for the path of a certificate file.
    $certificateFilePath = $folderPath, "\certificate-export.pfx" -join ""
    
    # Set up a variable for the path of the certificate's store location.
    $certificateStoreLocation = "cert:\LocalMachine\My\", $newCertificate.Thumbprint -join ""
    
    # Export the certificate to the file.
    Export-PFXCertificate -Cert $certificateStoreLocation -File $certificateFilePath -Password $secureStringPassword
    
    # Import the certificate from the file to the trusted root to avoid problems with the certificate not being trusted. 
    Import-PfxCertificate -FilePath $certificateFilePath cert:\LocalMachine\Root -Password $secureStringPassword
    

    이제 인증서를 보고서 서버 구성 관리자에서 사용할 수 있습니다.

  • IIS와 SSRS를 같은 컴퓨터에서 함께 실행하는 경우, IIS 관리자 콘솔을 사용해 인증서를 요청하고 설치할 수 있습니다.

    1. IIS 관리자에서, 신뢰할 수 있는 인증 기관에서 이후에 처리하도록 인증서 요청(.crt) 파일을 만들어 패키징하세요. 자세한 내용은 서버 인증서 요청을 참조하세요.
    2. 인증 기관에서 인증서(.cer) 파일을 보내주면 IIS 관리를 사용해 인증서를 로컬 저장소에 설치합니다. 자세한 내용은 서버 인증서 설치를 참조하세요.

IIS와의 상호 운용성 문제

SSRS와 같은 컴퓨터에 IIS가 있으면 보고서 서버에 대한 TLS 연결에 중대한 영향을 미칩니다.

  • 보고서 서버 URL을 TLS 연결용으로 구성하면 IIS에 종속성이 하나 생깁니다. IIS는 World Wide Web Publishing 서비스에 종속됩니다. 따라서 TLS 연결에 대하여 보고서 서버 URL을 구성할 때 World Wide Web Publishing 서비스가 실행 중이어야만 합니다.
  • IIS를 제거하면 TLS에 바인딩된 보고서 서버 URL에 대한 서비스가 일시적으로 끊어질 수 있습니다. IIS를 제거하고 나면 컴퓨터를 다시 시작해 모든 TLS 세션을 캐시에서 지워야 합니다. 운영 체제에 따라 TLS 세션을 최대 10시간까지 캐싱하는 경우도 있습니다. 따라서 TLS 바인딩한 URL은 TLS 바인딩을 HTTP.sys 리포지토리의 URL 예약에서 제거한 뒤에도 계속 작동할 수 있습니다. 컴퓨터를 다시 시작하면 채널을 사용하는 모든 열린 연결이 닫힙니다.

TLS를 SSRS URL 예약에 바인딩

보고서 서버 웹 서비스 URL과 웹 포털 URL의 예약은 서로 독자적으로 구성됩니다.

TLS 암호화 채널을 통해 웹 서비스 액세스 구성

보고서 서버에 액세스하는 데 사용할 수 있는 URL을 구성하려면 다음 단계를 따릅니다.

  1. 보고서 서버 구성 관리자를 열고 보고서 서버에 연결합니다.

  2. 보고서 서버 상태 페이지에서 중지를 선택합니다.

    구성 도구의 보고서 서버 상태 페이지 스크린샷입니다. 중지 버튼이 강조 표시되어 있습니다.

    결과 창에서 서버가 중지되었음을 나타내는 메시지입니다.

  3. 시작을 선택합니다. 결과 창에서 서버가 실행 중임을 나타내는 메시지입니다.

  4. 연결 창에서 웹 서비스 URL을 선택합니다.

    구성 도구 스크린샷입니다. 왼쪽에 보면 웹 서비스 URL이 강조 표시되어 있습니다.

  5. HTTPS 인증서 목록에서 설치한 인증서를 선택합니다.

    구성 도구 스크린샷입니다. HTTP 인증서 목록에서, 테스트 인증서라는 이름의 인증서가 강조 표시되어 있습니다.

  6. 적용을 선택합니다. 결과 창에서 구성 도구 진행 상황을 나타내는 메시지입니다.

    구성 도구의 결과 창 스크린샷입니다. 메시지를 보면 인증서 바인딩이 성공했음을 알 수 있습니다.

  7. 보고서 서버 웹 서비스 URL 아래에서 예약한 URL을 선택합니다. 프롬프트가 표시되면 보고서 서버의 자격 증명을 입력합니다. 브라우저 창이 열려 보고서 서버에 대한 액세스를 제공합니다.

    브라우저 창의 스크린샷입니다. 보고서 서버의 ReportServer 폴더 메인 페이지가 표시되어 있습니다.

    URL이 보고서 서버에 연결되지 않으면, 보고서 서버 데이터베이스를 확인하세요. URL이 작동하려면 우선 데이터베이스를 만들어 구성해야 합니다.

TLS 암호화 채널을 통해 웹 포털 액세스 구성

TLS 암호화 채널을 통해 웹 포털에 대한 액세스도 구성하고자 하는 경우, 다음 단계를 따릅니다.

  1. 보고서 서버 구성 관리자의 연결 창에서 웹 포털 URL을 선택합니다.

  2. 고급을 선택합니다.

  3. 현재 Reporting Services 기능에 대한 여러 HTTPS ID 아래에서 추가를 선택합니다.

    고급 여러 웹 사이트 구성 페이지의 스크린샷, 여러 HTTPS ID에 대한 추가 버튼이 강조 표시되어 있습니다.

  4. 인증서 목록에서 설치한 인증서를 선택하고 확인을 선택합니다.

    보고서 서버 HTTPS 바인딩 추가 창의 스크린샷입니다. 확인 버튼과 인증서 목록의 인증서 하나가 강조 표시되어 있습니다.

    결과 창에서 구성 도구 진행 상황을 나타내는 메시지입니다.

    구성 도구의 결과 창 스크린샷입니다. 메시지를 보면 웹 포털의 인증서 바인딩이 성공음을 알 수 있습니다.

  5. 웹 포털 사이트 식별 아래에서 예약한 URL을 선택합니다. 프롬프트가 표시되면 보고서 서버의 자격 증명을 입력합니다. 브라우저 창이 열리고 SSRS 홈 페이지가 표시됩니다.

    브라우저 창의 스크린샷, SSRS 기본 폴더가 표시되어 있습니다.

인증서 바인딩의 저장 방식

인증서 바인딩은 HTTP.sys 리포지토리에 저장됩니다. 정의한 바인딩의 표현은 RSReportServer.config 파일의 URLReservations 섹션에 저장됩니다.

이 구성 파일의 설정은 다른 위치에서 지정되는 실제 값의 표현일 뿐입니다. 구성 파일에서 값을 직접 수정하지 마세요.

구성 설정은 보고서 서버 구성 관리자나 보고서 서버 WMI(Windows Management Instrumentation) 공급자를 사용해 인증서를 바인딩한 뒤에만 파일에 표시됩니다.

참고 항목

SSRS에서 TLS 인증서를 포함한 바인딩을 구성하고, 나중에 해당 인증서를 컴퓨터에서 제거하고자 하는 경우, 먼저 SSRS에서 바인딩을 제거한 다음에 컴퓨터에서 인증서를 제거해야 합니다. 아니면 보고서 서버 구성 관리자나 WMI를 사용해 바인딩을 제거할 수 없고, “잘못된 매개 변수” 메시지가 표시됩니다.

컴퓨터에서 인증서를 제거하고 나면 HttpCfg.exe 도구를 사용해 HTTP.sys 리포지토리에서 바인딩을 제거할 수 있습니다. 자세한 내용은 HttpCfg.exe를 참조하세요.

TLS 바인딩은 Windows에서 공유 리소스입니다. 보고서 서버 구성 관리자나 IIS 관리자와 같은 다른 도구를 사용해 바인딩을 변경하는 경우, 그러한 변경 사항이 같은 컴퓨터의 다른 애플리케이션에 영향을 미칠 수 있습니다.

바인딩을 만들고 편집할 때 사용한 것과 같은 도구를 사용하는 것이 가장 좋습니다. 예를 들어, 보고서 서버 구성 관리자를 사용해 TLS 바인딩을 만드는 경우, 바인딩의 수명 주기를 관리하는 데도 보고서 서버 구성 관리자를 사용하세요. 바인딩을 만들 때 IIS 관리자를 사용하는 경우, 바인딩 수명 주기 관리에도 IIS 관리자를 사용합니다.

SSRS를 설치하기 전에 컴퓨터에 IIS를 설치하는 경우, SSRS를 구성하기 전에 IIS의 TLS 구성을 검토하는 것이 좋습니다.