Partilhar via


CHAVE SIMÉTRICA ABERTA (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do AzureBanco de Dados SQL do Azure Synapse Analyticsno Microsoft Fabric

Desencripta uma chave simétrica e disponibiliza-a para utilização.

Transact-SQL convenções de sintaxe

Note

Essa sintaxe não é suportada pelo pool SQL sem servidor no 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
É o nome da chave simétrica a ser aberta.

CERTIFICADO certificate_name
É o nome de um certificado cuja chave privada será usada para desencriptar a chave simétrica.

CHAVE ASSIMÉTRICA asym_key_name
É o nome de uma chave assimétrica cuja chave privada será usada para desencriptar a chave simétrica.

COM SENHA ='password'
É a senha que foi usada para criptografar a chave privada do certificado ou a chave assimétrica.

CHAVE SIMÉTRICA decrypting_key_name
É o nome de uma chave simétrica que será usada para desencriptar a chave simétrica que está a ser aberta.

PASSWORD ='senha'
É a senha que foi usada para proteger a chave simétrica.

Remarks

As chaves simétricas abertas estão vinculadas à sessão e não ao contexto de segurança. Uma chave aberta continuará disponível até que seja explicitamente fechada ou a sessão seja encerrada. Se você abrir uma chave simétrica e, em seguida, alternar o contexto, a chave permanecerá aberta e estará disponível no contexto representado. Várias chaves podem ser abertas ao mesmo tempo. As informações sobre chaves simétricas abertas são visíveis na exibição de catálogo sys.openkeys (Transact-SQL).

Se a chave simétrica foi criptografada com outra chave, essa chave deve ser aberta primeiro.

Se a chave simétrica já estiver aberta, a consulta será um NO_OP.

Se a senha, certificado ou chave fornecida para descriptografar a chave simétrica estiver incorreta, a consulta falhará.

As chaves simétricas criadas a partir de fornecedores de encriptação não podem ser abertas. As operações de encriptação e desencriptação que utilizam este tipo de chave simétrica são bem-sucedidas sem a instrução OPEN porque o Fornecedor de Encriptação está a abrir e a fechar a chave.

Permissions

O chamador deve ter alguma permissão na chave e não deve ter sido negada a permissão VIEW DEFINITION na chave. Os requisitos adicionais variam, dependendo do mecanismo de desencriptação:

  • DESENCRIPTAÇÃO POR CERTIFICADO: Permissão de controlo no certificado e conhecimento da palavra-passe que encripta a sua chave privada.

  • DESENCRIPTAÇÃO POR CHAVE ASSIMÉTRICA: Permissão de controlo na chave assimétrica e conhecimento da palavra-passe que encripta a sua chave privada.

  • DESENCRIPTAÇÃO POR PALAVRA-PASSE: conhecimento de uma das palavras-passe que é usada para encriptar a chave simétrica.

Examples

A. Abrindo uma chave simétrica usando um certificado

O exemplo a seguir abre a chave SymKeyMarketing3 simétrica e a descriptografa usando a chave privada do certificado MarketingCert9.

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

B. Abrir uma chave simétrica usando outra chave simétrica

O exemplo a seguir abre a chave MarketingKey11 simétrica e a descriptografa usando a chave HarnpadoungsatayaSE3simétrica .

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   

Ver também

CRIAR CHAVE SIMÉTRICA (Transact-SQL)
ALTER CHAVE SIMÉTRICA (Transact-SQL)
FECHAR CHAVE SIMÉTRICA (Transact-SQL)
CHAVE SIMÉTRICA DE GOTA (Transact-SQL)
Hierarquia de criptografia
Gerenciamento extensível de chaves (EKM)