Поделиться через


Параметры подписки и учетная запись общей папки (диспетчер конфигурации сервера отчетов)

Используйте страницу "Параметры подписки" в Диспетчере конфигурации служб 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