Observations sur la sécurité pour Integration Services

La sécurité dans SQL Server 2005 Integration Services (SSIS) est constituée de plusieurs couches qui fournissent un environnement de sécurité complet et souple. La sécurité de Integration Services associe l'utilisation de propriétés au niveau du package, de rôles de base de données SQL Server, d'autorisations de système d'exploitation et de signatures numériques.

SQL Server 2005 Integration Services (SSIS) implémente la sécurité sur le client et le serveur à l'aide des fonctionnalités de sécurité suivantes :

  • Définition de la propriété ProtectionLevel du package pour spécifier si les données sensibles doivent être protégées par chiffrement ou si les données doivent être supprimées avant l'enregistrement du package.
  • Définition des propriétés ProtectionLevel et PackagePassword du package pour protéger les packages en chiffrant tout ou partie d'un package au moyen de mots de passe ou de clés utilisateur.
  • Contrôle de l'accès aux packages à l'aide de rôles au niveau de la base de données SQL Server.
  • Sécurisation de l'environnement opérationnel en protégeant les emplacements de fichiers et en limitant l'accès aux packages dans SQL Server Management Studio.
  • Garantie de l'intégrité des packages en signant les packages avec des certificats.

Données sensibles

Integration Services prend en charge la protection des données sensibles dans les packages. Généralement, les propriétés identifiées comme sensibles contiennent des informations telles qu'un mot de passe ou une chaîne de connexion. Integration Services définit l'attribut sensible de ces propriétés, qui ne peut pas être modifié. 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 qui doivent traitées par Integration Services en tant que propriétés sensibles.

Integration Services détecte automatiquement les propriétés sensibles et gère ces propriétés en fonction du niveau de protection spécifié du package. Par exemple, dans un package utilisant un niveau de protection qui chiffre les informations sensibles avec un mot de passe, les valeurs de toutes les propriétés qui ont été identifiées comme sensibles sont chiffrées.

Niveau de protection des packages

Vous pouvez chiffrer des packages pour aider à garder secrètes leurs valeurs de propriété en définissant le niveau de protection du package. Les packages comprennent la propriété ProtectionLevel , que vous pouvez définir en fonction du niveau de protection que nécessite votre package. Par exemple, dans un environnement de développement en équipe, un package peut être chiffré à l'aide d'un mot de passe connu des membres de l'équipe qui travaillent sur le package. Pour plus d'informations, consultez Définition du niveau de protection des packages.

Pour plus d'informations, consultez Packages Integration Services et Définition des propriétés d'un package.

Rôles au niveau de la base de données

Integration Services inclut trois rôles fixes au niveau de la base de données : db_dtsadmin, db_dtsltduser et db_dtsoperator pour le contrôle des 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. Les rôles ne peuvent être implémentés que sur les packages enregistrés dans la base de données msdb dans une instance de SQL Server.

Pour plus d'informations, consultez Rôles d'Integration Services.

Stockage des packages

Les packages Integration Services peuvent être enregistrés dans le système de fichiers en tant que fichiers XML en utilisant l'extension de nom de fichiers .dtsx ou dans la base de données msdb dans une instance de SQL Server 2005.

L'enregistrement des packages dans msdb garantit une sécurité au niveau du serveur, de la base de données et de la table. Les packages SQL Server 2005 sont stockés dans la table sysdtspackages90 et les packages SQL Server 2000 sont stockés dans la table sysdtspackages. En outre, les packages enregistrés dans sysdtspackages90 et sysdtspackages sont automatiquement sauvegardés lorsque vous sauvegardez msdb. Les packages SQL Server 2005 stockés dans la table sysdtspackages90 sont également protégés par les rôles au niveau de la base de données.

Si vous ne stockez pas de packages dans msdb, veillez à sécuriser les dossiers dans le système de fichiers contenant les fichiers du package.

Pour plus d'informations, consultez Enregistrement des packages.

Stockage des configurations de package

Les configurations de package peuvent être enregistrées dans le système de fichiers ou dans une table d'une base de données SQL Server 2005. Les configurations peuvent être enregistrées dans n'importe quelle base de données SQL Server 2005 et pas seulement dans msdb, ce qui vous permet de désigner la base de données servant de référentiel pour les 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 offre une 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 lorsque vous sauvegardez la base de données.

Si vous ne stockez pas de configurations dans SQL Server, veillez à sécuriser les dossiers dans le système de fichiers contenant les fichiers de configuration de package.

Pour plus d'informations, consultez Configurations de package.

Dossiers Integration Services

SQL Server Management Studio utilise le service SQL Server pour établir la liste des packages en cours d'exécution. Il est important de restreindre l'accès aux ordinateurs qui exécutent un service SQL Server pour empêcher les utilisateurs non autorisés d'énumérer les packages stockés sur des sites locaux ou distants et d'accéder à des informations privées. Pour plus d'informations, consultez Protection de l'accès aux packages en cours d'exécution.

Fichiers utilisés par les 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 être enregistrés dans le système de fichiers ou bien dans des tables de bases de données SQL Server. Les configurations et les journaux qui sont enregistrés dans SQL Server sont protégés par la sécurité SQL Server, mais les informations écrites dans les fichiers nécessitent une sécurité supplémentaire. Pour plus d'informations, consultez Protection des fichiers utilisés par des packages.

Signatures numériques

Vous pouvez signer un package avec un certificat. Vous pouvez configurer le package pour vérifier la signature lorsque le package est chargé et pour émettre un avertissement lorsque le package a été modifié. Les packages comprennent la propriété CheckSignatureOnLoad, que vous définissez à True pour que la signature numérique sur le package soit vérifiée chaque fois que le package est chargé. Pour plus d'informations, consultez Signature de packages avec des certificats.

Voir aussi

Tâches

Configuration d'un pare-feu Windows pour accéder à Integration Services

Concepts

SQL Server Integration Services

Aide et Informations

Assistance sur SQL Server 2005