Vyjednávání o dece zabezpečení
Bezpečnostní deka je skupina hodnot, které popisují nastavení zabezpečení, která se vztahují na všechny proxy servery v procesu nebo pouze na konkrétní proxy rozhraní. Bezpečnostní deka se skládá z následujících hodnot:
- Ověřovací služba
- Autorizační služba
- Hlavní název
- Úroveň ověřování
- Úroveň zosobnění
- Identita ověřování
- Schopnosti
- Seznam řízení přístupu (ACL) (pouze servery)
Deka zabezpečení vyjednávání je proces, který com používá k výběru nastavení zabezpečení pro proxy server při jeho vytvoření. Tento proces zahrnuje porovnání bezpečnostní deky serveru s dekou zabezpečení klienta a použitím těchto hodnot vytvořit odpovídající výchozí bezpečnostní deku pro proxy server. Následující odstavce vysvětlují, odkud pocházejí bezpečnostní deky klienta a serveru, a popisují, jak COM vyjednává bezpečnostní deku pro proxy server pomocí bezpečnostních deek klienta a serveru.
Klient a server mohou každé volání CoInitializeSecurity určit příslušné bezpečnostní deky. Pokud aplikace nevolá CoInitializeSecurity explicitně, com ji pro aplikaci volá implicitně pomocí odpovídajících výchozích hodnot. Další informace o těchto výchozích hodnotách naleznete v tématu Výchozí hodnoty zabezpečení modelu COM.
Některé parametry pro CoInitializeSecurity použít, když je aplikace serverem, a některé platí, když je aplikace klientem. Pokud aplikace funguje jako server, jsou tyto parametry relevantní: seznam ACL, seznam řazených kolekcí názvů ověřovací služby/ autorizační služby nebo hlavního názvu a úroveň ověřování. Volání serveru CoInitializeSecurity, ať implicitní nebo explicitní, určuje bezpečnostní deku serveru, která zůstává pevná.
Pokud aplikace funguje jako klient, jsou relevantní následující hodnoty předané CoInitializeSecurity: úroveň ověřování, úroveň zosobnění, identita ověřování a možnosti. Implicitní nebo explicitní volání klienta CoInitializeSecurity označuje deku zabezpečení, kterou klient chce.
Při vytvoření proxy serveru používá com hodnoty určené bezpečnostní dekou serveru a deka zabezpečení klienta k vyjednávání výchozí bezpečnostní deky, která je vhodná pro proxy server. Com vybere ověřovací službu, která funguje na klientovi i na serveru. Pro práci s ověřovací službou se zvolí autorizační služba a hlavní název. Pro úroveň ověřování zvolí com vyšší úrovně ověřování určené klientem a serverem. Úroveň zosobnění a možnosti zvolené objektem COM jsou ty, které klient určil. Identita ověřování je identita určená klientem pro zvolenou ověřovací službu.
Jakmile se vypočítá výchozí deka zabezpečení, přiřadí se jeho hodnoty nově vytvořenému proxy serveru. Klient může přepsat nastavení zabezpečení pro proxy voláním IClientSecurity::SetBlanket. Hodnoty zadané pro SetBlanket nejsou vyjednávány; jsou jednoduše přiřazeny zadanému proxy serveru. Pokud jsou však výchozí parametry (například RPC_C_IMP_LEVEL_DEFAULT) předány SetBlanket, com používá dříve popsaný algoritmus vyjednávání o deka zabezpečení k výpočtu výchozích parametrů.
Související témata
-
zabezpečení v modelu COM