Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer een client een methodeaanroep naar een object in de wachtrij maakt, wordt de aanroep daadwerkelijk uitgevoerd naar de recorder, die deze inpakt als onderdeel van een bericht naar de server. De listener leest het bericht uit de wachtrij en geeft het door aan de speler. De speler roept het daadwerkelijke serveronderdeel aan en roept dezelfde methode aan. Het serveronderdeel moet de context van de beveiligingsoproep van de client (niet de context van de beveiligingsoproep van de speler) observeren wanneer de speler de methode aanroep doet. De recorder marshalt de context van de beveiligingsoproep van de client in het bericht en de speler maakt deze op de server ongedaan voordat de methode-aanroep wordt uitgevoerd. Wat het serverobject betreft, is er geen verschil in de beveiligingscontext tussen een directe aanroep van de client en een indirecte aanroep van de speler. Met name de methoden die worden aangeroepen, worden uitgevoerd met de bevoegdheden van de afzender.
Een COM+-onderdeel in de wachtrij ondersteunt op rollen gebaseerde beveiligingssemantiek, net zoals andere onderdelen die zijn gebouwd voor gebruik met COM+-toepassingen. Onderdelen van een toepassing in de wachtrij kunnen daarom programmatische interfaces gebruiken om het rollidmaatschap van de aanroeper te detecteren (ISecurityCallContext::IsCallerInRole) of een specifieke gebruiker (ISecurityCallContext::IsUserInRole). Het wordt aanbevolen dat elk onderdeel in de wachtrij met een mogelijke beveiligingsimpact deze interfaces gebruikt om expliciet de referenties van de afzender te controleren.
De identiteit van de aanroeper is de identiteit die is gekoppeld aan een methode-aanroep. De identiteit van de beller wordt gebruikt door beveiliging op basis van rollen en is aanwezig in de context van de beveiligingsoproep. In de wachtrijonderdelen wordt de identiteit van de beller weergegeven als gegevens in het Message Queuing-bericht. Message Queuing verifieert de identiteit van de afzender van het bericht. Wanneer de identiteit van de beller en de identiteit van de afzender van het bericht hetzelfde zijn, verifieert Message Queuing zowel het bericht als de beller. Dit is het gebruikelijke geval.
Notitie
COM+-onderdelen in de wachtrij bieden geen ondersteuning voor beveiliging in imitatiestijl, waardoor een server een toegangstoken kan verkrijgen dat overeenkomt met de clientidentiteit en deze kan gebruiken om toegangscontrolecontroles uit te voeren of om te handelen in de context van de clientbeveiliging.
Wanneer de beller van een onderdeel in de wachtrij communiceert met het onderdeel via een out-of-process recorder, kunnen de identiteiten van de beller en de afzender van het bericht (recorder) verschillen. In dit geval controleert COM+ in de wachtrij geplaatste onderdelen of de afzender van het bericht lid is van de rol Vertrouwde QC-gebruiker op de server. Daarnaast vereist de out-of-process recorder een verificatiecertificaat omdat het wordt geverifieerd door Message Queuing.
Leden van de rol Vertrouwde QC-gebruiker mogen een willekeurige identiteit opgeven, wat betekent dat een kwaadwillend lid een aanroep van een onderdeel in de wachtrij kan uitvoeren met verhoogde bevoegdheden. Het wordt daarom aanbevolen om het aantal van dergelijke gebruikers tot een absoluut minimum te beperken.
Vanwege het risico van een geavanceerde aanval die is gekoppeld aan elk mechanisme dat identiteit in een netwerk doorgeeft, evenals het risico van een eenvoudige Denial of Service-aanval door de wachtrijen te overspoelen met niet-uitgevoerde aanvragen, wordt u aangeraden de com+-service met in wachtrij geplaatste onderdelen alleen te implementeren op een netwerk van vertrouwde hosts, bijvoorbeeld op een particulier netwerk of een virtueel particulier netwerk, of achter een juist geconfigureerde firewall.
COM+-onderdelen in de wachtrij worden uitgevoerd via DCOM, zodat u de integriteit en geheimhouding van aanroepen in de wachtrijmethode kunt beschermen door Pakketprivacy te selecteren als de instelling Verificatieniveau van aanroepen op het tabblad Beveiliging van het Eigenschappen van uw toepassing in de wachtrij.
Verwante onderwerpen