Udostępnij za pośrednictwem


Atrybuty ochrony hosta i integracji CLR programowania

Common language runtime (CLR) udostępnia mechanizm adnotacji zarządzanych interfejsów programowania aplikacji (API), które są częścią.NET Framework z niektórych atrybutów, które mogą być przydatne do hosta CLR, takich jak SQL Server, począwszy od SQL Server 2005.Przykładami takich atrybutów ochrony hosta (HPAs):

  • SharedState, wskazuje, czy interfejs API udostępnia możliwość tworzenia i zarządzania udostępnione stan (na przykład klasy statyczne pola).

  • Synchronization, która wskazuje, czy interfejs API udostępnia możliwość wykonywania synchronizacji wątków.

  • ExternalProcessMgmt, która wskazuje, czy interfejs API udostępnia sposobem kontrolowania procesu hosta.

Biorąc pod uwagę te atrybuty SQL Server Określa listę HPAs, które są niedozwolone w środowiska obsługiwanego przez zabezpieczenia dostępu kodu (CAS).Wymagania urzędy certyfikacji są określane przez jedną z trzech SQL Server zestawy uprawnień: SAFE, EXTERNAL_ACCESS, or UNSAFE.Określić jeden z tych trzech poziomów ochrony podczas wirtualny plik dziennika jest zarejestrowany na serwerze, używając CREATE ASSEMBLY instrukcja.Kod wykonywany w SAFE lub EXTERNAL_ACCESS zestawy uprawnień należy uniknąć niektórych typów lub członków, których System.Security.Permissions.HostProtectionAttribute zastosowany atrybut.Aby uzyskać więcej informacji, zobacz Tworzenie zestawu i Ograniczenia Model programowania integracji CLR.

HostProtectionAttribute Nie jest uprawnienie zabezpieczeń jako sposób na zwiększenie niezawodności, w tym identyfikuje określony kod konstrukcje typy lub metody, że host może uniemożliwić.Korzystanie z HostProtectionAttribute wymusza model programowania, który pomaga chronić stabilność hosta.

Atrybuty ochrony hosta

HPAs zidentyfikować typy lub członków, których nie dopasowanie hosta programowania modelu i reprezentują następujące poziomy zwiększenie niezawodności zagrożenia:

  • W przeciwnym razie są nieszkodliwe.

  • Może prowadzić do destabilization kodu użytkownika serwer zarządzany.

  • Może prowadzić do destabilization procesu serwera sam.

SQL Servernie zezwala na użycie typu lub element członkowski, który ma HostProtectionAttribute , który określa System.Security.Permissions.HostProtectionResource wyliczenia o wartości ExternalProcessMgmt, ExternalThreading, MayLeakOnAbort, SecurityInfrastructure, SelfAffectingProcessMgmnt, SelfAffectingThreading, SharedState, Synchronization, lub UI.Zapobiega to zestawy od wywołującego członków, których włączenie stanu udostępniania, wykonać synchronizację, może spowodować przecieków zasób na zakończenie lub wpływać na integralność SQL Server procesu.

Niedozwolonych typów i członków

Poniższe tematy zidentyfikować typy i członków której HostProtectionResource wartości są zabronione przez SQL Server.

Ostrzeżenie

List w tych tematach zostały wygenerowane z zestawów obsługiwanych wersja 2.0 z dodatkiem SP1.NET Framework.Aby uzyskać więcej informacji, zobacz Obsługiwane.NET Framework bibliotek.

W tej sekcji