Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Gdy klient wykonuje wywołanie metody do obiektu w kolejce, wywołanie jest rzeczywiście wykonywane do rejestratora, który pakuje go jako część komunikatu do serwera. Odbiornik odczytuje komunikat z kolejki i przekazuje go do odtwarzacza. Gracz wywołuje rzeczywisty składnik serwera i wykonuje to samo wywołanie metody. Składnik serwera musi obserwować kontekst wywołania zabezpieczeń klienta (a nie kontekst wywołania zabezpieczeń odtwarzacza), gdy gracz wykonuje wywołanie metody. Rejestrator marshaluje kontekst wywołania zabezpieczeń klienta do komunikatu, a odtwarzacz odłącza go na serwerze przed wywołaniem metody. Jeśli chodzi o obiekt serwera, nie ma różnicy w kontekście zabezpieczeń między bezpośrednim wywołaniem od klienta a pośrednim wywołaniem z odtwarzacza. W szczególności metody wywoływane są wykonywane z uprawnieniami nadawcy.
Składnik COM+ w kolejce obsługuje semantyka zabezpieczeń oparta na rolach, podobnie jak inne składniki utworzone do użycia z aplikacjami COM+. Składniki aplikacji w kolejce mogą zatem używać interfejsów programowych do odnajdywania członkostwa w roli obiektu wywołującego (ISecurityCallContext::IsCallerInRole) lub określonego użytkownika (ISecurityCallContext::IsUserInRole). Zaleca się, aby każdy składnik w kolejce z potencjalnym wpływem na bezpieczeństwo używał tych interfejsów do jawnego sprawdzania poświadczeń nadawcy.
Tożsamość wywołująca to tożsamość skojarzona z wywołaniem metody. Tożsamość wywołująca jest używana przez zabezpieczenia oparte na rolach i jest obecna w kontekście wywołania zabezpieczeń. W składnikach w kolejce tożsamość obiektu wywołującego jest reprezentowana jako dane w komunikacie kolejkowania komunikatów. Kolejkowanie komunikatów uwierzytelnia tożsamość nadawcy wiadomości. Gdy tożsamość osoby wywołującej i tożsamość nadawcy komunikatów są takie same, kolejkowanie komunikatów uwierzytelnia zarówno komunikat, jak i obiekt wywołujący. Jest to zwykły przypadek.
Nuta
Składniki com+ w kolejce nie obsługują zabezpieczeń w stylu personifikacji, co umożliwia serwerowi uzyskanie tokenu dostępu odpowiadającego tożsamości klienta i użycie go do przeprowadzania kontroli dostępu lub wykonywania działań w kontekście zabezpieczeń klienta.
Gdy obiekt wywołujący składnika w kolejce wchodzi w interakcję ze składnikiem za pośrednictwem rejestratora poza procesem, tożsamości obiektu wywołującego i nadawcy komunikatów (rejestratora) mogą być różne. W takim przypadku składniki com+ kolejkowane sprawdza, czy nadawca komunikatów jest członkiem roli Zaufanego użytkownika QC na serwerze. Ponadto rejestrator out-of-process wymaga certyfikatu uwierzytelniania, ponieważ jest uwierzytelniany przez kolejkowanie komunikatów.
Członkowie roli zaufanego użytkownika QC mogą określić dowolną tożsamość, co oznacza, że złośliwy członek może wykonać wywołanie składnika w kolejce z podwyższonym poziomem uprawnień. Dlatego zaleca się, aby liczba takich użytkowników była utrzymywana do minimum bezwzględnego.
Ze względu na ryzyko zaawansowanego ataku skojarzonego z dowolnym mechanizmem, który propaguje tożsamość w sieci, a także ryzyko prostego ataku typu "odmowa usługi", zalewając kolejki żądaniami niewyświetalnymi, zaleca się wdrożenie usługi składników COM+ w kolejce tylko w sieci zaufanych hostów — na przykład w sieci prywatnej lub wirtualnej sieci prywatnej albo za odpowiednio skonfigurowaną zaporą.
Składniki w kolejce com+ są uruchamiane za pośrednictwem modelu DCOM, dzięki czemu można chronić integralność i tajemnicę wywołań metod w kolejce, wybierając prywatność pakietów jako poziom uwierzytelniania wywołań ustawienie na karcie Zabezpieczenia na karcie właściwości aplikacji w kolejce arkusza.
Tematy pokrewne
-
Określanie protokołu uwierzytelniania