Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Клиентские приложения, вызывающие интерфейсы WMI, могут управлять уровнями безопасности своих процессов. Все приложения WMI получают доступ к WMI через COM, и вы можете вызвать функцию COM CoInitializeSecurity, чтобы задать безопасность для ваших процессов. Приложения, выполняющие асинхронные вызовы WMI, и приложения, которые регистрируются в качестве потребителей событий, устанавливают уровни безопасности для вызова в WMI.
Если вы не делаете явный вызов CoInitializeSecurity, COM выполняет его неявный вызов со значениями из реестра. Однако значения реестра могут иметь более низкие параметры для олицетворения и проверки подлинности, которые не обеспечивают безопасность, необходимую для WMI. Дополнительные сведения см. в разделе Настройка уровня безопасности процесса по умолчанию с помощьюC++ .
Асинхронный доступ к WMI не рекомендуется. Асинхронный обратный вызов позволяет пользователю, не прошедшим проверку подлинности, предоставлять данные приемнику. Это создает риски безопасности для скриптов и приложений. Чтобы устранить риски, используйте полусинхронное или синхронное взаимодействие или выполните надлежащие проверки доступа в клиентском приложении. Дополнительные сведения см. в статье Вызов метода.
Вызовы любого прокси-сервера WMI (IWbemServices, IEnumWbemClassObject,IWbemCallResultили IWbemRefresher) используют указатель вне процесса. Дополнительные сведения о значениях по умолчанию и рекомендациях см. в разделе Настройка безопасности для IWbemServices и других прокси-серверов.
В следующей процедуре описаны шаги, которые необходимо выполнить для настройки безопасности WMI в процессе приложения.
Настройка безопасности для WMI в процессе вашего приложения
- Определите уровни безопасности, необходимые для операционных систем Windows, на которых выполняется клиентское приложение.
- Вызовите функцию COM CoInitializeSecurity, чтобы задать безопасность по умолчанию для процесса, в котором выполняется клиентское приложение. Это определяет, какие меры безопасности необходимы другим приложениям для доступа к процессу, в котором выполняется ваше приложение.
- Если необходимо изменить безопасность на отдельном прокси-сервере, например при другом вызове IWbemServices, вызовите CoSetProxyBlanket.
- Если необходимо управлять удаленным оборудованием или системным объектом, требующим больше прав, используйте функцию AdjustTokenPrivileges, чтобы включить необходимые привилегии. Обратите внимание, что вы не можете включить привилегию, которую процесс еще не назначил ему. Дополнительные сведения см. в разделе Проверка доступа к частным объектам.
Дополнительные сведения о настройке уровня безопасности процесса по умолчанию см. в разделе Настройка уровня безопасности процесса по умолчанию с помощью C++ и настройка уровня безопасности процесса по умолчанию с помощьюVBScript.