Définition du niveau de protection des packages

Vous définissez le niveau de protection d'un package SQL Server 2005 Integration Services (SSIS) lorsque vous commencez son développement dans Business Intelligence Development Studio. Plus tard, lorsque le package est déployé, importé ou exporté à partir de Integration Services dans SQL Server Management Studio, ou copié à partir de Business Intelligence Development Studio vers SQL Server, le magasin de packages SSIS ou le service de système de fichiers, vous pouvez mettre à jour le niveau de protection du package. Par exemple, si vous créez et enregistrez des packages sur vos ordinateurs avec une des options de niveau de protection de la clé utilisateur, vous souhaitez modifier le niveau de protection lorsque vous donnez le package à d'autres utilisateurs, pour qu'ils puissent l'ouvrir.

Le tableau suivant décrit les niveaux de protection fournis par Integration Services. Les valeurs entre parenthèses sont des valeurs de DTSProtectionLevel. Ces valeurs apparaissent dans la fenêtre Propriétés que vous utilisez pour configurer les propriétés de l'objet package lorsque vous travaillez avec les packages dans Business Intelligence Development Studio.

Niveau de protection Description

Ne pas enregistrer les données sensibles (DontSaveSensitive).

Supprime des informations sensibles dans le package lorsqu'il est enregistré. Ce niveau de protection n'effectue pas de chiffrement, mais empêche les propriétés marquées comme sensibles d'être enregistrées avec le package, rendant de ce fait les données sensibles inaccessibles aux autres utilisateurs. Si un utilisateur différent ouvre le package, les informations sensibles sont remplacées par des espaces et l'utilisateur doit fournir les informations sensibles.

Chiffrer toutes les données avec un mot de passe (EncryptAllWithPassword).

Chiffre le package entier à l'aide d'un mot de passe. Le package est chiffré à l'aide d'un mot de passe fourni par l'utilisateur lorsque le package est créé ou exporté. Pour ouvrir le package dans le concepteur SSIS ou exécuter le package à l'aide de l'utilitaire d'invite de commandes dtexec, l'utilisateur doit fournir le mot de passe du package. Sans le mot de passe, l'utilisateur ne peut pas accéder au package ni l'exécuter.

Chiffrer toutes les données avec une clé utilisateur (EncryptAllWithUserKey).

Chiffre tout le package à l'aide d'une clé basée sur le profil utilisateur. Seul le même utilisateur utilisant le même profil peut charger le package. Le package est chiffré à l'aide d'une clé basée sur l'utilisateur qui a créé ou exporté le package. Seul l'utilisateur qui a créé ou exporté le package peut ouvrir celui-ci dans le concepteur SSIS ou l'exécuter à l'aide de l'utilitaire d'invite de commandes dtexec.

Chiffrer les données sensibles avec un mot de passe (EncryptSensitiveWithPassword).

Ne chiffre que les informations sensibles dans le package à l'aide d'un mot de passe. DPAPI est utilisé pour ce chiffrement. Les données sensibles sont enregistrées en tant que partie du package, mais ces données sont chiffrées à l'aide d'un mot de passe fourni par l'utilisateur actuel lorsque le package est créé ou exporté. Pour ouvrir le package dans le concepteur SSIS, l'utilisateur doit fournir le mot de passe du package. Si le mot de passe n'est pas fourni, le package est ouvert sans les données sensibles et l'utilisateur actuel doit fournir de nouvelles valeurs pour les données sensibles. Si l'utilisateur tente d’exécuter le package sans fournir de mot de passe, l'exécution du package échoue. Pour plus d'informations sur les mots de passe et l'exécution de lignes de commande, consultez Utilitaire dtexec.

Chiffrer les données sensibles avec une clé utilisateur (EncryptSensitiveWithUserKey).

Ne chiffre que les informations sensibles dans le package à l'aide de clés basées sur l'utilisateur actuel. Seul le même utilisateur utilisant le même profil peut charger le package. Si un utilisateur différent ouvre le package, les informations sensibles sont remplacées par des espaces et l'utilisateur actuel doit fournir de nouvelles valeurs pour les informations sensibles. Si l'utilisateur tente d’exécuter le package, l'exécution du package échoue. DPAPI est utilisé pour ce chiffrement.

Se fier au serveur pour le chiffrement (ServerStorage)

Protège le package entier à l'aide des rôles de base de données SQL Server. Cette option n'est prise en charge que lorsque le package est enregistré dans la base de données SQL Server msdb. Elle n'est pas prise en charge lorsqu'un package est enregistré dans le système de fichiers à partir de Business Intelligence Development Studio.

Les niveaux de protection de package qui chiffrent les packages à l'aide de mots de passe nécessitent que vous fournissiez également un mot de passe. Si vous changez de niveau de protection en passant d'un niveau qui n'utilise pas de mot de passe à un niveau qui en utilise, un mot de passe vous sera demandé.

Le chiffrement, tel qu'il est utilisé par les niveaux de protection des packages, est effectué au moyen de DPAPI (Microsoft Data Protection API), qui fait partie de l'API de chiffrement (Crypto API).

Integration Services utilise l'algorithme de chiffrement Triple DES avec une longueur de clé de 192 bits, disponible dans la bibliothèque de classe .NET Framework (FCL), pour les niveaux de protection utilisant un mot de passe.

Pour les niveaux de protection utilisant une clé utilisateur, Integration Services utilise les standards DPAPI. Pour plus d'informations sur DPAPI, consultez la bibliothèque MSDN à l'adresse https://msdn.microsoft.com/library (en anglais).

Lorsque vous utilisez le niveau de protection Ne pas enregistrer les données sensibles (DontSaveSensitive), les informations sensibles dans le package ne sont pas enregistrées.

Pour toutes les valeurs, les informations sensibles sont définies comme :

  • La partie mot de passe d'une chaîne de connexion. Cependant, si vous choisissez une option qui chiffre toutes les données, la chaîne de connexion toute entière sera considérée comme sensible.
  • Les nœuds XML générés par la tâche qui sont marqués comme sensibles. Le marquage des nœuds XML est contrôlé par Integration Services et ne peut pas être modifié par les utilisateurs.
  • Toute variable est marquée comme sensible. Le marquage des variables est contrôlé par Integration Services.

Les packages qui sont enregistrés dans la base de données msdb peuvent également être protégés en utilisant des rôles fixes au niveau de la base de données. Integration Services inclut trois rôles fixes au niveau de la base de données pour l'affectation d'autorisations aux packages : db_dtsadmin, db_dtsltduser et db_dtsoperator. Pour plus d'informations, consultez Rôles d'Integration Services et Rôles au niveau de la base de données.

Voir aussi

Tâches

Importation et exportation de packages
Procédure : importer un package à l'aide du service Integration Services
Procédure : exporter un package à l'aide du service Integration Services

Concepts

Packages Integration Services
Observations sur la sécurité pour Integration Services

Aide et Informations

Assistance sur SQL Server 2005