ALTER ASYMMETRIC KEY (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Cambia las propiedades de una clave asimétrica.

Convenciones de sintaxis de Transact-SQL

Nota

El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.

Sintaxis

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'  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

Asym_Key_Name
Es el nombre por el que se conoce la clave asimétrica en la base de datos.

REMOVE PRIVATE KEY
Quita la clave privada de la clave asimétrica. No se quita la clave pública.

WITH PRIVATE KEY
Cambia la protección de la clave privada.

ENCRYPTION BY PASSWORD ="strongPassword"
Especifica una nueva contraseña para proteger la clave privada. password debe cumplir los requisitos de la directiva de contraseñas de Windows del equipo que ejecuta la instancia de SQL Server. Si se omite esta opción, la clave privada se cifrará con la clave maestra de la base de datos.

DECRYPTION BY PASSWORD ='oldPassword'
Especifica la antigua contraseña con la que está protegida la clave privada. No es necesario si la clave privada está cifrada con la clave maestra de la base de datos.

Observaciones

Si no hay una clave maestra de base de datos, es necesaria la opción ENCRYPTION BY PASSWORD y la operación registrará errores si no se proporciona una contraseña. Para más información sobre cómo crear una clave maestra de base de datos, vea CREATE MASTER KEY (Transact-SQL).

Puede utilizar ALTER ASYMMETRIC KEY para cambiar la protección de la clave privada si especifica las opciones de PRIVATE KEY como se muestra en la siguiente tabla.

Cambiar protección de ENCRYPTION BY PASSWORD DECRYPTION BY PASSWORD
Antigua contraseña a nueva contraseña Obligatorio Obligatorio
Contraseña a clave maestra Omitir Obligatorio
Clave maestra a contraseña Obligatorio Omitir

Es necesario abrir la clave maestra de la base de datos antes de utilizarla para proteger una clave privada. Para más información, vea OPEN MASTER KEY (Transact-SQL).

Para cambiar la propiedad de una clave asimétrica, use ALTER AUTHORIZATION.

Permisos

Requiere el permiso CONTROL en la clave asimétrica si se quita la clave privada.

Ejemplos

A. Cambiar la contraseña de la clave privada

En el siguiente ejemplo se cambia la contraseña utilizada para proteger la clave privada de la clave asimétrica PacificSales09. La nueva contraseña será <enterStrongPasswordHere>.

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

B. Quitar la clave privada de una clave asimétrica

En el siguiente ejemplo se quita la clave privada de PacificSales19 y se mantiene solamente la clave pública.

ALTER ASYMMETRIC KEY PacificSales19 REMOVE PRIVATE KEY;  
GO  

C. Quitar la protección mediante contraseña de una clave privada

En el siguiente ejemplo se quita la protección mediante contraseña de una clave privada y se protege con la clave maestra de la base de datos.

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

Vea también

CREATE ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
SQL Server y claves de cifrado de base de datos (motor de base de datos)
Jerarquía de cifrado
CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
Administración extensible de claves (EKM)