Dela via


CLR-integreringssäkerhet

gäller för:SQL Server

Säkerhetsmodellen för SQL Server-integreringen med .NET Framework common language runtime (CLR) hanterar och skyddar åtkomsten mellan olika typer av CLR- och icke-CLR-objekt som körs i SQL Server. Dessa objekt kan anropas från en Transact-SQL-instruktion eller ett annat CLR-objekt som körs på servern. Anropen mellan objekt kallas länkar. Vilka typer av säkerhetskontroller som utförs på dessa objekt beror på vilka typer av länkar som ingår.

CLR-integrationssäkerhetsmodellen har följande mål:

  • Som standard bör körning av hanterad användarkod på SQL Server inte äventyra SQL Server:s integritet och stabilitet. Åtgärder som kan äventyra SQL Server-robustheten bör skyddas med lämpliga behörigheter på hög nivå.

  • Hanterad användarkod får inte obehörig åtkomst till användardata eller annan användarkod i databasen. Användardefinierad kod ska köras under säkerhetskontexten för användarsessionen som anropade den och med rätt behörigheter för den säkerhetskontexten.

  • Det bör finnas kontroller för att begränsa användarkoden från att komma åt resurser utanför servern, och använda den strikt för lokal dataåtkomst och beräkning.

  • Användardefinierad kod ska inte kunna få obehörig åtkomst till systemresurser på grund av att den körs i SQL Server-processen.

SQL Server integrerar nu den användarbaserade säkerhetsmodellen för SQL Server med CLR:s kodåtkomstbaserade säkerhetsmodell. Några av fördelarna med den här kombinerade säkerhetsmetoden beskrivs i det här avsnittet.

I det här avsnittet

I följande tabell visas artiklarna i det här avsnittet.

Artikel Beskrivning
CLR-integrering av Kodåtkomstsäkerhet Diskuterar cas-modellen (code access security) för hanterad kod
Värdskyddsattribut och CLR-integreringsprogrammering Innehåller information om värden för värdskyddsattribut (HPA) som inte tillåts i SAFE och EXTERNAL_ACCESS sammansättningar
personifiering och autentiseringsuppgifter för anslutningar Beskriver hur delar av användarkod kan anropa varandra i SQL Server
Application Domains och CLR Integration Security Beskriver hur sammansättningar läses in i programdomäner