ADD SIGNATURE (Transact-SQL)
Data aggiornamento: 17 luglio 2006
Aggiunge una firma digitale a una stored procedure, una funzione, un assembly o un trigger.
Convenzioni della sintassi Transact-SQL
Sintassi
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
Argomenti
- module_class
Classe del modulo a cui viene aggiunta la firma. L'impostazione predefinita per i moduli definiti a livello di ambito dello schema è OBJECT.
- module_name
Nome di una stored procedure, una funzione, un assembly o un trigger da firmare o controfirmare.
- CERTIFICATE cert_name
Nome di un certificato con cui firmare o controfirmare la stored procedure, la funzione, l'assembly o il trigger.
- WITH PASSWORD ='password'
Password necessaria per decrittografare la chiave privata del certificato o della chiave asimmetrica. Questa clausola è necessaria solo se la chiave privata non è protetta tramite la chiave master del database.
- SIGNATURE = signed_blob
Specifica l'oggetto BLOB (Binary Large Object) firmato del modulo. Questa clausola risulta utile se si desidera fornire un modulo senza fornire la chiave privata. Se si utilizza questa clausola, sono necessari solo il modulo, la firma e la chiave pubblica per aggiungere l'oggetto BLOB firmato a un database. signed_blob è l'oggetto BLOB in formato esadecimale.
- ASYMMETRIC KEY Asym_Key_Name
Nome di una chiave asimmetrica con cui firmare o controfirmare la stored procedure, la funzione, l'assembly o il trigger.
Osservazioni
Il modulo che viene firmato o controfirmato e il certificato o la chiave asimmetrica utilizzati per la firma devono esistere già. Ogni carattere del modulo è utilizzato nel calcolo della firma, inclusi gli avanzamenti di riga e i ritorni a capo iniziali.
Un modulo può essere firmato e controfirmato da un numero qualsiasi di certificati e chiavi simmetriche.
La firma di un modulo viene eliminata se il modulo viene modificato.
Se un modulo contiene una clausola EXECUTE AS, nel processo di firma viene incluso anche l'ID di protezione (SID) dell'entità.
Attenzione: |
---|
È consigliabile utilizzare la firma del modulo solo per concedere le autorizzazioni, mai per negarle o revocarle. |
Le informazioni sulle firme sono visibili nella vista del catalogo sys.crypt_properties.
Autorizzazioni
Sono richieste l'autorizzazione ALTER per l'oggetto e l'autorizzazione CONTROL per il certificato o la chiave asimmetrica. Se una chiave privata associata è protetta tramite una password, è necessario che anche l'utente disponga della password.
Esempi
Nell'esempio seguente la stored procedure HumanResources.uspUpdateEmployeeLogin
viene firmata tramite il certificato HumanResourcesDP
.
USE AdventureWorks;
ADD SIGNATURE TO HumanResources.uspUpdateEmployeeLogin
BY CERTIFICATE HumanResourcesDP;
GO
Vedere anche
Riferimento
sys.crypt_properties (Transact-SQL)
DROP SIGNATURE (Transact-SQL)
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
17 luglio 2006 |
|