Partager via


Sécurité de l'intégration du CLR

Le modèle de sécurité du Common Language Runtime (CLR) .NET Framework gère et sécurise l’accès entre différents types d’objets CLR et non CLR s’exécutant dans l’instruction Transact-SQL ou 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, exécutez le code utilisateur managé sur SQL Server. L’exécution d’opérations susceptibles de compromettre la robustesse de SQL Server doit être protégée par des autorisations générales appropriées.

  • Le code utilisateur managé ne doit pas accéder de façon non autorisée aux données utilisateur ou autre code 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 raison de son exécution dans le processus de SQL Server.

SQL Server avec le modèle de sécurité basé sur l’accès du code du CLR. Quelques-uns des avantages offerts par cette approche combinée de la sécurité sont discutés dans cette section.

Le tableau suivant décrit les rubriques de cette section.

Sécurité d'accès du code de l'intégration du CLR
Discute du modèle de sécurité d'accès du code pour le code managé.

Attributs de protection de l'hôte et programmation de l'intégration CLR
Fournit des informations à propos des valeurs d'attributs de protection de l'hôte (HPA) interdites dans les assemblys SAFE et EXTERNAL_ACCESS.

Liens dans la sécurité d'intégration du CLR
Décrit comment des éléments de code utilisateur peuvent s’appeler dans SQL Server.

Emprunt d'identité et sécurité de l'intégration du CLR
Discute la manière dont le code managé accède aux ressources externes à l'aide de l'emprunt d'identité.

Autorisation d'appelants partiellement approuvés
Discute des problèmes qui surviennent lorsqu'une méthode managée appelle une méthode dans une classe contenue dans un autre assembly.

Domaines d'application et sécurité de l'intégration du CLR
Décrit la façon dont les assemblys sont chargés dans les domaines d'application.

Voir aussi

Gestion des assemblys d'intégration du CLR