Condividi tramite


Sicurezza per l'integrazione con CLR

Il modello di sicurezza di .NET Framework Common Language Runtime (CLR) gestisce e protegge l'accesso tra tipi diversi di oggetti CLR e non CLR in esecuzione all'interno dell'istruzione Transact-SQL o un altro oggetto CLR in esecuzione nel server. Le chiamate tra gli oggetti vengono definite collegamenti. I tipi di controllo della sicurezza eseguiti su questi oggetti dipendono dai tipi di collegamento utilizzati.

Il modello di sicurezza dell'integrazione con CLR presenta gli obiettivi seguenti:

  • Per impostazione predefinita, l'esecuzione del codice utente gestito in SQL Server. L'esecuzione di operazioni che potrebbero compromettere l'affidabilità di SQL Server deve essere protetta da autorizzazioni di alto livello appropriate.

  • Non è consigliabile concedere al codice utente gestito l'accesso non autorizzato ai dati dell'utente o ad altro codice dell'utente nel database. Il codice definito dall'utente deve essere eseguito nel contesto di sicurezza della sessione utente che lo ha richiamato e con i privilegi corretti per il contesto di sicurezza in questione.

  • È necessario effettuare controlli per limitare al codice utente l'accesso alle risorse esterne al server consentendone l'utilizzo esclusivamente per il calcolo e l'accesso ai dati locali.

  • Il codice definito dall'utente non deve essere in grado di ottenere l'accesso non autorizzato alle risorse di sistema grazie all'esecuzione nel processo di SQL Server.

SQL Server con il modello di sicurezza basato sull'accesso al codice di CLR. Alcuni dei vantaggi di questo approccio combinato alla sicurezza vengono esaminati nella presente sezione.

Nella tabella seguente vengono elencati gli argomenti disponibili in questa sezione.

Sicurezza da accesso di codice dell'integrazione con CLR
Viene illustrato il modello di sicurezza da accesso di codice (CAS, Code Access Security) per il codice gestito.

Attributi di protezione host e programmazione dell'integrazione con CLR
Vengono fornite informazioni sui valori di attributi di protezione host che non sono consentiti negli assembly SAFE e EXTERNAL_ACCESS.

Collegamenti nella sicurezza per l'integrazione con CLR
Descrive il modo in cui parti di codice utente possono chiamarsi tra loro in SQL Server.

Rappresentazione e sicurezza per l'integrazione con CLR
Viene illustrato con il codice gestito acceda a risorse esterne utilizzando la rappresentazione.

Accettazione di chiamanti parzialmente attendibili
Vengono illustrati i problemi che si verificano quando un metodo gestito richiama un metodo di una classe contenuta in un altro assembly.

Domini applicazione e sicurezza per l'integrazione con CLR
Viene descritto come caricare gli assembly nei domini applicazione.

Vedere anche

Gestione degli assembly dell'integrazione con CLR