Värdskyddsattribut och CLR-integreringsprogrammering
gäller för:SQL Server
Common Language Runtime (CLR) tillhandahåller en mekanism för att kommentera api:er (Managed Application Programming Interfaces) som ingår i .NET Framework. Dessa attribut kan vara av intresse för en värd för CLR, till exempel SQL Server. Exempel på sådana värdskyddsattribut (HPA) är:
SharedState
, som anger om API:et gör det möjligt att skapa eller hantera delat tillstånd (till exempel statiska klassfält).Synchronization
, som anger om API:et gör det möjligt att utföra synkronisering mellan trådar.ExternalProcessMgmt
, som anger om API:et visar ett sätt att styra värdprocessen.
Med dessa attribut anger SQL Server en lista över HPA:er som inte tillåts i den värdbaserade miljön via kodåtkomstsäkerhet (CAS). CAS-kraven anges av en av tre SQL Server-behörighetsuppsättningar: SAFE
, EXTERNAL_ACCESS
eller UNSAFE
. En av dessa tre säkerhetsnivåer anges när sammansättningen registreras på servern med hjälp av instruktionen CREATE ASSEMBLY
. Kod som körs i behörighetsuppsättningarna SAFE
eller EXTERNAL_ACCESS
måste undvika vissa typer eller medlemmar som har System.Security.Permissions.HostProtectionAttribute
-attributet tillämpat. Mer information finns i Create an assembly and CLR integration programming model restrictions.
HostProtectionAttribute
är inte en säkerhetsbehörighet så mycket som ett sätt att förbättra tillförlitligheten, eftersom den identifierar specifika kodkonstruktioner, antingen typer eller metoder, som värden kanske inte tillåter. Användningen av HostProtectionAttribute
framtvingar en programmeringsmodell som skyddar värdens stabilitet.
Värdskyddsattribut
HPA identifierar typer eller medlemmar som inte passar värdprogrammeringsmodellen och representerar följande ökande nivåer av tillförlitlighetshot:
- Är annars godartade.
- Kan leda till destabilisering av serverhanterad användarkod.
- Kan leda till destabilisering av själva serverprocessen.
SQL Server tillåter inte användning av en typ eller medlem som har en HostProtectionAttribute
som anger en System.Security.Permissions.HostProtectionResource
uppräkning med värdet ExternalProcessMgmt
, ExternalThreading
, MayLeakOnAbort
, SecurityInfrastructure
, SelfAffectingProcessMgmt
, SelfAffectingThreading
, SharedState
, Synchronization
, Synchronization
eller . Detta förhindrar att sammansättningarna anropar medlemmar som aktiverar delningstillstånd, utför synkronisering, kan orsaka en resursläcka vid avslutning eller påverka integriteten i SQL Server-processen.
Otillåtna typer och medlemmar
Följande artiklar identifierar typer och medlemmar vars HostProtectionResource
värden SQL Server inte tillåter.
Listorna i dessa artiklar genererades från de sammansättningar som stöds. Mer information finns i .NET Framework-bibliotek som stöds.
I det här avsnittet
Artikel | Beskrivning |
---|---|
Otillåtna typer och medlemmar i Microsoft.VisualBasic.dll | Visar de typer och medlemmar i Microsoft.VisualBasic.dll vars HPA-värden inte tillåts. |
Otillåtna typer och medlemmar i mscorlib.dll | Visar de typer och medlemmar i mscorlib.dll vars HPA-värden inte tillåts. |
Otillåtna typer och medlemmar i System.dll | Visar de typer och medlemmar i System.dll vars HPA-värden inte tillåts. |
Otillåtna typer och medlemmar i System.Data.dll | Visar de typer och medlemmar i System.Data.dll vars HPA-värden inte tillåts. |
Otillåtna typer och medlemmar i System.Core.dll | Visar de typer och medlemmar i System.Core.dll vars HPA-värden inte tillåts. |