Sdílet prostřednictvím


Použití zosobnění se zabezpečením přenosu

Zosobnění je schopnost serverové aplikace převzít identitu klienta. Služby běžně používají zosobnění při ověřování přístupu k prostředkům. Serverová aplikace běží pomocí účtu služby, ale když server přijme připojení klienta, zosobní klienta, aby se kontroly přístupu prováděly pomocí přihlašovacích údajů klienta. Zabezpečení přenosu je mechanismus předávání přihlašovacích údajů i zabezpečení komunikace pomocí těchto přihlašovacích údajů. Toto téma popisuje použití zabezpečení přenosu ve Windows Communication Foundation (WCF) s funkcí zosobnění. Další informace o zosobnění pomocí zabezpečení zpráv naleznete v tématu Delegování a zosobnění.

Pět úrovní zosobnění

Zabezpečení přenosu využívá pět úrovní zosobnění, jak je popsáno v následující tabulce.

Úroveň zosobnění Popis
Nic Serverová aplikace se nepokoušá zosobnit klienta.
Anonymní Serverová aplikace může provádět kontroly přístupu vůči přihlašovacím údajům klienta, ale neobdrží žádné informace o identitě klienta. Tato úroveň zosobnění je smysluplná jenom pro komunikaci na počítači, jako jsou pojmenované kanály. Použití Anonymous se vzdáleným připojením podporuje úroveň zosobnění pro identifikaci.
Identifikovat Serverová aplikace zná identitu klienta a může provést ověření přístupu vůči přihlašovacím údajům klienta, ale nemůže zosobnit klienta. Identifikace je výchozí úroveň zosobnění používaná s přihlašovacími údaji SSPI ve WCF, pokud poskytovatel tokenu neposkytuje jinou úroveň zosobnění.
Zosobnění Serverová aplikace může přistupovat k prostředkům na serverovém počítači jako klient a provádět kontroly přístupu. Serverová aplikace nemá přístup k prostředkům na vzdálených počítačích pomocí identity klienta, protože zosobněný token nemá síťové přihlašovací údaje.
Delegát Kromě stejných funkcí jako Impersonateúroveň zosobnění delegáta také umožňuje serverové aplikaci přistupovat k prostředkům na vzdálených počítačích pomocí identity klienta a předat identitu jiným aplikacím.

Důležité : Aby bylo možné používat tyto další funkce, musí být účet domény serveru označen jako důvěryhodný pro delegování na řadiči domény. Tuto úroveň zosobnění nelze použít u účtů klientských domén označených jako citlivé.

Úrovně, které se nejčastěji používají se zabezpečením přenosu, jsou Identify a Impersonate. Úrovně None a Anonymous nedoporučuje se pro typické použití a mnoho přenosů nepodporuje použití těchto úrovní s ověřováním. Úroveň Delegate je výkonná funkce, která by se měla používat s opatrností. Oprávnění k delegování přihlašovacích údajů by měly mít jenom důvěryhodné serverové aplikace.

Použití zosobnění na úrovních Impersonate nebo Delegate úrovní vyžaduje, aby serverová aplikace měla SeImpersonatePrivilege oprávnění. Aplikace má ve výchozím nastavení toto oprávnění, pokud je spuštěná na účtu ve skupině Správa istrators nebo v účtu se identifikátorem SID služby (síťová služba, místní služba nebo místní systém). Zosobnění nevyžaduje vzájemné ověřování klienta a serveru. Některá schémata ověřování, která podporují zosobnění, například NTLM, nelze použít se vzájemným ověřováním.

Problémy související s přenosem zosobnění

Volba přenosu ve WCF ovlivňuje možné volby zosobnění. Tato část popisuje problémy, které mají vliv na standardní přenosy HTTP a pojmenované kanály ve WCF. Vlastní přenosy mají svá vlastní omezení pro podporu zosobnění.

Přenos pojmenovaného potrubí

Pro přenos pojmenovaného kanálu se používají následující položky:

  • Přenos pojmenovaného potrubí je určen pouze na místním počítači. Přenos pojmenovaného kanálu ve WCF explicitně zakáže připojení mezi počítači.

  • Pojmenované kanály nelze použít s Impersonate úrovní zosobnění Delegate . Pojmenovaný kanál nemůže vynutit záruku na počítači na těchto úrovních zosobnění.

Další informace o pojmenovaných kanálech naleznete v tématu Volba přenosu.

Přenos HTTP

Vazby, které používají přenos HTTP (WSHttpBinding a BasicHttpBinding) podporují několik schémat ověřování, jak je vysvětleno v tématu Vysvětlení ověřování HTTP. Podporovaná úroveň zosobnění závisí na schématu ověřování. Při přenosu HTTP se používají následující položky:

  • Schéma Anonymous ověřování ignoruje zosobnění.

  • Basic Schéma ověřování podporuje pouze Delegate úroveň. Upgradují se všechny nižší úrovně zosobnění.

  • Digest Schéma ověřování podporuje pouze úrovně Impersonate a Delegate úrovně.

  • NTLM Schéma ověřování, které lze vybrat přímo nebo prostřednictvím vyjednávání, podporuje pouze Delegate úroveň na místním počítači.

  • Schéma ověřování kerberos, které lze vybrat pouze prostřednictvím vyjednávání, lze použít s libovolnou podporovanou úrovní zosobnění.

Další informace o přenosu HTTP naleznete v tématu Volba přenosu.

Viz také