Concepts de sécurité COM+
COM+ fournit plusieurs fonctionnalités de sécurité que vous pouvez utiliser pour protéger vos applications COM+, allant des services que vous configurez administrativement aux API que vous pouvez appeler dans le code.
Dans la mesure du possible, pour les applications COM+, il est préférable d’utiliser la sécurité automatique, telle que la sécurité déclarative basée sur les rôles et l’authentification, plutôt que de configurer la sécurité au sein des composants. L’utilisation de la sécurité automatique facilite l’écriture et la maintenance des composants, facilite la conception de la sécurité dans l’ensemble d’une application et, étant donné qu’elle est configurée administrativement, il est plus facile de modifier la stratégie de sécurité d’une application. Ces services de sécurité automatiques vous permettent de laisser toutes les fonctionnalités liées à la sécurité hors de vos composants. Lorsque vous pouvez activer les services et les configurer de manière appropriée, COM+ gère les détails de l’application de la stratégie de sécurité que vous spécifiez.
Toutefois, lorsque les services de sécurité automatiques dans COM+ ne font pas exactement ce que vous avez besoin d’eux à faire, vous pouvez les étendre en s’appuyant sur la plateforme de sécurité automatique fournie par COM+. Dans les cas où vous choisissez de ne pas utiliser la sécurité automatique ou si vous souhaitez l’utiliser, mais que vous devez l’utiliser pour répondre aux exigences de sécurité de votre application, vous disposez des options suivantes pour configurer la sécurité par programme :
- Sécurité programmatique basée sur les rôles, par exemple, vérification des rôles, qui est disponible lorsque la sécurité basée sur les rôles est activée pour votre application.
- Emprunt d’identité : lorsque vous souhaitez utiliser l’identité d’un client pour accéder à une ressource protégée.
- Fonctionnalités d’audit basées sur les informations de contexte d’appel de sécurité, également disponibles lorsque la sécurité basée sur les rôles est activée.
Les mécanismes que vous utilisez pour protéger une application donnée dépendent des exigences particulières de cette application. Certains choix de sécurité peuvent affecter la façon dont vous écrivez des composants, et d’autres peuvent affecter considérablement la conception de l’application. Avant de prendre des décisions sur la façon d’implémenter une stratégie de sécurité pour une application, vous devez prendre en compte ses exigences de sécurité dans le contexte de sa conception globale (exigences de performances, accès aux données, conception physique) et choisir la combinaison la plus appropriée de fonctionnalités de sécurité. Pour plus d’informations sur l’implémentation de la sécurité programmatique, consultez Sécurité des composants programmatiques.
De brèves descriptions des catégories, fonctionnalités et problèmes de sécurité COM+ sont fournies ici, avec des liens vers les rubriques de cette section qui fournissent une présentation détaillée de chacun des domaines importants.
Notes
Bien que cela ne soit pas abordé dans cette section, les composants mis en file d’attente rencontrent également des problèmes particuliers liés aux fonctionnalités de sécurité disponibles. Pour plus d’informations, consultez Sécurité des composants mis en filed’attente et Développement de composants mis en file d’attente.
Sécurité basée sur les rôles
La sécurité basée sur les rôles est la fonctionnalité centrale de la sécurité des applications COM+. À l’aide de rôles, vous pouvez construire administrativement une stratégie d’autorisation pour une application, en choisissant (au niveau de la méthode, si nécessaire) quels utilisateurs peuvent accéder aux ressources. En outre, les rôles fournissent une infrastructure pour l’application de la vérification de sécurité dans le code si votre application nécessite un contrôle d’accès plus précis.
La sécurité basée sur les rôles repose sur un mécanisme général qui vous permet de récupérer des informations de sécurité concernant tous les appelants amont dans la chaîne d’appels à votre composant. Cette fonctionnalité est particulièrement utile si vous souhaitez effectuer un audit et une journalisation détaillés. Pour obtenir une description des fonctionnalités d’audit fournies par COM+, consultez Accès aux informations de contexte d’appel de sécurité.
Pour obtenir une description des problèmes de sécurité et d’administration basés sur les rôles que vous devez prendre en compte lors de son utilisation, consultez Administration de la sécurité basée sur les rôles.
Client Authentication (Authentification du client)
Avant de pouvoir autoriser les clients à accéder aux ressources, vous devez être certain qu’ils sont bien ceux qu’ils prétendent être. Pour activer cette vérification d’identité, COM+ fournit des services d’authentification. Bien que ces services soient en fait fournis à un niveau plus fondamental par COM et Microsoft Windows, une application COM+ vous permet simplement d’activer le service d’authentification administrativement afin qu’il fonctionne sous les couvertures, en toute transparence pour l’application. Pour obtenir une description des services d’authentification, consultez Authentification client.
Emprunt d’identité et délégation du client
Dans certains cas, votre application doit effectuer un travail pour le compte d’un client à l’aide de l’identité du client, par exemple lors de l’accès à une base de données qui va authentifier le client d’origine. Cela nécessite que votre application emprunte l’identité du client. COM+ fournit des installations pour permettre différents niveaux d’emprunt d’identité. L’emprunt d’identité est configuré administrativement, mais vous devez également fournir une prise en charge de l’emprunt d’identité avec le code des composants de votre application. Pour obtenir une description de l’emprunt d’identité et des problèmes liés à son utilisation, consultez Emprunt d’identité et délégation du client.
Utilisation de la stratégie de restriction logicielle dans COM+
Une stratégie de restriction logicielle permet d’exécuter du code non approuvé, et donc potentiellement dangereux, dans un environnement contraint afin qu’il ne puisse pas abuser des privilèges de l’utilisateur. Pour ce faire, il attribue des niveaux de confiance aux fichiers que l’utilisateur peut exécuter. Par exemple, certains fichiers système peuvent être entièrement approuvés et bénéficier d’un accès illimité aux privilèges de l’utilisateur, tandis qu’un fichier téléchargé à partir d’Internet peut être complètement non approuvé et donc autorisé à s’exécuter uniquement dans un environnement restreint où il n’est pas autorisé à utiliser des privilèges utilisateur sensibles à la sécurité.
La stratégie de restriction logicielle à l’échelle du système est contrôlée par l’outil d’administration Stratégie de sécurité locale, qui permet aux administrateurs de configurer des niveaux de confiance pour des fichiers individuels. Toutefois, toutes les applications serveur COM+ s’exécutent dans le fichier dllhost.exe. Par conséquent, COM+ permet de spécifier la stratégie de restriction logicielle pour chaque application serveur afin qu’elle n’ait pas besoin de dépendre de la stratégie de restriction du fichier dllhost.exe. Pour une discussion sur l’utilisation de la stratégie de restriction logicielle dans COM+, consultez Utilisation de la stratégie de restriction logicielle dans COM+.
Sécurité des applications de bibliothèque
Les applications de bibliothèque ont des considérations de sécurité particulières. Étant donné que ces applications s’exécutent dans le processus du client, elles sont affectées par la sécurité appliquée par le processus d’hébergement, alors qu’elles ne peuvent pas contrôler la sécurité au niveau du processus. Pour obtenir une description des facteurs à prendre en compte pour les applications de bibliothèque, consultez Library Application Security.
Sécurité des applications multiniveau
Les applications COM+ sont généralement des applications de niveau intermédiaire ; Autrement dit, ils déplacent des informations entre les clients et les ressources back-end telles que les bases de données. Des choix difficiles peuvent être impliqués dans la détermination de l’endroit où la sécurité doit être appliquée et dans quelle mesure. La sécurité implique par nature des compromis en matière de performances. Certaines des plus graves d’entre elles se produisent lorsque vous devez appliquer la vérification de sécurité à la fois au niveau des données et au niveau intermédiaire. Pour une discussion sur les problèmes à prendre en compte, consultez Sécurité des applications multiniveau.
Rubriques connexes