ADD SIGNATURE (Transact-SQL)

Mis à jour : 17 juillet 2006

Ajoute une signature numérique à une procédure stockée, une fonction, un assembly ou un déclencheur.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

ADD [ COUNTER ] SIGNATURE TO module_class::module_name 
    BY <crypto_list> [ ,...n ]

<crypto_list> ::=
    CERTIFICATE cert_name
    | CERTIFICATE cert_name [ WITH PASSWORD = 'password' ]
    | CERTIFICATE cert_name WITH SIGNATURE = signed_blob 
    | ASYMMETRIC KEY Asym_Key_Name
    | ASYMMETRIC KEY Asym_Key_Name [ WITH PASSWORD = 'password']
    | ASYMMETRIC KEY Asym_Key_Name WITH SIGNATURE = signed_blob

Arguments

  • module_class
    Classe du module auquel la signature est ajoutée. Valeur par défaut pour les modules dont l'étendue concerne le schéma OBJECT.
  • module_name
    Nom d'une procédure stockée, d'une fonction, d'un assembly ou d'un déclencheur à signer ou à contre-signer.
  • CERTIFICATE cert_name
    Nom d'un certificat avec lequel signer ou contre-signer la procédure stockée, la fonction, l'assembly ou le déclencheur.
  • WITH PASSWORD ='password'
    Mot de passe requis pour déchiffrer la clé privée du certificat ou de la clé asymétrique. Cette clause n'est requise que si la clé privée n'est pas protégée par la clé principale de la base de données.
  • SIGNATURE = signed_blob
    Spécifie le BLOB (Binary Large Object) signé du module. Cette clause est utile si vous souhaitez livrer un module sans fournir la clé privée. Dans ce cas, seuls le module, la signature et la clé publique sont nécessaires pour ajouter l'objet BLOB signé à une base de données. signed_blob est l'objet BLOB proprement dit au format hexadécimal.
  • ASYMMETRIC KEY Asym_Key_Name
    Nom d'une clé asymétrique avec laquelle signer ou contre-signer la procédure stockée, la fonction, l'assembly ou le déclencheur.

Notes

Le module signé ou contre-signé et le certificat ou la clé asymétrique utilisés pour la signature doivent déjà exister. Chaque caractère du module est inclus dans le calcul de la signature, y compris les retours chariot et les sauts de ligne.

Un module peut être signé et contre-signé par n'importe quel nombre de certificats et de clés asymétriques.

La signature d'un module est supprimée lorsque ce dernier est modifié.

Si un module contient une clause EXECUTE AS, l'ID de sécurité (SID) de l'entité de sécurité est aussi inclus dans le cadre du processus de signature.

ms181700.Caution(fr-fr,SQL.90).gifAttention :
La signature de module ne doit être utilisée que pour accorder des autorisations, jamais pour en refuser ou en révoquer.

Des informations sur les signatures sont visibles dans l'affichage catalogue sys.crypt_properties.

Autorisations

Nécessite l'autorisation ALTER sur l'objet et l'autorisation CONTROL sur le certificat ou la clé asymétrique. Si une clé privée associée est protégée par un mot de passe, l'utilisateur doit également disposer de ce mot de passe.

Exemple

L'exemple suivant signe la procédure stockée HumanResources.uspUpdateEmployeeLogin avec le certificat HumanResourcesDP.

USE AdventureWorks;
ADD SIGNATURE TO HumanResources.uspUpdateEmployeeLogin 
    BY CERTIFICATE HumanResourcesDP;
GO

Voir aussi

Référence

sys.crypt_properties (Transact-SQL)
DROP SIGNATURE (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

17 juillet 2006

Contenu modifié :
  • Modification des autorisations requises, ajout des assemblys à la liste des entités pouvant être signées et correction de la syntaxe.