Vue d'ensemble de la sécurité (Integration Services)

La sécurité dans SQL Server Integration Services est constituée de plusieurs couches qui fournissent un environnement de sécurité complet et souple. Ces couches de sécurité incluent l'utilisation de signatures numériques, de propriétés de package, de rôles de base de données SQL Server et d'autorisations de système d'exploitation. La plupart de ces fonctionnalités de sécurité se répartissent dans les catégories suivantes : identité et contrôle d'accès.

Fonctionnalités d'identité

En implémentant des fonctionnalités d'identité dans vos packages, vous pouvez atteindre l'objectif suivant :

**     S'assurer d'ouvrir et d'exécuter uniquement des packages provenant de sources approuvées**.

Pour vous assurer d'ouvrir et d'exécuter uniquement des packages provenant de sources approuvées, vous devez tout d'abord identifier leur source. Pour ce faire, signez les packages avec des certificats. Puis, lorsque vous ouvrez ou exécutez le package, vous pouvez vérifier la présence et la validité des signatures numériques à l'aide d'Integration Services. Pour plus d'informations, consultez Utilisation de signatures numériques avec des packages.

Fonctionnalités de contrôle d'accès

En implémentant des fonctionnalités d'identité dans vos packages, vous pouvez atteindre l'objectif suivant :

**     S'assurer que seuls les utilisateurs autorisés ouvrent et exécutent des packages**.

Pour vous assurer que seuls les utilisateurs autorisés ouvrent et exécutent des packages, vous devez contrôler l'accès aux informations suivantes .

  • Contrôler l'accès au contenu des package, en particulier les données sensibles.

  • Contrôler l'accès aux packages et configurations de package stockés dans SQL Server.

  • Contrôler l'accès aux packages et aux fichiers connexes tels que les configurations, journaux et fichiers de point de vérification stockés dans le système de fichiers.

  • Contrôler l'accès au service Integration Services et aux informations sur les packages que le service affiche dans SQL Server Management Studio.

Contrôle de l'accès au contenu des packages

Pour restreindre l'accès au contenu d'un package, vous pouvez le chiffrer en définissant sa propriété ProtectionLevel. Vous pouvez définir cette propriété au niveau de protection requis par votre package. Par exemple, dans un environnement de développement en équipe, vous pouvez chiffrer un package à l'aide d'un mot de passe uniquement connu des membres de l'équipe qui travaillent sur celui-ci.

Lorsque vous définissez la propriété ProtectionLevel d'un package, Integration Services détecte automatiquement les propriétés sensibles et les gère en fonction du niveau de protection spécifié. Par exemple, vous définissez la propriété ProtectionLevel d'un package à un niveau qui chiffre les informations sensibles à l'aide d'un mot de passe. Pour ce package, Integration Services chiffre automatiquement les valeurs de toutes les propriétés sensibles et n'affichera pas les données correspondantes sans que le mot de passe correct ne soit fourni.

En général, Integration Services identifie des propriétés comme étant sensibles si elles contiennent des informations telles qu'un mot de passe ou une chaîne de connexion, ou si ces propriétés correspondent aux variables ou aux nœuds XML générés par la tâche. Le fait qu'Integration Services considère une propriété comme sensible repose sur le fait que le développeur du composant Integration Services, tel qu'un gestionnaire de connexions ou une tâche, l'a désignée comme sensible. Les utilisateurs ne peuvent pas ajouter de propriétés à, ni en supprimer de, la liste des propriétés considérées sensibles. Si vous écrivez des tâches personnalisées, des gestionnaires de connexions ou des composants de flux de données, vous pouvez spécifier les propriétés Integration Services à considérer comme sensibles.

Pour plus d'informations, consultez Définition du niveau de protection des packages.

Contrôle de l'accès aux packages

Vous pouvez enregistrer des packages Integration Services dans la base de données d'une instance de SQL Server ou dans le système de fichiers sous la forme de fichiers XML avec l'extension .dtsx. Pour plus d'informations, consultez Enregistrement des packages.

