ALTER SYMMETRIC KEY (Transact-SQL)
Cambia las propiedades de una clave simétrica.
Sintaxis
ALTER SYMMETRIC KEY Key_name <alter_option>
<alter_option> ::=
ADD ENCRYPTION BY <encrypting_mechanism> [ , ... n ]
|
DROP ENCRYPTION BY <encrypting_mechanism> [ , ... n ]
<encrypting_mechanism> ::=
CERTIFICATE certificate_name
|
PASSWORD = 'password'
|
SYMMETRIC KEY Symmetric_Key_Name
|
ASYMMETRIC KEY Asym_Key_Name
Argumentos
Key_name
Es el nombre por el que se conoce la clave simétrica en la base de datos.ADD ENCRYPTION BY
Agrega el cifrado utilizando el método especificado.DROP ENCRYPTION BY
Quita el cifrado utilizando el método especificado. No es posible quitar todos los cifrados de una clave simétrica.CERTIFICATE Certificate_name
Especifica el certificado que se utiliza para cifrar la clave simétrica. El certificado debe existir en la base de datos.PASSWORD ='password'
Especifica la contraseña que se utiliza para cifrar la clave simétrica. password debe cumplir los requisitos de la directiva de contraseñas de Windows del equipo que ejecuta la instancia de SQL Server.SYMMETRIC KEY Symmetric_Key_Name
Especifica la clave simétrica que se utiliza para cifrar la clave simétrica que va a cambiarse. La clave simétrica debe existir en la base de datos y debe estar abierta.ASYMMETRIC KEY Asym_Key_Name
Especifica la clave asimétrica que se utiliza para cifrar la clave simétrica que va a cambiarse. La clave asimétrica debe existir en la base de datos.
Notas
Advertencia |
---|
Si se utiliza una contraseña para cifrar una clave simétrica, en lugar de la clave pública de la clave maestra de base de datos, se utiliza el algoritmo de cifrado TRIPLE_DES. Por ello, las claves creadas con un algoritmo de cifrado seguro, como AES, se protegen mediante un algoritmo menos seguro. |
Para cambiar el cifrado de la clave simétrica, utilice las frases ADD ENCRYPTION y DROP ENCRYPTION. No es posible dejar una clave completamente sin cifrado. Por ello, la práctica recomendada es agregar la nueva forma de cifrado antes de quitar la antigua forma de cifrado.
Para cambiar el propietario de una clave simétrica, utilice ALTER AUTHORIZATION.
Permisos
Requiere el permiso ALTER en la clave simétrica. Si se agrega el cifrado mediante una clave asimétrica o un certificado, es necesario el permiso VIEW DEFINITION en el certificado o en la clave asimétrica. Si se quita el cifrado mediante una clave asimétrica o un certificado, es necesario el permiso CONTROL en el certificado o en la clave asimétrica.
Ejemplos
En el siguiente ejemplo se cambia el método de cifrado que se utiliza para proteger una clave simétrica. La clave simétrica JanainaKey043 se cifra mediante el certificado Shipping04 al crear la clave. Dado que la clave no puede almacenarse sin cifrado, en este ejemplo el cifrado se agrega mediante contraseña y se quita mediante certificado.
CREATE SYMMETRIC KEY JanainaKey043 WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE Shipping04;
-- Open the key.
OPEN SYMMETRIC KEY JanainaKey043 DECRYPTION BY CERTIFICATE Shipping04
WITH PASSWORD = '<enterStrongPasswordHere>';
-- First, encrypt the key with a password.
ALTER SYMMETRIC KEY JanainaKey043
ADD ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>';
-- Now remove encryption by the certificate.
ALTER SYMMETRIC KEY JanainaKey043
DROP ENCRYPTION BY CERTIFICATE Shipping04;
CLOSE SYMMETRIC KEY JanainaKey043;