Настройка учетных записей служб (службы Analysis Services)
Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Подготовка учетных записей для всего продукта описана в статье Настройка учетных записей служб Windows и разрешений, которая содержит исчерпывающие сведения об учетной записи службы для всех служб SQL Server, включая SQL Server Analysis Services. Обратитесь к ней для изучения допустимых типов учетных записей, привилегий Windows, назначенных при установке, разрешений файловой системы, разрешений регистра и другой информации.
В этом разделе приводятся дополнительные сведения о SQL Server Analysis Services, включая дополнительные разрешения, необходимые для табличных и кластеризованных установок. Она также охватывает разрешения, необходимые для поддержки операций сервера. Например, можно настроить операции обработки и запросов для выполнения в учетной записи службы . В этом сценарии требуются дополнительные разрешения.
Привилегии доступа Windows, назначенные для служб Analysis Services
Разрешения файловой системы, назначенные для служб Analysis Services
Предоставление дополнительных разрешений для определенных операций сервера
Еще один шаг настройки, не описанный здесь, заключается в регистрации имени субъекта-службы (SPN) для экземпляра SQL Server Analysis Services и учетной записи службы. Данный шаг позволяет пройти проверку подлинности от приложений клиента до внутренних источников данных посредством сценариев двойного прыжка. Данный шаг применим только к службам, настроенных для ограниченного делегирования Kerberos. Обратитесь к разделу Configure Analysis Services for Kerberos constrained delegation за дополнительными инструкциями.
Рекомендации по учетной записи входа в систему
Начальная учетная запись службы Windows MSSQLServerOLAPService может быть учетной записью пользователя домена Windows, виртуальной учетной записью, управляемой учетной записью службы (MSA) или встроенной учетной записью, например sid для каждой службы, NetworkService или LocalSystem. Использование учетной записи пользователя домена в качестве учетной записи для входа в службу предоставляет сведения о форматах учетных записей пользователей.
В отказоустойчивом кластере все экземпляры служб Analysis Services должны быть настроены для использования учетной записи пользователя домена Windows. Назначьте одну и ту же учетную запись для всех экземпляров. Подробные сведения см. в разделе Кластеризация служб Analysis Services .
Изолированные экземпляры должны использовать виртуальную учетную запись по умолчанию, NT Service\MSSQLServerOLAPService для экземпляра по умолчанию или NT Service\MSOLAP$имя_экземпляра для именованного экземпляра. Данная рекомендация применяется для экземпляров служб Analysis Services во всех режимах сервера, при условии, что в качестве операционной системы используется Windows Server 2008 R2 и более поздних версий, а для служб Analysis Services используется SQL Server 2012 и более поздних версий.
Предоставление разрешений для служб Analysis Services
В этом разделе описываются разрешения, необходимые службам Analysis Services для локальных внутренних операций. Эти операции включают запуск исполняемого файла, чтение файла конфигурации и загрузку баз данных из каталога данных. Руководство по настройке разрешений для доступа к внешним данным и взаимодействия с другими службами и приложениями см. в разделе Предоставление дополнительных разрешений для конкретных операций сервера далее в этой статье.
Для внутренних операций владельцем разрешений в службах Analysis Services является не учетная запись входа, а локальная группа безопасности Windows, созданная программой установки, которая содержит идентификатор безопасности для каждой службы. Назначение разрешений для группы безопасности согласуется с предыдущими версиями служб Analysis Services. Кроме того, учетные записи входа могут изменяться со временем, но идентификатор безопасности конкретной службы и локальная группа безопасности являются постоянными в течение всего времени существования установленного сервера. Для служб Analysis Services группа безопасности лучше подходит для хранения разрешений, чем учетная запись входа. Всякий раз, когда необходимо вручную предоставить права доступа к экземпляру службы, будь это разрешения файловой системы или привилегии доступа Windows, убедитесь в том, что предоставляете разрешения локальной группе безопасности, созданной для экземпляра сервера.
Имя группы безопасности соответствует шаблону. Всегда используется префикс SQLServerMSASUser$, затем имя компьютера, и в конце стоит имя экземпляра. Экземпляром по умолчанию является MSSQLSERVER. Именованный экземпляр — это имя, заданное во время установки.
Можно найти эту группу безопасности в локальных параметрах безопасности:
Запуск compmgmt.msc | Локальные пользователи и группы | Группы | SQLServerMSASUser$<server-name>$MSSQLSERVER (для экземпляра по умолчанию).
Чтобы просмотреть ее участников, дважды щелкните группу безопасности.
Единственным членом группы является идентификатор безопасности конкретной службы. Рядом с ним находится учетная запись входа в систему. Имя учетной записи для входа в систему является декоративным и предоставляет контекст для идентификатора безопасности конкретной службы. При изменении учетной записи входа группа безопасности и идентификатор безопасности службы не изменяются. Отличается только метка учетной записи входа.
Права доступа Windows, назначенные учетной записи служб Analysis Services
Службе Analysis Services необходимы разрешения от операционной системы для запуска службы и для запроса ресурсов системы. Требования различаются в зависимости от режима сервера и от того, является ли экземпляр кластеризованным.
Всем экземплярам службы Analysis Services необходимо право доступа Вход в качестве службы (SeServiceLogonRight). Установка SQL Server назначает для вас право доступа под учетной записью службы, определенной во время установки. Для серверов, запущенных в Многомерном режиме и в режиме Интеллектуального анализа данных, данное право доступа Windows является единственным правом, необходимым учетной записи службы Analysis Services для установок отдельного сервера, а также единственным правом, настраиваемым Установкой для службы Analysis Services. Для кластерных и табличных экземпляров вручную должны быть добавлены дополнительные права доступа Windows.
Отказоустойчивые экземпляры кластера, либо в табличном режиме, либо в многомерном режиме, должны иметь Увеличение приоритета выполнения (SeIncreaseBasePriorityPrivilege).
Табличные экземпляры используют следующие три дополнительных права доступа, которые должны быть предоставлены вручную после установки экземпляра.
Privilege | Описание |
---|---|
Увеличение рабочего набора процесса (SeIncreaseWorkingSetPrivilege) | Данное право доступа доступно всем пользователям по умолчанию через группу безопасности Пользователи . Если вы заблокируете сервер, удалив привилегии для этой группы, службы Analysis Services могут не запуститься, занося в журнал следующую ошибку: "Клиент не имеет необходимых привилегий". При возникновении этой ошибки восстановите привилегию для служб Analysis Services, предоставив ее соответствующей группе безопасности служб Analysis Services. |
Назначение квот памяти процессам (SeIncreaseQuotaPrivilege) | Данное право доступа используется для запроса большего количества памяти, если процессу не хватает ресурсов для завершения своего выполнения в связи с порогами памяти, установленными для экземпляра. |
Блокировка страниц в памяти (SeLockMemoryPrivilege) | Данное право доступа необходимо только когда страница полностью отключена. По умолчанию, экземпляр табличного сервера использует файл подкачки Windows, но вы можете запретить ему использование подкачки Windows, установив значение VertiPaqPagingPolicy на 0. Значение "1"дляVertiPaqPagingPolicy (по умолчанию) указывает экземпляру табличного сервера использовать файл подкачки Windows. Распределения не заблокированы, что позволяет Windows откачивать страницы из оперативной памяти по мере необходимости. Так как была использована подкачка, нет необходимости блокировать страницы в памяти. Таким образом, для настройки по умолчанию (где значение VertiPaqPagingPolicy = 1), вам не нужно предоставлять право доступа Блокировка страниц в памяти табличному экземпляру. Значение "0" дляVertiPaqPagingPolicy . Если вы отключаете подкачку для службы Analysis Services, распределения будут заблокированы, при условии, что право доступа Блокировка страниц в памяти предоставлено табличному экземпляру. Установив данную настройку и право доступа Блокировка страниц в памяти , Windows не сможет откачивать распределения памяти, выделенные службе Analysis Services, когда системе не будет хватать памяти. Служба Analysis Services зависит от разрешения Блокировка страниц в памяти , пока фоновое применение значения VertiPaqPagingPolicy = 0. Обратите внимание на то, что отключение подкачки Windows не рекомендуется. Оно увеличит число ошибок в связи с нехваткой памяти для операций, которые в противном случае, при разрешенной подкачке, должны были завершиться успешно. Обратитесь к разделу Memory Properties за дополнительной информацией о службе VertiPaqPagingPolicy. |
Для просмотра или добавления прав доступа Windows учетной записи службы
Запустите GPEDIT.msc | Политика Локального Компьютера | Конфигурация Компьютера | Настройки Windows | Настройки Безопасности | Локальные Политики | Назначения Прав Пользователя.
Просмотрите существующие политики, которые содержат SQLServerMSASUser$. Это локальная группа безопасности, расположенная на компьютерах, имеющих установку службы Analysis Services. И права доступа Windows и разрешения файловой папки предоставляются данной группе безопасности. Дважды щелкните на политику Вход в качестве службы , чтобы увидеть как определена группа безопасности в вашей системе. Полное название группы безопасности будет изменяться в зависимости от того, установили ли вы службу Analysis Services в качестве именованного экземпляра. Используйте эту группу безопасности вместо фактической учетной записи службы при добавлении прав доступа учетной записи.
Для того, чтобы добавить права доступа в GPEDIT, щелкните правой кнопкой мыши Увеличение рабочего набора процесса и выберите Свойства.
Нажмите кнопку Добавить пользователя или группу.
Введите группу пользователей для экземпляра службы Analysis Services. Помните о том, что учетная запись службы является элементом локальной группы безопасности, которая требует добавить в начало имя локального компьютера в качестве домена учетной записи.
Следующий список демонстрирует два примера для экземпляра по умолчанию и именованного экземпляра с названием "Табличный", на компьютере с названием "SQL01-WIN12", где имя компьютера является локальным доменом.
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$MSSQLSERVER
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$TABULAR
Повторите для Корректировка квоты памяти для процесса, и, при необходимости, для Блокировка страниц в памяти или для Увеличение приоритета выполнения.
Примечание
Предыдущие версии программы установки непреднамеренно добавляли учетную запись службы Analysis Services в группу Пользователи журнала производительности . Это ошибка была исправлена, но существующие установки могут иметь это ненужное членство в группе. Так как учетной записи службы SQL Server Analysis Services не требуется членство в группе Пользователи журнала производительности, ее можно удалить из группы.
Разрешения файловой системы, назначенные учетной записи служб Analysis Services
Примечание
Список разрешений, связанных с каждой программной папкой, см. в разделе Настройка учетных записей службы Windows и разрешений .
Сведения о разрешениях для файлов, связанных с конфигурацией IIS и SQL Server Analysis Services, см. в статье Настройка HTTP-доступа к службам Analysis Services в IIS 8.0.
Все разрешения файловой системы, необходимые для операций с сервером, включая разрешения, необходимые для загрузки и выгрузки баз данных из указанной папки данных, назначаются программой установки SQL Server во время установки.
Держатель разрешений в отношении файлов данных, исполняемых программных файлов, файлов конфигурации, файлов журнала и временных файлов является локальная группа безопасности, созданная Установкой SQL Server.
Для каждого устанавливаемого вами экземпляра создается одна группа безопасности. Группа безопасности называется в честь экземпляра : SQLServerMSASUser$MSSQLSERVER для экземпляра по умолчанию или SQLServerMSASUser$<servername>$<instancename> для именованного экземпляра. Установка обеспечивает данную группу безопасности разрешениями файла, необходимые для осуществления операций сервера. При проверке прав доступа на каталог \MSAS13.MSSQLSERVER\OLAP\BIN можно увидеть, что группа безопасности (а не учетная запись службы или ее идентификатор безопасности) является держателем разрешения в этом каталоге.
Группа безопасности содержит только один член: идентификатор безопасности (SID) службы для учетной записи запуска экземпляра SQL Server Analysis Services. Установка добавляет идентификатор безопасности по службе в локальную группу безопасности. Использование локальной группы безопасности с ее членством идентификатора безопасности службы немного, но заметно отличается от того, как Установка SQL Server обеспечивает службу Analysis Services, в сравнении с ядром СУБД.
Если вы думаете, что разрешения файла повреждены, следуйте данной инструкции для удостоверения, что служба все еще обеспечена надлежащим образом:
Используйте средство командной строки Управления службой (sc.exe) для получения идентификатора безопасности службы экземпляра службы по умолчанию.
SC showsid MSSqlServerOlapService
Для именованного экземпляра (где имя экземпляра - Табличный) используйте следующий синтаксис:
SC showsid MSOlap$Tabular
Используйтегруппу локальных пользователей и группДиспетчера | компьютеров | для проверки членства в группе безопасности SQLServerMSASUser$<servername>$<instancename>.
Элемент идентификатора безопасности службы должен совпадать с идентификатором безопасности по службе из пункта 1.
Использование Windows Обозреватель | Program Files | Microsoft SQL Server | MSASxx.MSSQLServer | OLAP | bin, чтобы убедиться, что свойства безопасности папки предоставлены группе безопасности на шаге 2.
Примечание
Никогда не удаляйте и не изменяйте идентификатор безопасности службы. Сведения о восстановлении идентификатора безопасности службы, который был случайно удален, см. в разделе https://support.microsoft.com/kb/2620201.
Дополнительная информация об идентификаторах безопасности по службе
Каждая учетная запись Windows имеет связанный идентификатор безопасности, однако службы также могут иметь идентификаторы безопасности, которые именуются идентификаторами безопасности по службе. Идентификатор безопасности по службе создается при установке экземпляра службы в качестве уникального постоянного оборудования службы. Идентификатор безопасности по службе является локальным ИД безопасности на уровне компьютера, создаваемым от имени службы. Понятное имя экземпляра по умолчанию — NT SERVICE\MSSQLServerOLAPService.
Преимуществом идентификатора безопасности конкретной службы является то, что он позволяет произвольным образом менять более широко видимую учетную запись входа, не затрагивая разрешений на файлы. Например, предположим, что вы установили два экземпляра служб Analysis Services, экземпляр по умолчанию и именованный экземпляр, при этом оба они работают под одной учетной записью Windows. Хотя учетная запись входа является общей, каждый экземпляр службы будет иметь уникальный идентификатор безопасности по службе. Этот идентификатор безопасности отличается от такового для учетной записи входа. Идентификатор безопасности конкретной службы используется для разрешений на файлы и привилегий Windows. В противоположность этому идентификатор безопасности учетной записи входа используется для сценариев проверки подлинности и авторизации — разные идентификаторы безопасности используются для разных целей.
Так как идентификатор безопасности службы является неизменным, файловая система ACLs, созданная в процессе установки службы, может неограниченно использоваться, несмотря на то, как часто вы меняете учетную запись службы. В качестве дополнительной меры безопасности списки управления доступом, которые задают разрешения через идентификаторы безопасности, гарантируют, что исполняемые файлы и папки данных будут доступны только одному экземпляру службы, даже если под этой же учетной записью выполняются другие службы.
Предоставление дополнительных разрешения службе Analysis Services для определенных операций сервера
SQL Server Analysis Services выполняет некоторые задачи в контексте безопасности учетной записи службы (или учетной записи входа), которая используется для запуска SQL Server Analysis Services, и выполняет другие задачи в контексте безопасности пользователя, запрашивающего задачу.
В следующей таблице приведено описание дополнительных разрешений, необходимых для выполнения задач, исполняемых в качестве учетной записи службы.
Операция сервера | Рабочий элемент | Обоснование |
---|---|---|
Удаленный доступ к реляционным внешним источникам данных | Создание имени для входа в базу данных для учетной записи службы | Обработка относится к получению данных из внешнего источника данных (обычно реляционной базы данных), который впоследствии загружается в базу данных SQL Server Analysis Services. Один из способов использования учетных данных для доступа к внешним данным является применение учетной записи службы. Этот вариант работает только в том случае, если вы создали имя входа в базу данных для учетной записи службы и предоставили разрешение на чтение в базе данных-источнике. Дополнительные сведения об использовании параметра учетной записи службы для этой задачи см. в статье Настройка параметров олицетворения (SSAS — многомерная ). Аналогично, если в качестве режима хранения используется ROLAP, доступны такие же варианты применения олицетворения. В этом случае учетная запись также должна иметь права на ведение записи в данных источника для обработки секций ROLAP (для сохранения агрегатов). |
DirectQuery | Создание имени для входа в базу данных для учетной записи службы | DirectQuery — это табличный компонент, используемый для запросов ко внешним наборам данных, которые либо слишком велики и не помещаются в табличную модель, либо имеют другие характеристики, делающие DirectQuery более удачным вариантом, чем используемое по умолчанию хранение в памяти. В режиме DirectQuery в качестве одного из вариантов соединения можно использовать учетную запись службы. Как и раньше, этот вариант работает только в том случае, если учетная запись имеет имя входа в базу данных и разрешения на чтение из целевого источника данных. Дополнительные сведения об использовании параметра учетной записи службы для этой задачи см. в статье Настройка параметров олицетворения (SSAS — многомерная ). Кроме того, для получения данных могут использоваться учетные данные текущего пользователя. В большинстве случаев этот вариант означает применение соединения с двойным переходом, поэтому необходимо настроить учетную запись службы на использование ограниченного делегирования Kerberos, чтобы учетная запись службы могла делегировать идентификаторы принимающему серверу. Дополнительные сведения см. в разделе Configure Analysis Services for Kerberos constrained delegation. |
Удаленный доступ к другим экземплярам служб SSAS | Добавьте учетную запись службы к ролям базы данных службы Analysis Services, определенных на удаленном сервере | Удаленные секции и ссылки на связанные объекты на других удаленных экземплярах SQL Server Analysis Services — это системные возможности, требующие разрешений на удаленном компьютере или устройстве. Если пользователь создает и заполняет удаленные секции или настраивает связанный объект, то подобные операции выполняются в контексте безопасности текущего пользователя. Если впоследствии вы автоматизируете эти операции, SQL Server Analysis Services будет обращаться к удаленным экземплярам в контексте безопасности своей учетной записи службы. Чтобы получить доступ к связанным объектам на удаленном экземпляре SQL Server Analysis Services, учетная запись входа должна иметь разрешение на чтение соответствующих объектов на удаленном экземпляре, например доступ на чтение определенных измерений. Аналогично для использования удаленных секций учетная запись должна иметь права администратора на удаленном экземпляре. Такие разрешения предоставляются на удаленном экземпляре служб Analysis Services с помощью ролей, которые связывают разрешенные операции с определенным объектом. Инструкции по предоставлению разрешений на полный доступ, которые позволяют выполнять операции обработки и запросов, см. в статье Предоставление разрешений для базы данных (службы Analysis Services). Дополнительные сведения об удаленных секциях см. в статье Создание удаленной секции (службы Analysis Services) и управление ими. |
Обратная запись | Добавьте учетную запись службы к ролям базы данных службы Analysis Services, определенных на удаленном сервере | Обратная запись — функция многомерных моделей, которая может быть включена в клиентских приложениях и которая позволяет создавать новые значения данных во время анализа. Если обратная запись включена в любом измерении или кубе, учетная запись службы SQL Server Analysis Services должна иметь разрешения на запись в таблицу обратной записи в исходной SQL Server реляционной базе данных. Если эта таблица еще не существует и ее необходимо создать, учетная запись службы SQL Server Analysis Services также должна иметь разрешения на создание таблицы в указанной базе данных SQL Server. |
Запись в таблицу журнала запросов в SQL Server реляционной базе данных | Создайте имя для входа в базу данных для учетной записи службы и назначьте разрешения на чтение для таблицы журнала запросов. | Можно включить функцию ведения журнала запросов для сбора сведений об использовании запросов в таблицу базы данных для последующего возможного анализа. Учетная запись службы SQL Server Analysis Services должна иметь разрешения на запись в таблицу журнала запросов в назначенной базе данных SQL Server. Если эта таблица еще не существует и ее необходимо создать, учетная запись SQL Server Analysis Services входа также должна иметь разрешения на создание таблицы в указанной базе данных SQL Server. Дополнительные сведения см. в блогах Improve SQL Server Analysis Services Performance with the Usage Based Optimization Wizard (Улучшение производительности служб SQL Server Analysis Services с помощью мастера оптимизации с учетом использования служб) и Query Logging in Analysis Servicess(Ведение журнала запросов в службах Analysis Services). |
См. также
Настройка учетных записей службы Windows и разрешений
Учетная запись службы SQL Server и идентификатор безопасности службы (блог)
SQL Server идентификатор безопасности службы для обеспечения изоляции служб (статья базы знаний)
Маркер доступа (MSDN)
Идентификаторы безопасности (MSDN)
Маркер доступа (Википедия)
Списки управления доступом (Википедия)