Основные понятия безопасности COM+

COM+ предоставляет несколько функций безопасности, которые можно использовать для защиты приложений COM+, начиная от служб, настроенных в административном режиме до API, которые можно вызывать в коде.

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

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

  • Программная безопасность на основе ролей, например проверка роли, которая доступна при включении безопасности на основе ролей для приложения.
  • Олицетворение — если вы хотите использовать удостоверение клиента для доступа к защищенному ресурсу.
  • Аудит функций на основе сведений о контексте вызова безопасности также доступен при включении безопасности на основе ролей.

Какие механизмы, используемые для защиты данного приложения, будут зависеть от конкретных требований этого приложения. Некоторые варианты безопасности могут повлиять на способ записи компонентов, а некоторые могут существенно повлиять на структуру приложения. Прежде чем принимать какие-либо решения о реализации стратегии безопасности для приложения, необходимо учитывать его требования к безопасности в контексте его общей разработки — требований к производительности, доступа к данным, физического проектирования и выбора наиболее подходящего сочетания функций безопасности. Дополнительные сведения о реализации программной безопасности см. в разделе "Безопасность программных компонентов".

Краткое описание категорий безопасности COM+, функций и проблем приведены здесь, где приведены ссылки на разделы в этом разделе, которые содержат подробное обсуждение каждой из важных областей.

Примечание.

Хотя в этом разделе не рассматриваются, компоненты в очереди также имеют особые проблемы, связанные с тем, какие функции безопасности доступны для них. Дополнительные сведения см. в разделе "Безопасностьи разработка компонентов очереди".

 

Безопасность на основе ролей

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

Безопасность на основе ролей основана на общем механизме, который позволяет получать сведения о безопасности для всех вызывающих вышестоящий в цепочке вызовов компонента. Это средство полезно, особенно если вы хотите выполнить подробный аудит и ведение журнала. Описание функций аудита, предоставляемых COM+, см. в разделе "Доступ к контексту вызова безопасности".

Описание проблем безопасности на основе ролей и администрирования, которые следует учитывать при использовании, см. в разделе "Безопасность на основе ролей" Администратор istration.

Проверка подлинности клиента

Прежде чем разрешить клиентам доступ к ресурсам, вы должны быть уверены в том, что они являются тем, кто они говорят, что они есть. Чтобы включить проверку подлинности, COM+ предоставляет службы проверки подлинности. Хотя эти службы на самом деле предоставляются на более фундаментальном уровне COM и Microsoft Windows, приложение COM+ позволяет просто включить службу проверки подлинности в административном режиме, чтобы она работала под обложкой, прозрачной для приложения. Описание служб проверки подлинности см. в разделе "Проверка подлинности клиента".

Олицетворение клиента и делегирование

В некоторых случаях приложение должно работать от имени клиента с помощью удостоверения клиента, например при доступе к базе данных, которая будет проходить проверку подлинности исходного клиента. Это требует от приложения олицетворения клиента. COM+ предоставляет средства для включения различных уровней олицетворения. Олицетворение настраивается административно, но также необходимо предоставить поддержку олицетворения с кодом компонентов приложения. Описание олицетворения и проблем, связанных с его использованием, см. в разделе олицетворение клиента и делегирование.

Использование политики ограничения программного обеспечения в COM+

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

Политика ограничения программного обеспечения по всей системе контролируется с помощью средства администрирования локальной политики безопасности, что позволяет администраторам настраивать уровни доверия для отдельных файлов. Однако все серверные приложения COM+ выполняются в файле dllhost.exe. Поэтому COM+ предоставляет способ указать политику ограничений программного обеспечения для каждого серверного приложения, чтобы они не должны зависеть от политики ограничений файла dllhost.exe. Обсуждение использования политики ограничений программного обеспечения в COM+см. в разделе "Использование политики ограничений программного обеспечения" в COM+.

Безопасность приложений библиотеки

Приложения библиотеки имеют особые вопросы безопасности. Так как эти приложения выполняются в процессе клиента, они влияют на безопасность, примененную процессом размещения, и не могут контролировать безопасность на уровне процесса. Описание факторов, которые следует учитывать для приложений библиотеки, см. в разделе "Безопасность приложений библиотеки".

Безопасность приложений с несколькими уровнями

ПРИЛОЖЕНИЯ COM+ обычно являются приложениями среднего уровня; то есть они перемещают информацию между клиентами и внутренними ресурсами, такими как базы данных. Сложные варианты могут быть вовлечены в определение того, где должна применяться безопасность, и в какой степени. Безопасность, по сути, включает компромиссы производительности. Некоторые из наиболее серьезных из них возникают, когда необходимо применить проверка безопасности как на уровне данных, так и на среднем уровне. Обсуждение вопросов, которые следует рассмотреть, см. в разделе "Безопасность приложений с несколькими уровнями".

Аутентификация клиента

Олицетворение клиента и делегирование

Задачи безопасности COM+

Безопасность приложений библиотеки

Безопасность приложений с несколькими уровнями

Безопасность программных компонентов

Администратор безопасности на основе ролей

Использование политики ограничения программного обеспечения в COM+