Compartir a través de


LLAVE SIMÉTRICA ABIERTA (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsBase de datos de Azure SQL en Microsoft Fabric

Descifra una clave simétrica, que queda disponible para su uso.

Convenciones de sintaxis de Transact-SQL

Note

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

Syntax

OPEN SYMMETRIC KEY Key_name DECRYPTION BY <decryption_mechanism>  
  
<decryption_mechanism> ::=  
    CERTIFICATE certificate_name [ WITH PASSWORD = 'password' ]  
    |  
    ASYMMETRIC KEY asym_key_name [ WITH PASSWORD = 'password' ]  
    |  
    SYMMETRIC KEY decrypting_Key_name  
    |  
    PASSWORD = 'decryption_password'  

Arguments

Key_name
Es el nombre de la clave simétrica que se va a abrir.

CERTIFICATE_NAME CERTIFICATE
Es el nombre de un certificado cuya clave privada se usará para descifrar la clave simétrica.

ASYM_KEY_NAME DE CLAVES ASIMÉTRICAS
Es el nombre de una clave asimétrica cuya clave privada se usará para descifrar la clave simétrica.

CON CONTRASEÑA ='contraseña'
Es la contraseña utilizada para cifrar la clave privada del certificado o clave asimétrica.

DECRYPTING_KEY_NAME DE CLAVE SIMÉTRICA
Es el nombre de una clave simétrica que se usará para descifrar la clave simétrica que se va a abrir.

CONTRASEÑA ='contraseña'
Es la contraseña utilizada para proteger la clave simétrica.

Remarks

Las claves simétricas abiertas están enlazadas a la sesión, no al contexto de seguridad. Una clave abierta seguirá disponible hasta que se cierre explícitamente o hasta que finalice la sesión. Si se abre una clave simétrica y después se cambia el contexto, la clave permanecerá abierta y estará disponible en el contexto representado. Se pueden abrir varias claves a la vez. Puede consultar la información sobre las claves simétricas abiertas en la vista de catálogo sys.openkeys (Transact-SQL).

Si la clave simétrica se cifró con otra clave, debe abrirse esta clave primero.

Si la clave simétrica ya está abierta, la consulta es NO_OP.

Si la contraseña, la clave o el certificado suministrado para descifrar la clave simétrica es incorrecto, la consulta dará un error.

Las claves simétricas creadas a partir de proveedores de cifrado no pueden abrirse. Las operaciones de cifrado y descifrado mediante este tipo de clave simétrica se realizan correctamente sin la instrucción OPEN porque el proveedor de cifrado está abriendo y cerrando la clave.

Permissions

El autor de la llamada debe tener algún permiso sobre la clave y no debe tener denegado el permiso VIEW DEFINITION sobre la clave. Según el mecanismo de descifrado, se aplican requisitos adicionales:

  • DECRYPTION BY CERTIFICATE: tener el permiso CONTROL sobre el certificado y conocer la contraseña que cifra la clave privada.

  • DECRYPTION BY ASYMMETRIC KEY: tener el permiso CONTROL sobre la clave asimétrica y conocer la contraseña que cifra su clave privada.

  • DECRYPTION BY PASSWORD: conocer una de las contraseñas utilizadas para cifrar la clave simétrica.

Examples

A. Abrir una clave simétrica usando un certificado

En el ejemplo siguiente se abre la clave simétrica SymKeyMarketing3 y se descifra mediante la clave privada del certificado MarketingCert9.

USE AdventureWorks2022;  
OPEN SYMMETRIC KEY SymKeyMarketing3   
    DECRYPTION BY CERTIFICATE MarketingCert9;  
GO  

B. Abrir una clave simétrica usando otra clave simétrica

En el ejemplo siguiente se abre la clave simétrica MarketingKey11 y se descifra mediante la clave simétrica HarnpadoungsatayaSE3.

USE AdventureWorks2022;  
-- First open the symmetric key that you want for decryption.  
OPEN SYMMETRIC KEY HarnpadoungsatayaSE3   
    DECRYPTION BY CERTIFICATE sariyaCert01;  
-- Use the key that is already open to decrypt MarketingKey11.  
OPEN SYMMETRIC KEY MarketingKey11   
    DECRYPTION BY SYMMETRIC KEY HarnpadoungsatayaSE3;  
GO   

Véase también

CREAR CLAVE SIMÉTRICA (Transact-SQL)
ALTERAR LA TONALIDAD SIMÉTRICA (Transact-SQL)
CLAVE SIMÉTRICA CERCANA (Transact-SQL)
CLAVE SIMÉTRICA DE CAÍDA (Transact-SQL)
Jerarquía de cifrado
Administración extensible de claves (EKM)