Sdílet prostřednictvím


Delegování a zosobnění

Ve scénářích klienta nebo serveru je běžné, že jeden server zavolá jiný server, aby provedl určitou úlohu jménem klienta. Situace, kdy je serveru uděleno oprávnění jednat jménem klienta, se nazývá delegování.

Z hlediska zabezpečení vznikají dvě otázky týkající se delegování:

  • Co má server při jednání jménem klienta dělat?
  • Jakou identitu prezentuje server, když volá jiné servery jménem klienta?

Pro řešení těchto problémů poskytuje com následující funkce. Klient může nastavit úroveň zosobnění , která určuje, do jaké míry bude server moci fungovat jako klient. Pokud klient udělí serveru dostatečnou autoritu, může server zosobnit (předstírat), že je klient. Při zosobnění klienta je serveru udělen přístup pouze k objektům nebo prostředkům, které má klient oprávnění používat. Server, který funguje jako klient, může také povolit maskování maskovat vlastní identitu a projektovat identitu klienta ve volání jiných komponent modelu COM.

Diagram znázorňující, jak server funguje jako klient, může povolit cloaking.

Představte si scénář znázorněný předchozím obrázkem, kde A a B jsou procesy na jiném počítači než C. Proces volá B a B volá C. Klient A nastaví úroveň zosobnění. B nastaví schopnost maskování. Pokud A nastaví úroveň zosobnění, která umožňuje zosobnění, může B zosobnit A při volání jazyka C jménem A. Identita, která se prezentuje procesu jazyka C, bude identita A nebo B v závislosti na tom, jestli B povolila maskování. Pokud je cloaking povolen, identita prezentovaná ke zpracování jazyka C bude typu A. Pokud není cloaking povolen, zobrazí se identita B jazyku C.

Další informace najdete v následujících tématech: