Delen via


CLR-integratiebeveiliging

van toepassing op:SQL Server-

Het beveiligingsmodel van de SQL Server-integratie met .NET Framework Common Language Runtime (CLR) beheert en beveiligt de toegang tussen verschillende typen CLR- en niet-CLR-objecten die worden uitgevoerd in SQL Server. Deze objecten kunnen worden aangeroepen vanuit een Transact-SQL-instructie of een ander CLR-object dat op de server wordt uitgevoerd. De aanroepen tussen objecten worden koppelingen genoemd. De typen beveiligingscontroles die op deze objecten worden uitgevoerd, zijn afhankelijk van de typen koppelingen die betrokken zijn.

Het CLR-integratiebeveiligingsmodel heeft de volgende doelen:

  • Het uitvoeren van beheerde gebruikerscode op SQL Server mag standaard geen inbreuk maken op de integriteit en stabiliteit van SQL Server. Het uitvoeren van bewerkingen die mogelijk inbreuk maken op de robuustheid van SQL Server, moet worden beveiligd met de juiste machtigingen op hoog niveau.

  • Beheerde gebruikerscode mag geen onbevoegde toegang krijgen tot gebruikersgegevens of andere gebruikerscode in de database. Door de gebruiker gedefinieerde code moet worden uitgevoerd onder de beveiligingscontext van de gebruikerssessie die deze heeft aangeroepen, en met de juiste bevoegdheden voor die beveiligingscontext.

  • Er moeten besturingselementen zijn voor het beperken van gebruikerscode tot toegang tot resources buiten de server, waarbij deze strikt wordt gebruikt voor toegang tot lokale gegevens en berekeningen.

  • Door de gebruiker gedefinieerde code mag geen onbevoegde toegang krijgen tot systeembronnen door uitvoering in het SQL Server-proces.

SQL Server integreert nu het op gebruikers gebaseerde beveiligingsmodel van SQL Server met het beveiligingsmodel op basis van codetoegang van de CLR. In deze sectie worden enkele voordelen van deze gecombineerde benadering van beveiliging besproken.

In deze sectie

De volgende tabel bevat de artikelen in deze sectie.

Artikel Beschrijving
CLR-integratiecodetoegangsbeveiliging Bespreekt het CAS-model (Code Access Security) voor beheerde code
hostbeveiligingskenmerken en het programmeren van CLR-integraties Bevat informatie over de HPA-waarden (Host Protection Attribute) die niet zijn toegestaan in SAFE en EXTERNAL_ACCESS assembly's
imitatie en referenties voor verbindingen Beschrijft hoe stukjes gebruikerscode elkaar kunnen aanroepen in SQL Server
Application Domains en CLR Integration Security Beschrijft hoe assembly's worden geladen in toepassingsdomeinen