Dela via


Säkerhet för köade komponenter

När en klient gör ett metodanrop till ett köat objekt görs faktiskt anropet till inspelaren, som paketeras som en del av ett meddelande till servern. Lyssnaren läser meddelandet från kön och skickar det till spelaren. Spelaren anropar den faktiska serverkomponenten och gör samma metodanrop. Serverkomponenten måste observera klientens säkerhetsanropskontext (inte spelarens säkerhetsanropskontext) när spelaren gör metodanropet. Inspelaren konverterar klientens säkerhetsanropskontext till meddelandet och spelaren tar bort den på servern innan metoden anropas. När det gäller serverobjektet finns det ingen skillnad i säkerhetskontexten mellan ett direktanrop från klienten och ett indirekt anrop från spelaren. I synnerhet körs de metoder som anropas med avsändarens behörigheter.

En COM+-kökomponent stöder rollbaserad säkerhetssemantik precis som andra komponenter som skapats för användning med COM+-program. Komponenter i ett köat program kan därför använda programmatiska gränssnitt för att identifiera rollmedlemskapet för deras anropare (ISecurityCallContext::IsCallerInRole) eller en specifik användare (ISecurityCallContext::IsUserInRole). Vi rekommenderar att alla köade komponenter med en potentiell säkerhetspåverkan använder dessa gränssnitt för att uttryckligen kontrollera avsändarens autentiseringsuppgifter.

Anroparidentiteten är den identitet som är associerad med ett metodanrop. Anroparidentitet används av rollbaserad säkerhet och finns i kontexten för säkerhetsanrop. I köade komponenter representeras uppringarens identitet som data i meddelandet Meddelandeköer. Message Queuing autentiserar meddelandesändaridentiteten. När uppringarens identitet och meddelandesändaridentitet är desamma autentiserar Message Queuing både meddelandet och anroparen. Detta är det vanliga fallet.

Not

COM+-köade komponenter stöder inte personifieringsliknande säkerhet, vilket gör att en server kan hämta en åtkomsttoken som motsvarar klientidentiteten och använda den antingen för att utföra åtkomstkontrollkontroller eller för att agera under klientsäkerhetskontexten.

 

När anroparen för en kökomponent interagerar med komponenten via en out-of-process-inspelare kan identiteterna för anroparen och meddelandesändaren (inspelaren) vara olika. I det här fallet verifierar COM+-köade komponenter att meddelandesändaren är medlem i rollen QC Trusted User på servern. Dessutom kräver out-of-process-inspelaren ett autentiseringscertifikat eftersom det autentiseras av Message Queuing.

Medlemmar i rollen BETRODD ANVÄNDARE I QC kan ange en godtycklig identitet, vilket innebär att en obehörig medlem kan köra ett köat komponentanrop med förhöjd behörighet. Därför rekommenderas att antalet sådana användare hålls till ett absolut minimum.

På grund av risken för en sofistikerad attack som är associerad med någon mekanism som sprider identitet över ett nätverk, samt risken för en enkel överbelastningsattack genom att översvämma köerna med oexecutable begäranden, rekommenderar vi att du distribuerar tjänsten COM+ köade komponenter endast på ett nätverk av betrodda värdar, till exempel i ett privat nätverk eller ett virtuellt privat nätverk eller bakom en korrekt konfigurerad brandvägg.

COM+-köade komponenter körs via DCOM, så du kan skydda integriteten och sekretessen för köade metodanrop genom att välja Paketsekretess som inställningen autentiseringsnivå för samtal på fliken Säkerhet i det köade programmets Egenskaper blad.

COM+ Security

säkerhetsbegränsningar i arbetsgruppsläge

Ange autentiseringsprotokollet