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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  13. Пользователь продолжает запрашивать операции на сервере отчетов до завершения сеанса.

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

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

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

  • Имеются определяемые пользователем пользователи и роли, и необходимо предоставить подходящую схему авторизации в службах Службы Reporting Services.

См. также:

Реализация расширения безопасности. Настройка диспетчера отчетов для передачи пользовательских файлов cookie проверки подлинности