다음을 통해 공유


구독 설정 및 파일 공유 계정(보고서 서버 구성 관리자)

구성 관리자의 구독 설정 Reporting Services 페이지를 사용하면 기본 모드 보고서 서버 및 파일 공유 구독에 대한 파일 공유 계정을 구성할 수 있습니다. 파일 공유 계정을 사용하면 보고서를 파일 공유로 전달하는 여러 구독에서 단일 자격 증명 집합을 사용할 수 있습니다. 자격 증명을 변경해야 하는 경우 파일 공유 계정에 대한 구성을 변경하면 각각의 개별 구독을 업데이트할 필요가 없습니다.

Reporting Services 파일 공유 구독에서 사용할 수 있는 두 가지 워크플로:

  • 신규 SQL Server 2016(13.x) 릴리스에서 Reporting Services 관리자는 일대다 구독에서 사용할 수 있는 단일 파일 공유 계정을 구성할 수 있습니다. 파일 공유 계정 지정을 구성한 후 개별 구독 구성 페이지에서 파일 공유 계정 사용을 선택합니다.

  • 개별 구독을 대상 파일 공유에 대한 특정 자격 증명으로 구성합니다.

  • 또한, 두 가지 방법을 혼용하여 일부 파일 공유 구독은 중앙식 파일 공유 계정을 사용하고 다른 구독은 특정 자격 증명을 사용하도록 할 수 있습니다.

적용 대상: Reporting Services 기본 모드.

파일 공유 계정 지정

이 옵션을 선택하면 보고서 서버에서 파일 공유에 액세스하는 데 사용할 계정을 제공할 수 있습니다. 파일 공유 계정을 구성하는 경우 모든 사용자는 보고서를 파일 공유로 전송하도록 구성된 모든 구독에서 계정을 선택할 수 있습니다. 이 옵션을 선택하지 않으면 파일 공유 계정을 모든 구독에서 사용할 수 없습니다 .

파일 공유 계정으로 구성한 계정이 모든 파일 공유에 대하여 읽기 및 쓰기 권한이 있어 사용자가 파일 공유 전송을 사용할 수 있는지 확인해야 합니다.

다음 그림은 파일 공유 전송을 위해 구성된 구독에서 사용자에게 표시되는 사항을 보여줍니다. 파일 공유 계정이 구성되지 않은 경우 파일 공유 계정 사용 이 비활성화됩니다.

구성 관리자 파일 공유 계정

권한 상승 또는 상승된 권한 방지

중요

Reporting Services 서비스 계정은 구독 배달을 제어하고 파일 공유 구독에서 사용되는 계정과 상호작용합니다. Windows 보안 기능은 1) Reporting Services 서비스 계정 및 2) 파일 공유 계정에서 사용된 계정을 조합하여 사용할 수 없습니다. 예를 들어 기본 운영 체제 계정이 파일 공유 계정에서 사용된 경우 Reporting Services 서비스 계정은 가장 권한이 있는 다른 서비스 계정이어야 합니다. 명시적 파일 공유 계정 및 암호가 구성된 경우 파일 공유 계정은 Reporting Services 서비스를 실행하는 컴퓨터에 로그온(로컬로 로그온 허용을 통해)할 수 있는 권한이 있어야 합니다. 파일 공유 계정에 필수 권한이 없는 경우 파일 공유 계정을 사용하는 구독은 다음과 유사한 오류가 발생하여 실패합니다.

"Failure writing file {file} : An impersonation error occurred using the security context of the current user."

파일 공유 계정 사용을 감사하기 위한 PowerShell 샘플

다음 Windows PowerShell 스크립트를 실행하면 Reporting Services 파일 공유 계정 을 사용하도록 구성된 모든구독이 나열됩니다. SERVERNAME 을(를) 보고서 서버에 대한 적절한 값으로 업데이트합니다.

# get all file share subscriptions using the default file share account  
$extensionNameMatch = "Report Server FileShare"  
$extensionSettingMatch = "DEFAULTCREDENTIALS"  
$valueMatch = "True"  
  
# filter for subscriptions that have a given extension setting  
filter script:extensionSettingFilter  
{  
    # subscription must match the extension name  
    if($_.DeliverySettings.Extension -eq $extensionNameMatch)  
    {  
        # locate the extension parameter of interest  
        ForEach($extensionParameter in $_.DeliverySettings.ParameterValues)  
        {  
            # if the setting has the desired value, return the subscription  
            if($extensionParameter.Name -eq $extensionSettingMatch -and $extensionParameter.Value -eq $valueMatch)  
            {  
                $_  
                break  
            }  
        }  
    }  
}  
  
$rs2010 = New-WebServiceProxy -Uri "https:// SERVERNAME/ReportServer/ReportService2010.asmx" -Namespace SSRS.ReportingService2010 -UseDefaultCredential;  
$subscriptions = $rs2010.ListSubscriptions("/");  
  
Write-Host "----- File share subscriptions using the default file share account ----";  
Write-Host "-------------------------------------------------------------------------- ";  
$subscriptions | extensionSettingFilter | select report, owner, status, lastexecuted, description, subscriptionid | format-table -auto  
  

스크립트의 출력은 다음과 유사합니다.

----- File share subscriptions using the default file share account ----

-----------------------------------------------------------------------------------------------------

Report Owner Status LastExecuted SubscriptionID

------------------------ -------------- -------- -------------------- ------------------------------------

Aworks_sales_by_territory DOMAIN\UserName Disabled 10/5/2014 1:04:04 PM e843bc2b-023e-45a3-ba23-22f9dc9a0934