Предоставление доступа к объектам и операциям (Analysis Services)

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Доступ пользователей без прав администратора к кубам, измерениям и моделям интеллектуального анализа данных в базе данных SQL Server Analysis Services предоставляется за счет членства в одной или нескольких ролях базы данных. SQL Server Analysis Services администраторы создают эти роли базы данных, предоставляя разрешения на чтение или чтение и запись для SQL Server Analysis Services объектов, а затем назначая пользователям и группам Microsoft Windows каждой роли.

SQL Server Analysis Services определяет действующие разрешения для конкретного пользователя или группы Windows, объединяя разрешения, связанные с каждой ролью базы данных, к которой принадлежит пользователь или группа. Как следствие, если одна роль базы данных не предоставляет пользователю или группе разрешения на просмотр измерения, меры или атрибута, но при этом другая роль базы данных предоставляет пользователю или группе такое разрешение, то у пользователя или группы будет разрешение на просмотр объекта.

Важно!

Члены роли администратора сервера SQL Server Analysis Services и члены роли базы данных с разрешениями полного доступа (администратор) могут получать доступ ко всем данным и метаданным в базе данных и не нуждаются в дополнительных разрешениях на просмотр определенных объектов. Кроме того, членам роли сервера SQL Server Analysis Services нельзя запретить доступ к любому объекту в любой базе данных, а членам SQL Server Analysis Services роли базы данных с разрешениями полного доступа (администратора) в базе данных нельзя запретить доступ к любому объекту в этой базе данных. Специальные административные операции, такие как обработка, можно авторизовать с помощью отдельных ролей с меньшими разрешениями. Дополнительные сведения см. в статье Предоставление разрешений на процесс (службы Analysis Services).

Список ролей, заданных для базы данных

Чтобы получить список ролей, заданных на сервере, администраторы могут выполнить простой запрос динамических административных представлений (DMV) в SQL Server Management Studio.

  1. В SSMS щелкните правой кнопкой мыши базу данных и выберите Создатьмногомерные выражениязапроса | .

  2. Введите следующий запрос и нажмите клавишу F5, чтобы выполнить его:

    Select * from $SYSTEM.DBSCHEMA_CATALOGS  
    

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

Организованный сверху вниз обзор авторизации Analysis Services

Этот раздел охватывает базовый рабочий процесс для настройки разрешений.

Шаг 1. Администрирование сервера

В качестве первого шага решите, кто будет обладать правами администратора на уровне сервера. Во время установки локальному администратору, установившему SQL Server, необходимо указать одну или несколько учетных записей Windows от имени администратора сервера служб Analysis Services. Администраторы сервера обладают всеми возможными разрешениями на сервере, включая разрешение на просмотр, изменение и удаление любого объекта на сервере или просмотр связанных данных. После завершения установки администратор сервера может добавить или удалить учетные записи, чтобы изменить членство этой роли. Дополнительные сведения об этом уровне разрешений см. в статье Предоставление прав администратора сервера экземпляру служб Analysis Services .

Шаг 2. Администрирование базы данных

Далее, после создания табличного или многомерного решения оно развертывается на сервере как база данных. Администратор сервера может делегировать задачи администрирования базы данных, определив роль с разрешениями "Полный доступ" для соответствующей базы данных. Участники этой роли могут обработать или запросить объекты в базе данных, а также создать дополнительные роли для доступа к кубам, измерениям и другим объектам в самой базе данных. Дополнительные сведения см. в статье Предоставление разрешений для базы данных (службы Analysis Services).

Шаг 3. Разрешение доступа к кубу или модели для запроса и обработки рабочих нагрузок

По умолчанию только администраторы сервера и базы данных имеют доступ к кубам или табличным моделям. Для предоставления этих структур данных другим пользователям организации требуются назначения дополнительных ролей, которые сопоставляют учетные записи пользователя и группы Windows с кубами или моделями, а также с разрешениями, определяющими привилегии Read . Дополнительные сведения см. в статье Предоставление разрешений кубу или модели (службы Analysis Services).

Обработку задач можно изолировать от других административных функций, позволив администраторам сервера и базы данных делегировать эту задачу другим пользователям или настроить автоматическую обработку, указав учетные записи службы, запускающие планирование программного обеспечения. Дополнительные сведения см. в статье Предоставление разрешений на процесс (службы Analysis Services).

Примечание

Пользователям не требуются разрешения на доступ к реляционным таблицам в базовой реляционной базе данных, из которой SQL Server Analysis Services загружает свои данные, и не требуются разрешения на уровне файлов на компьютере, на котором выполняется экземпляр SQL Server Analysis Services.

Шаг 4. (Необязательно) Разрешение или отклонение доступа к внутренним объектам кубов

SQL Server Analysis Services предоставляет параметры безопасности для настройки разрешений для отдельных объектов, включая элементы измерения и ячейки в модели данных. Дополнительные сведения см. в разделах Предоставление пользовательского доступа к данным измерения (службы Analysis Services) и Предоставление пользовательского доступа к данным ячеек (службы Analysis Services).

Также можно изменять разрешения на базе удостоверения пользователя. Это часто называют динамической безопасностью и реализуется с помощью функции UserName (многомерные выражения)

Рекомендации

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

  1. Создание ролей по названию функции (например, dbadmin, cubedeveloper, processadmin), чтобы пользователь, управляющий ролями мог сразу понять, что разрешает роль. Как указано ранее, роли можно определить в определении модели, сохранив их в последующих развертываниях решения.

  2. Создайте соответствующую группу безопасности Windows в Active Directory и сохраните ее в Active Directory, чтобы гарантировать, что она содержит соответствующие индивидуальные учетные записи. Таким образом, ответственность за членство группы безопасности ляжет на специалистов по безопасности, которые уже имеют опыт в работе со средствами и процессами, использующимися для обслуживания учетной записи в организации.

  3. Создавайте скрипты в SQL Server Management Studio, чтобы можно было быстро реплицировать назначения ролей при повторном развертывании модели из исходных файлов на сервер. Дополнительные сведения о том, как быстро создать скрипт, см. в статье Предоставление разрешений кубу или модели (службы Analysis Services).

  4. Заключите соглашение об именовании, которое отражает область и членство роли. Имена ролей видны только в средствах конструирования и администрирования, поэтому следует использовать соглашение об именовании, знакомое специалистам по безопасности. Например, processadmin-windowsgroup1 указывает доступ на чтение и права на обработку для пользователей организации, чьи индивидуальные учетные записи Windows являются членами группы безопасности windowsgroup1 .

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

  5. Разработчикам кубов потребуются разрешения "Полный доступ" для разрабатываемых моделей и баз данных, но после передачи базы данных на рабочий сервер нужны только разрешения на чтение. Не забывайте разрабатывать определения ролей и назначения для всех сценариев, включая разработку, тестирование и рабочие развертывания.

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

См. также:

Предоставление прав администратора сервера экземпляру служб Analysis Services
Роли и разрешения (службы Analysis Services)
Методики проверки подлинности, поддерживаемые службами Analysis Services