Авторизация доступа к объектам и операциям (Аналитические службы)

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

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

Это важно

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

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

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

  1. В SSMS щелкните правой кнопкой мыши базу данных и выберите Новый запрос | MDX.

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

    Select * from $SYSTEM.DBSCHEMA_CATALOGS  
    

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

Обзор авторизации служб Analysis Services в иерархическом порядке

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

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

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

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

Затем после создания табличного или многомерного решения он развертывается на сервере в качестве базы данных. Администратор сервера может делегировать задачи администрирования базы данных, определив роль с разрешениями полного управления для базы данных. Члены этой роли могут обрабатывать или запрашивать объекты в базе данных, а также создавать дополнительные роли для доступа к кубам, измерениям и другим объектам в самой базе данных. См. раздел "Предоставление разрешений для базы данных" (Службы анализа) для получения дополнительной информации.

Шаг 3. Предоставление доступа к кубу или модели для выполнения запросов и обработки

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

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

Замечание

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

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

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

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

Лучшие практики

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

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

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

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

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

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

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

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

См. также

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