ALTER ASYMMETRIC KEY (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Permet de modifier les propriétés d'une clé asymétrique.

Conventions de la syntaxe Transact-SQL

Notes

Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.

Syntaxe

ALTER ASYMMETRIC KEY Asym_Key_Name <alter_option>  
  
<alter_option> ::=  
      <password_change_option>   
    | REMOVE PRIVATE KEY   

<password_change_option> ::=  
    WITH PRIVATE KEY ( <password_option> [ , <password_option> ] )  

<password_option> ::=  
      ENCRYPTION BY PASSWORD = 'strongPassword'  
    | DECRYPTION BY PASSWORD = 'oldPassword'  

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

Arguments

Asym_Key_Name
Nom sous lequel la clé asymétrique est connue dans la base de données.

REMOVE PRIVATE KEY
Permet de supprimer la clé privée de la clé asymétrique, sans supprimer la clé publique.

WITH PRIVATE KEY
Modifie la protection de la clé privée.

ENCRYPTION BY PASSWORD ='strongPassword'
Spécifie un nouveau mot de passe pour protéger la clé privée. password doit satisfaire aux critères de la stratégie de mot de passe Windows de l’ordinateur qui exécute l’instance de SQL Server. Si cette option est omise, la clé privée sera chiffrée à l'aide de la clé principale de base de données.

DECRYPTION BY PASSWORD ='oldPassword'
Spécifie l'ancien mot de passe au moyen duquel la clé privée est actuellement protégée. Cette option n'est pas requise si la clé privée est chiffrée à l'aide de la clé principale de base de données.

Remarques

Si aucune clé principale de base de données n'existe, l'option ENCRYPTION BY PASSWORD est requise et l'opération échouera si aucun mot de passe n'est fourni. Pour plus d’informations sur la création d’une clé principale de base de données, consultez CREATE MASTER KEY (Transact-SQL).

Vous pouvez utiliser ALTER ASYMMETRIC KEY pour modifier la protection de la clé privée en spécifiant des options PRIVATE KEY, comme l'illustre le tableau ci-dessous.

Changer la protection ENCRYPTION BY PASSWORD DECRYPTION BY PASSWORD
De l'ancien mot de passe au nouveau mot de passe Obligatoire Obligatoire
Du mot de passe à la clé principale Omettre Obligatoire
De la clé principale au mot de passe Obligatoire Omettre

La clé principale de base de données doit être ouverte pour pouvoir être utilisée pour protéger une clé privée. Pour plus d’informations, consultez OPEN MASTER KEY (Transact-SQL).

Pour modifier la propriété d’une clé asymétrique, utilisez ALTER AUTHORIZATION.

Autorisations

Requiert l'autorisation CONTROL sur la clé asymétrique si la clé privée doit être supprimée.

Exemples

R. Modification du mot de passe de la clé privée

Dans l'exemple ci-dessous, le mot de passe utilisé pour protéger la clé privée de la clé asymétrique PacificSales09 est modifié. Le nouveau mot de passe est <enterStrongPasswordHere>.

ALTER ASYMMETRIC KEY PacificSales09   
    WITH PRIVATE KEY (  
    DECRYPTION BY PASSWORD = '<oldPassword>',  
    ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>');  
GO  

B. Suppression de la clé privée d'une clé asymétrique

Dans l'exemple ci-dessous, la clé privée est supprimée de PacificSales19 et seule la clé publique demeure.

ALTER ASYMMETRIC KEY PacificSales19 REMOVE PRIVATE KEY;  
GO  

C. Suppression de la protection par mot de passe d'une clé privée

Dans l'exemple ci-dessous, la protection par mot de passe d'une clé privée est supprimée et la clé est protégée au moyen de la clé principale de base de données.

OPEN MASTER KEY DECRYPTION BY PASSWORD = '<database master key password>';  
ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (  
    DECRYPTION BY PASSWORD = '<enterStrongPasswordHere>' );  
GO  

Voir aussi

CREATE ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
SQL Server et clés de chiffrement de base de données (moteur de base de données)
Hiérarchie de chiffrement
CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
Gestion de clés extensible (EKM)