Atributy ochrany hostitelů a programování integrace CLR
platí pro:SQL Server
Modul CLR (Common Language Runtime) poskytuje mechanismus pro přidávání poznámek k programovacím rozhraním spravovaných aplikací (API), která jsou součástí rozhraní .NET Framework. Tyto atributy můžou být zajímavé pro hostitele modulu CLR, jako je SQL Server. Mezi příklady takových atributů ochrany hostitele (HPA) patří:
SharedState
, což označuje, jestli rozhraní API zpřístupňuje schopnost vytvářet nebo spravovat sdílený stav (například statická pole tříd).Synchronization
, který označuje, zda rozhraní API zpřístupňuje schopnost provádět synchronizaci mezi vlákny.ExternalProcessMgmt
, který označuje, jestli rozhraní API zpřístupňuje způsob řízení hostitelského procesu.
Vzhledem k těmto atributům SQL Server určuje seznam hpA, které jsou v hostovaném prostředí zakázány prostřednictvím zabezpečení přístupu kódu (CAS). Požadavky CAS jsou určeny jednou ze tří sad oprávnění SQL Serveru: SAFE
, EXTERNAL_ACCESS
nebo UNSAFE
. Jedna z těchto tří úrovní zabezpečení je zadána při registraci sestavení na serveru pomocí příkazu CREATE ASSEMBLY
. Kód spuštěný v rámci sady oprávnění SAFE
nebo EXTERNAL_ACCESS
se musí vyhnout určitým typům nebo členům, které mají použitý atribut System.Security.Permissions.HostProtectionAttribute
. Další informace najdete v tématu Vytvoření sestavení a omezení programovacího modelu integrace CLR.
HostProtectionAttribute
není oprávnění zabezpečení stejně jako způsob, jak zvýšit spolehlivost, v tom, že identifikuje konkrétní konstrukce kódu, buď typy nebo metody, které může hostitel zakázat. Použití HostProtectionAttribute
vynucuje programovací model, který pomáhá chránit stabilitu hostitele.
Atributy ochrany hostitele
HpA identifikují typy nebo členy, které neodpovídají programovacímu modelu hostitele, a představují následující zvyšující se úrovně hrozby spolehlivosti:
- Jsou jinak neškodné.
- Mohlo by vést k deaktivaci uživatelského kódu spravovaného serverem.
- Mohlo by vést k deaktivaci samotného procesu serveru.
SQL Server zakáže použití typu nebo člena, který má HostProtectionAttribute
, který určuje System.Security.Permissions.HostProtectionResource
výčtu s hodnotou ExternalProcessMgmt
, ExternalThreading
, MayLeakOnAbort
, SecurityInfrastructure
, SelfAffectingProcessMgmnt
, SelfAffectingThreading
, SharedState
, Synchronization
nebo UI
. Tím zabráníte sestavením volat členy, které umožňují stav sdílení, provádět synchronizaci, způsobit únik prostředků při ukončení nebo ovlivnit integritu procesu SQL Serveru.
Nepovolené typy a členy
Následující články identifikují typy a členy, jejichž HostProtectionResource
hodnoty SQL Server nepovoluje.
Seznamy v těchto článcích byly generovány z podporovaných sestavení. Další informace naleznete v tématu Podporované knihovny rozhraní .NET Framework.
V této části
Článek | Popis |
---|---|
nepovolené typy a členy v Microsoft.VisualBasic.dll | Zobrazí seznam typů a členů v Microsoft.VisualBasic.dll, jejichž hodnoty HPA jsou zakázány. |
nepovolené typy a členy v mscorlib.dll | Zobrazí seznam typů a členů v mscorlib.dll, jejichž hodnoty HPA jsou zakázány. |
nepovolené typy a členy v System.dll | Zobrazí seznam typů a členů v System.dll, jejichž hodnoty HPA jsou zakázány. |
nepovolené typy a členy v System.Data.dll | Zobrazí seznam typů a členů v System.Data.dll, jejichž hodnoty HPA jsou zakázány. |
nepovolené typy a členy v System.Core.dll | Zobrazí seznam typů a členů v System.Core.dll, jejichž hodnoty HPA jsou zakázány. |
Související obsah
- zabezpečení přístupu kódu integrace CLR
- omezení programovacího modelu integrace CLR
- Vytvoření sestavení