OPEN SYMMETRIC KEY (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics
Descriptografa uma chave simétrica e a disponibiliza para uso.
Convenções de sintaxe de Transact-SQL
Observação
Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.
Sintaxe
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'
Argumentos
Key_name
É o nome da chave simétrica a ser aberta.
CERTIFICATE certificate_name
É o nome de um certificado cuja chave privada será usada para descriptografar a chave simétrica.
ASYMMETRIC KEY asym_key_name
É o nome de uma chave assimétrica cuja chave privada será usada para descriptografar a chave simétrica.
WITH PASSWORD ='password'
É a senha que foi usada para criptografar a chave privada do certificado ou chave assimétrica.
SYMMETRIC KEY decrypting_key_name
É o nome de uma chave simétrica que será usada para descriptografar a chave simétrica sendo aberta.
PASSWORD ='password'
É a senha que foi usada para proteger a chave simétrica.
Comentários
As chaves simétricas abertas estão associadas à sessão que não está no contexto de segurança. Uma chave aberta continuará disponível até ser explicitamente fechada ou a sessão ser encerrada. Se você abrir uma chave simétrica e alterar o contexto, ela permanecerá aberta e estará disponível no contexto representado. É possível abrir várias chaves ao mesmo tempo. Informações sobre chaves simétricas abertas estão visíveis na exibição do catálogo sys.openkeys (Transact-SQL).
Se a chave simétrica tiver sido criptografada com outra chave, essa chave deverá ser aberta primeiro.
Se a chave simétrica já estiver aberta, a consulta será um NO_OP.
Se a senha, chave ou certificado fornecido para descriptografar a chave simétrica estiver incorreto, a consulta falhará.
As chaves simétricas criadas de provedores de criptografia não podem ser abertas. As operações de criptografia e descriptografia que usam esse tipo de chave simétrica dão certo sem a instrução OPEN porque o provedor de criptografia está abrindo e fechando a chave.
Permissões
O chamador deve ter alguma permissão na chave, e a permissão VIEW DEFINITION não deve ter sido negada a ele na chave. Os requisitos adicionais variam, dependendo do mecanismo de descriptografia:
DECRYPTION BY CERTIFICATE: permissão CONTROL no certificado e conhecimento da senha que criptografa sua chave privada.
DECRYPTION BY ASYMMETRIC KEY: permissão CONTROL na chave assimétrica e conhecimento da senha que criptografa sua chave privada.
DECRYPTION BY PASSWORD: conhecimento de uma das senhas usadas para criptografar a chave simétrica.
Exemplos
a. Abrindo uma chave simétrica com o uso de um certificado
O exemplo seguinte abre a chave simétrica SymKeyMarketing3
e a descriptografa usando a chave privada de certificado MarketingCert9
.
USE AdventureWorks2022;
OPEN SYMMETRIC KEY SymKeyMarketing3
DECRYPTION BY CERTIFICATE MarketingCert9;
GO
B. Abrindo uma chave simétrica com o uso de outra chave simétrica
O exemplo seguinte abre a chave simétrica MarketingKey11
e a descriptografa usando a chave 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
Consulte Também
CREATE SYMMETRIC KEY (Transact-SQL)
ALTER SYMMETRIC KEY (Transact-SQL)
CLOSE SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)
Hierarquia de criptografia
EKM (Gerenciamento extensível de chaves)