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

На странице Параметры подписки диспетчера конфигураций Службы Reporting Services можно настроить учетную запись общей папки для серверов отчетов, работающих в основном режиме, и подписки на общую папку. Учетная запись общей папки позволяет использовать один набор учетных данных в нескольких подписках, доставляющих отчеты в общую папку. Когда требуется изменить учетные данные, достаточно настроить изменение учетной записи общей папки, и вам не придется обновлять каждую подписку по отдельности.

Для подписок на общую папку Службы Reporting Services существуют два рабочих процесса:

  • Новая возможность в выпуске SQL Server 2016 (13.x); . Администратор Службы Reporting Services может настроить для общей папки одну учетную запись, которая будет использоваться для одной или нескольких подписок. Настройте параметр Указать учетную запись общей папки, а затем на страницах конфигурации отдельных подписок пользователи выберут параметр Использовать учетную запись общей папки.

  • Настройка отдельных подписок с разными учетными данными для целевой общей папки.

  • Кроме того, два этих подхода можно использовать совместно. Например, когда какие-то подписки на общую папку используют централизованную учетную запись общей папки, а другие подписки используют разные учетные данные.

Применимо к: Службы Reporting Services Собственный режим.

Указать учетную запись общей папки

Если выбран этот параметр, можно указать, какая учетная запись должна использоваться для доступа к общим папкам с сервера отчетов. Если настроить учетную запись общей папки, все пользователи смогут выбрать учетную запись для любых подписок, настроенных для доставки отчетов в общую папку. Если этот параметр не выбран, учетная запись общей папки недоступна для каких-либо подписок.

Обязательно убедитесь, что учетная запись, настраиваемая для общей папки, имеет разрешения на чтение и запись в любых общих папках, которые будут использоваться пользователями для доставки в общую папку.

На следующем рисунке показано, что видят пользователи в подписках, настроенных для доставки в общую папку. Параметр Использовать учетную запись общей папки отключается, если учетная запись общей папки не настроена.

Учетная запись общей папки Configuration Manager

Предотвращение эскалации привилегий или более высокого уровня привилегий

Важно!

Учетная запись служб Службы 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 для аудита использования учетной записи общей папки

Чтобы получить список всех подписок Службы Reporting Services , настроенных на использование учетной записи общей папки, выполните приведенный ниже скрипт Windows PowerShell. Замените 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

См. также:

Доставка отчетов в общие папки с помощью служб Reporting Services
Создание и администрирование подписок для серверов отчетов в собственном режиме