Beveiliging van clienttoepassingsproces instellen
Clienttoepassingen die WMI-interfaces aanroepen, kunnen de beveiligingsniveaus van hun processen beheren. Alle WMI-toepassingen hebben toegang tot WMI via COM en u kunt de COM-functie aanroepen CoInitializeSecurity om beveiliging voor uw processen in te stellen. Toepassingen die asynchrone aanroepen uitvoeren naar WMI en toepassingen die zich registreren als gebeurtenisgebruikers stellen beveiligingsniveaus in voor de aanroep naar WMI.
Als u geen expliciete aanroep naar CoInitializeSecuritymaakt, roept COM deze impliciet aan met waarden uit het register. De registerwaarden kunnen echter lagere instellingen hebben voor imitatie en verificatie die niet de beveiliging bieden die vereist is voor WMI. Zie Het standaardniveau voor procesbeveiliging instellen met C++voor meer informatie.
Asynchrone toegang tot WMI wordt niet aanbevolen. Met een asynchrone callback kan een niet-geverifieerde gebruiker gegevens aan de sink verstrekken. Dit vormt beveiligingsrisico's voor uw scripts en toepassingen. Als u de risico's wilt elimineren, gebruikt u semisynchrone of synchrone communicatie of voert u de juiste toegangscontroles uit in uw clienttoepassing. Zie Een methode aanroepenvoor meer informatie.
Aanroepen naar een van de WMI-proxy's (IWbemServices, IEnumWbemClassObject,IWbemCallResultof IWbemRefresher) gebruiken een out-of-process pointer. Zie Het Beveiligen van IWbemServices en Andere Proxiesvoor meer informatie over de standaardinstellingen en aanbevelingen.
In de volgende procedure worden de stappen beschreven die u moet uitvoeren om de beveiliging voor WMI in uw toepassingsproces in te stellen.
Beveiliging instellen voor WMI in uw toepassingsproces
- Bepaal de beveiligingsniveaus die vereist zijn voor de Windows-besturingssystemen waarop uw clienttoepassing wordt uitgevoerd.
- Roep de functie COM CoInitializeSecurity aan om de standaardbeveiliging in te stellen voor het proces waarin de clienttoepassing wordt uitgevoerd. Hiermee wordt aangegeven hoeveel beveiliging andere toepassingen nodig hebben voor toegang tot het proces waarin uw toepassing wordt uitgevoerd.
- Als u de beveiliging van een afzonderlijke proxy wilt wijzigen, bijvoorbeeld bij een andere aanroep naar IWbemServices, roept u CoSetProxyBlanket-aan.
- Als u externe hardware of een systeemobject wilt beheren waarvoor meer bevoegdheden zijn vereist, gebruikt u de AdjustTokenPrivileges functie om de benodigde bevoegdheden in te schakelen. Houd er rekening mee dat u geen bevoegdheid kunt inschakelen die het proces nog niet heeft toegewezen. Zie Toegang tot privéobjecten controlerenvoor meer informatie.
Zie Het standaardprocesbeveiligingsniveau instellen met C++ en Het standaardprocesbeveiligingsniveau instellen met VBScript-voor meer informatie over het instellen van het standaardniveau voor procesbeveiliging.