Sécurité de l’intégration clR
S'applique à :SQL Server
Le modèle de sécurité de l’intégration de SQL Server à .NET Framework Common Language Runtime (CLR) gère et sécurise l’accès entre différents types d’objets CLR et non CLR exécutés dans SQL Server. Ces objets peuvent être appelés à partir d’une instruction Transact-SQL ou d’un autre objet CLR s’exécutant sur le serveur. Les appels entre objets portent le nom de liens. Les types de vérifications de sécurité effectués sur ces objets dépendent des types de liens impliqués.
Le modèle de sécurité d'intégration du CLR a les objectifs suivants :
Par défaut, l’exécution du code utilisateur managé sur SQL Server ne doit pas compromettre l’intégrité et la stabilité de SQL Server. L’exécution d’opérations qui peuvent compromettre la robustesse de SQL Server doit être protégée par des autorisations de haut niveau appropriées.
Le code utilisateur managé ne doit pas bénéficier d’un accès non autorisé aux données utilisateur ou à d’autres codes utilisateur dans la base de données. Le code défini par l'utilisateur doit s'exécuter sous le contexte de sécurité de la session utilisateur qui l'a appelé et avec les privilèges corrects pour ce contexte de sécurité.
Il doit y avoir des contrôles pour restreindre le code utilisateur à accéder à toute ressource située à l'extérieur du serveur, de sorte qu'il soit utilisé strictement pour l'accès aux données et le calcul locaux.
Le code défini par l’utilisateur ne doit pas être en mesure d’obtenir un accès non autorisé aux ressources système en vertu de l’exécution dans le processus SQL Server.
SQL Server intègre désormais le modèle de sécurité basé sur l’utilisateur de SQL Server avec le modèle de sécurité basé sur l’accès au code du CLR. Quelques-uns des avantages offerts par cette approche combinée de la sécurité sont discutés dans cette section.
Dans cette section
Le tableau suivant répertorie les articles de cette section.
Article | Description |
---|---|
de sécurité d’accès au code d’intégration CLR | Décrit le modèle de sécurité d’accès au code (CAS) pour le code managé |
attributs de protection de l’hôte et de programmation d’intégration CLR | Fournit des informations sur les valeurs d’attribut de protection de l’hôte (HPA) qui ne sont pas autorisées dans les assemblys SAFE et EXTERNAL_ACCESS |
emprunt d’identité et informations d’identification pour les connexions | Décrit comment des éléments de code utilisateur peuvent s’appeler les uns les autres dans SQL Server |
Domaines d’application et sécurité de l’intégration du CLR | Décrit comment les assemblys sont chargés dans des domaines d’application |