Общие сведения о расширениях безопасности — службы Reporting Services (SSRS)

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

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

Screenshot of the Reporting Services security extension process.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Когда следует реализовать расширение безопасности

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

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

  • У вас есть пользовательские пользователи и роли и необходимо предоставить соответствующую схему авторизации в службах Reporting Services.