Signature de packages avec des certificats

Mis à jour : 12 décembre 2006

Un package SQL Server 2005 Integration Services (SSIS) peut être signé avec un certificat et configuré de telle sorte que la signature soit vérifiée à l'exécution avant le chargement du package. Les propriétés du package, CheckSignatureOnLoad et CertificateObject, indiquent si un certificat doit être vérifié et spécifient le certificat utilisé pour la signature du package. Le certificat utilisé pour signer le package doit être activé pour la signature du code.

Integration Services met à votre disposition une valeur de Registre qui vous permet de gérer la stratégie d'une organisation en matière de chargement des packages signés et non signés. La valeur du Registre peut également gérer les signatures non approuvées des packages signés. En ce qui concerne l'état des signatures utilisées pour signer les packages, la valeur du Registre BlockedSignatureStates emploie les définitions suivantes :

  • Une signature valide est une signature qui peut être lue correctement.
  • Une signature non valide est une signature dont la somme de contrôle déchiffrée (hachage unidirectionnel du code de package chiffré par une clé privée) ne correspond pas à la somme de contrôle déchiffrée calculée dans le cadre du chargement des packages Integration Services.
  • Une signature approuvée est une signature créée à l'aide d'un certificat numérique signé par une autorité de certification racine de confiance. Ce paramètre n'exige pas la recherche du signataire dans la liste Éditeurs approuvés de l'utilisateur.
  • Une signature non approuvée est une signature qui ne peut être vérifiée en tant que signature émise par une autorité de certification racine de confiance ou bien une signature qui n'est pas actuelle.

Pour utiliser la valeur du Registre afin d'empêcher le chargement des packages si ceux-ci ne sont pas signés ou qu'ils portent une signature non valide ou non approuvée, vous devez ajouter la valeur BlockedSignatureStates DWORD à la clé de Registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTS et spécifier la valeur 0, 1, 2 ou 3.

Le tableau suivant répertorie les valeurs valides des données DWORD et les stratégies correspondantes.

Valeur Description

0

Pas de restriction administrative.

1

Bloquer les signatures non valides.

Ce paramètre ne bloque pas les packages non signés.

2

Bloquer les signatures non valides et non approuvées.

Ce paramètre ne bloque pas les packages non signés mais bloque les signatures générées automatiquement.

3

Bloquer les signatures non valides et non approuvées et les packages non signés.

Ce paramètre bloque lui aussi les signatures générées automatiquement.

Si le type de la valeur BlockedSignatureStates du Registre est DWORD et que la valeur n'est pas définie à 0, 1, 2 ou 3, Integration Services traite cette valeur comme si elle était définie à 3. Si la valeur BlockedSignatureStates n'est pas définie à DWORD, Integration Services la traite comme si elle était définie à DWORD avec la valeur 0.

ms141174.note(fr-fr,SQL.90).gifRemarque :
Le paramètre recommandé pour BlockedSignatureStates est 3. Ce paramètre offre une protection maximale contre des packages non signés ou des signatures non valides ou non approuvées. Néanmoins, ce paramètre recommandé peut ne pas convenir dans tous les cas. Pour plus d'informations sur la manière de signer des ressources numériques, consultez la rubrique d'introduction à la signature de codes (en anglais) dans MSDN Library.

Pour signer un package

Voir aussi

Concepts

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

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Nouveau contenu :
  • Ajout d'une recommandation pour la valeur de Registre BlockedSignatureStates.
  • Ajout d'un lien vers plus d'informations sur la signature.

14 avril 2006

Nouveau contenu :
  • Ajout d'informations sur la valeur de Registre BlockedSignatureStates.
  • Ajout d'un lien vers une rubrique Procédure consacrée à l'implémentation de BlockedSignatureStates.