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


Общие сведения о модуле безопасности

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

В модуле служб Reporting Services можно создавать новые модули проверки подлинности и авторизации, поскольку модули безопасности основаны на открытых и расширяемых API. В следующем примере показан типичный сценарий внедрения модуля безопасности, который использует проверку подлинности и авторизацию на основе форм:

Процесс расширения безопасности служб Reporting Services

Как показано на иллюстрации, проверка подлинности и авторизация происходят по следующей схеме.

  1. Пользователь предпринимает попытку получить доступ к диспетчеру отчетов при помощи URL-адреса и перенаправляется на форму, которая собирает учетные данные пользователя для клиентского приложения.

  2. Пользователь передает учетные данные в форму.

  3. Учетные данные пользователя отправляются в веб-службу Reporting Services с помощью метода LogonUser.

  4. Веб-служба обращается к назначенному клиентом модулю безопасности и проверяет, что имя пользователя и пароль существуют в пользовательском центре безопасности.

  5. После проверки подлинности веб-служба создает билет проверки подлинности (также известный как «файл cookie»), управляет билетом и проверяет роль пользователя применительно к домашней странице диспетчера отчетов.

  6. Веб-служба возвращает файл cookie веб-обозревателю и отображает подходящий пользовательский интерфейс в диспетчере отчетов.

  7. После проверки подлинности пользователя веб-обозреватель выполняет запросы к диспетчеру отчетов, передавая файл cookie в заголовке HTTP. Эти запросы осуществляются в ответ на действия пользователя в диспетчере отчетов.

  8. Файл cookie передается веб-службе в заголовке HTTP вместе с запрошенной пользовательской операцией.

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

  10. Если файл cookie действителен, сервер отчетов вызывает модуль безопасности для проверки того, авторизован ли пользователь для осуществления конкретной операции.

  11. Если пользователь авторизован, сервер отчетов выполняет запрашиваемую операцию и возвращает управление вызывающему коду.

  12. После проверки подлинности пользователя для доступа к серверу отчетов через URL-адрес используется тот же файл cookie. Файл cookie передается в заголовке HTTP.

  13. Пользователь продолжает передавать запросы операций на сервер отчетов до тех пор, пока не закончится сеанс.

Рекомендации по реализации модуля безопасности

По возможности рекомендуется использовать проверку подлинности Windows. Однако нестандартная проверка подлинности и авторизация для служб Reporting Services может оказаться подходящей в следующих двух случаях.

  • Используется Интернет-приложение или приложение экстрасети, которое не позволяет использовать учетные записи Windows.

  • Предусмотрены специально определенные пользователи и роли, и необходимо обеспечить согласованную схему авторизации в модуле служб Reporting Services.