Безопасность в COM

Безопасность в COM твердо основана на безопасности, предоставляемой Windows и базовыми механизмами безопасности RPC. Безопасность COM зависит от проверки подлинности (процесса проверки удостоверения вызывающего абонента) и авторизации (процесс определения того, разрешен ли вызывающий объект выполнять действия). В COM есть два основных типа безопасности: безопасность активации и безопасность вызовов. Безопасность активации определяет, может ли клиент запускать сервер вообще. После запуска сервера можно использовать безопасность вызова для управления доступом к объектам сервера.

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

Система реализует протокол проверки подлинности Kerberos версии 5 и пакет безопасности Schannel. Он также включает такие функции, как олицетворение на уровне делегата, взаимная проверка подлинности, возможность задать уровни проверки подлинности для AppID в реестре и маскировку. С помощью безопасности COM можно реализовать объекты, которые могут выполнять привилегированные операции без ущерба для безопасности.

Так как существует широкий спектр доступных функций безопасности COM, рекомендуется изначально определить, какой уровень безопасности требуется приложению. Для большинства приложений установка приемлемого уровня безопасности может быть безболезненным процессом, но вы также можете использовать com-безопасность для поддержки очень сложных сценариев безопасности.

Вы можете задать процесс безопасности по всей территории, используя Dcomcnfg.exe для задания реестра или вызова CoInitializeSecurity. Два основных интерфейса, IClientSecurity и IServerSecurity (и связанные вспомогательные функции), позволяют настроить безопасность на уровне вызовов в программе.

Дополнительные сведения о безопасности COM см. в следующих разделах: