Sdílet prostřednictvím


Nastavení zabezpečení procesu klientské aplikace

Klientské aplikace, které volají rozhraní WMI, můžou řídit úrovně zabezpečení svých procesů. Všechny aplikace WMI přistupují k rozhraní WMI prostřednictvím modelu COM a můžete volat funkci COM CoInitializeSecurity, aby bylo možné nastavit zabezpečení vašich procesů. Aplikace, které provádějí asynchronní volání rozhraní WMI, a aplikace, které se registrují jako příjemci událostí, nastavují úrovně zabezpečení volání do rozhraní WMI.

Pokud nevyvoláte explicitní volání CoInitializeSecurity, COM ho implicitně zavolá s hodnotami z registru. Hodnoty registru však můžou mít nižší nastavení pro zosobnění a ověřování, které neposkytují zabezpečení vyžadované pro rozhraní WMI. Další informace naleznete v tématu Nastavení výchozí úrovně zabezpečení procesu pomocí jazyka C++.

Asynchronní přístup k rozhraní WMI se nedoporučuje. Asynchronní zpětné volání umožňuje neověřeným uživatelům poskytovat data do jímky. To představuje bezpečnostní rizika pro vaše skripty a aplikace. Pokud chcete rizika eliminovat, použijte polosynchronní nebo synchronní komunikaci nebo proveďte správné kontroly přístupu v klientské aplikaci. Další informace naleznete v tématu Volání metody.

Volání na jakýkoli proxy WMI (IWbemServices, IEnumWbemClassObject,IWbemCallResultnebo IWbemRefresher) používají ukazatel mimo proces. Další informace o výchozích nastaveních a doporučeních najdete v tématu Nastavení zabezpečení služby IWbemServices a dalších proxy serverů.

Následující postup popisuje kroky, které je nutné provést k nastavení zabezpečení rozhraní WMI v procesu aplikace.

Nastavení zabezpečení rozhraní WMI v procesu aplikace

  1. Určete úrovně zabezpečení vyžadované pro operační systémy Windows, na kterých běží vaše klientská aplikace.
  2. Voláním funkce COM CoInitializeSecurity nastavte výchozí zabezpečení procesu, ve kterém klientská aplikace běží. Deklaruje, kolik zabezpečení jiné aplikace vyžadují pro přístup k procesu, ve kterém vaše aplikace běží.
  3. Pokud potřebujete změnit zabezpečení na jednotlivém proxy serveru, například při jiném volání IWbemServices, zavolejte CoSetProxyBlanket.
  4. Pokud potřebujete řídit vzdálený hardware nebo systémový objekt, který vyžaduje více oprávnění, použijte funkci AdjustTokenPrivileges k povolení potřebných oprávnění. Všimněte si, že nemůžete povolit oprávnění, ke kterému už proces nemá přiřazené. Další informace naleznete v tématu Kontrola přístupu k privátním objektům.

Další informace o nastavení výchozí úrovně zabezpečení procesu najdete v tématu Nastavení výchozí úrovně zabezpečení procesu pomocí jazyka C++ a Nastavení výchozí úrovně zabezpečení procesu pomocíVBScriptu .