Delen via


Imitatie gebruiken met transportbeveiliging

Imitatie is de mogelijkheid van een servertoepassing om de identiteit van de client op te nemen. Het is gebruikelijk dat services imitatie gebruiken bij het valideren van de toegang tot resources. De servertoepassing wordt uitgevoerd met behulp van een serviceaccount, maar wanneer de server een clientverbinding accepteert, wordt de client geïmitteerd zodat toegangscontroles worden uitgevoerd met behulp van de referenties van de client. Transportbeveiliging is een mechanisme voor het doorgeven van referenties en het beveiligen van communicatie met behulp van deze referenties. In dit onderwerp wordt beschreven hoe u transportbeveiliging gebruikt in WCF (Windows Communication Foundation) met de imitatiefunctie. Zie Delegatie en imitatie voor meer informatie over imitatie met behulp van berichtbeveiliging.

Vijf imitatieniveaus

Transportbeveiliging maakt gebruik van vijf niveaus van imitatie, zoals beschreven in de volgende tabel.

Imitatieniveau Beschrijving
Geen De servertoepassing probeert de client niet te imiteren.
Anoniem De servertoepassing kan toegangscontroles uitvoeren op basis van de referenties van de client, maar ontvangt geen informatie over de identiteit van de client. Dit imitatieniveau is alleen zinvol voor communicatie op de computer, zoals benoemde pijpen. Het gebruik Anonymous met een externe verbinding bevordert het imitatieniveau om te identificeren.
Identificeren De servertoepassing kent de identiteit van de client en kan toegangsvalidatie uitvoeren op basis van de referenties van de client, maar kan de client niet imiteren. Identificeren is het standaard imitatieniveau dat wordt gebruikt met SSPI-referenties in WCF, tenzij de tokenprovider een ander imitatieniveau biedt.
Imiteren De servertoepassing heeft toegang tot resources op de servercomputer als client, naast het uitvoeren van toegangscontroles. De servertoepassing heeft geen toegang tot resources op externe computers met behulp van de identiteit van de client, omdat het geïmiteerde token geen netwerkreferenties heeft
Gedelegeerde Naast dezelfde mogelijkheden als Impersonate, stelt het niveau gemachtigde imitatie ook de servertoepassing in staat om toegang te krijgen tot resources op externe computers met behulp van de identiteit van de client en om de identiteit door te geven aan andere toepassingen.

Belangrijk Het serverdomeinaccount moet worden gemarkeerd als vertrouwd voor delegatie op de domeincontroller om deze extra functies te kunnen gebruiken. Dit imitatieniveau kan niet worden gebruikt met clientdomeinaccounts die als gevoelig zijn gemarkeerd.

De niveaus die het meest worden gebruikt met transportbeveiliging zijn Identify en Impersonate. De niveaus None en Anonymous worden niet aanbevolen voor typisch gebruik, en veel transporten ondersteunen het gebruik van deze niveaus met verificatie niet. Het Delegate niveau is een krachtige functie die met zorg moet worden gebruikt. Alleen vertrouwde servertoepassingen moeten de machtiging krijgen om referenties te delegeren.

Als u imitatie op de Impersonate niveaus gebruikt, Delegate moet de servertoepassing over de SeImpersonatePrivilege bevoegdheid beschikken. Een toepassing heeft deze bevoegdheid standaard als deze wordt uitgevoerd op een account in de groep Beheer istrators of op een account met een service-SID (netwerkservice, lokale service of lokaal systeem). Imitatie vereist geen wederzijdse verificatie van de client en server. Sommige verificatieschema's die imitatie ondersteunen, zoals NTLM, kunnen niet worden gebruikt met wederzijdse verificatie.

Transportspecifieke problemen met imitatie

De keuze van een transport in WCF is van invloed op de mogelijke keuzes voor imitatie. In deze sectie worden problemen beschreven die van invloed zijn op de standaard HTTP- en benoemde pijptransporten in WCF. Aangepaste transporten hebben hun eigen beperkingen voor ondersteuning voor imitatie.

Benoemd pijptransport

De volgende items worden gebruikt met het benoemde pijptransport:

  • Het benoemde pijptransport is alleen bedoeld voor gebruik op de lokale machine. Het benoemde pijptransport in WCF staat expliciet verbindingen tussen machines toe.

  • Benoemde pijpen kunnen niet worden gebruikt met het Impersonate of Delegate imitatieniveau. De benoemde pijp kan de garantie op de computer niet afdwingen op deze imitatieniveaus.

Zie Een transport kiezen voor meer informatie over benoemde pijpen.

HTTP-transport

De bindingen die gebruikmaken van het HTTP-transport (WSHttpBinding en BasicHttpBinding) ondersteunen verschillende verificatieschema's, zoals wordt uitgelegd in Http-verificatie. Het ondersteunde imitatieniveau is afhankelijk van het verificatieschema. De volgende items worden gebruikt met het HTTP-transport:

  • Het Anonymous verificatieschema negeert imitatie.

  • Het Basic verificatieschema ondersteunt alleen het Delegate niveau. Alle lagere imitatieniveaus worden bijgewerkt.

  • Het Digest verificatieschema ondersteunt alleen de Impersonate en Delegate niveaus.

  • Het NTLM verificatieschema, dat rechtstreeks of via onderhandeling kan worden geselecteerd, ondersteunt alleen het Delegate niveau op de lokale computer.

  • Het Kerberos-verificatieschema, dat alleen kan worden geselecteerd via onderhandeling, kan worden gebruikt met elk ondersteund imitatieniveau.

Zie Een transport kiezen voor meer informatie over het HTTP-transport.

Zie ook