Enregistrement de packages dans la base de données msdb

L'enregistrement des packages dans la base de données msdb permet d'assurer la sécurité au niveau du serveur, de la base de données et de la table. Dans la base de données msdb, les packages Integration Services sont stockés dans la table sysssispackages, tandis que les packages DTS SQL Server 2000 le sont dans la table sysdtspackages. Les packages étant enregistrés dans les tables sysssispackages et sysdtspackages de la base de données msdb, ils sont automatiquement sauvegardés lors de la sauvegarde de la base de données msdb.

Les packages SQL Server stockés dans la base de données msdb peuvent également être protégés en appliquant des rôles au niveau de la base de données Integration Services. Integration Services inclut trois rôles fixes au niveau de la base de données (db_ssisadmin, db_ssisltduser et db_ssisoperator) permettant de contrôler l'accès aux packages. Un rôle de lecture et d'écriture peut être associé à chaque package. Vous pouvez également définir des rôles personnalisés au niveau de la base de données pour les utiliser dans les packages Integration Services ou SQL Server 2000. Les rôles ne peuvent être implémentés que sur les packages enregistrés dans la base de données msdb d'une instance de SQL Server. Pour plus d'informations, consultez Utilisation des rôles Integration Services.

Important

Pour plus d'informations sur la sécurisation des packages DTS, consultez Sécurisation des packages DTS stockés dans SQL Server.

Enregistrement de packages dans le système de fichiers

Si vous stockez des packages dans le système de fichiers plutôt que dans la base de données msdb, veillez à sécuriser les fichiers de package et les dossiers qui les contiennent.

Contrôle de l'accès aux fichiers utilisés par des packages

Les packages configurés pour utiliser des configurations, des points de contrôle et une journalisation génèrent des informations stockées en dehors du package. Ces informations peuvent être sensibles et doivent être protégées. Les fichiers de point de contrôle ne peuvent être enregistrés que dans le système de fichiers, mais les configurations et les journaux peuvent l'être dans le système de fichiers ou dans les tables d'une base de données SQL Server. Les configurations et les journaux enregistrés dans SQL Server bénéficient de la sécurité SQL Server, mais les informations écrites dans le système de fichiers requièrent une sécurité supplémentaire.

Pour plus d'informations, consultez Contrôle de l'accès aux fichiers utilisés par des packages.

Stockage sécurisé des configurations de package

Les configurations de package peuvent être enregistrées dans une table d'une base de données SQL Server ou dans le système de fichiers.

Les configurations peuvent être enregistrées dans n'importe qu'elle base de données SQL Server, et non pas uniquement dans la base de données msdb. Vous pouvez donc spécifier la base de données qui sert de référentiel de configurations de package. Vous pouvez également spécifier le nom de la table qui contiendra les configurations : Integration Services crée alors automatiquement la table avec la structure correcte. L'enregistrement des configurations dans une table permet d'assurer la sécurité au niveau du serveur, de la base de données et de la table. En outre, les configurations enregistrées dans SQL Server sont automatiquement sauvegardées lors de la sauvegarde de la base de données.

Si vous stockez des configurations dans le système de fichiers plutôt que dans SQL Server, veillez à sécuriser les dossiers qui contiennent les fichiers de configuration de package.

Pour plus d'informations sur les configurations, consultez Configurations du package SSIS.

Contrôle de l'accès au service Integration Services

SQL Server Management Studio utilise le service SQL Server pour établir la liste des packages stockés. Pour empêcher tout utilisateur non autorisé de consulter des informations sur les packages stockées sur des ordinateurs locaux et distants, et par conséquent d'accéder à des informations privées, restreignez l'accès aux ordinateurs qui exécutent le service SQL Server.

Pour plus d'informations, consultez Contrôle de l'accès au service Integration Services.

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que des solutions sélectionnées par la communauté, visitez la page Integration Services sur MSDN ou TechNet :

Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.

Voir aussi

Concepts