ALTER 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 Banco de Dados SQL no Microsoft Fabric
Altera as propriedades de uma chave simétrica.
Convenções de sintaxe de Transact-SQL
Nota
Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.
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
Key_name
É o nome pelo qual a chave simétrica a ser alterada é conhecida no banco de dados.
ADD ENCRYPTION BY
Adiciona a criptografia usando o método especificado.
DROP ENCRYPTION BY
Descarta a criptografia pelo método especificado. Você não pode remover todas as criptografias de uma chave simétrica.
CERTIFICATE Certificate_name
Especifica o certificado que é usado para criptografar a chave simétrica. Esse certificado já deve existir no banco de dados.
PASSWORD ='password'
Especifica a senha usada para criptografar a chave simétrica. A password deve atender aos requisitos da política de senha do Windows do computador que executa a instância do SQL Server.
SYMMETRIC KEY Symmetric_Key_Name
Especifica a chave simétrica usada para criptografar a chave simétrica que está sendo alterada. Essa chave simétrica já deve existir no banco de dados e deve estar aberta.
ASYMMETRIC KEY Asym_Key_Name
Especifica a chave assimétrica que é usada para criptografar a chave simétrica que está sendo alterada. Essa chave assimétrica já deve existir no banco de dados.
Atenção
Quando uma chave simétrica é criptografada com uma senha, e não com a chave pública da chave mestre do banco de dados, o algoritmo de criptografia TRIPLE_DES é usado. Por esse motivo, as chaves criadas com um algoritmo de criptografia forte, como AES, são protegidas por um algoritmo mais fraco.
Para alterar a criptografia da chave simétrica, use as frases ADD ENCRYPTION e DROP ENCRYPTION. Nunca é possível uma chave estar totalmente sem criptografia. Devido a isso, o melhor a fazer é adicionar uma nova forma de criptografia antes de remover a forma antiga.
Para alterar o proprietário de uma chave simétrica, use ALTER AUTHORIZATION.
Nota
O algoritmo RC4 tem suporte somente para compatibilidade com versões anteriores. O novo material só pode ser criptografado por meio do algoritmo RC4 ou RC4_128 quando o banco de dados está no nível de compatibilidade 90 ou 100. (Não recomendável.) Use um algoritmo mais recente; por exemplo, um dos algoritmos AES. No SQL Server 2012 (11.x), o material criptografado por meio do algoritmo RC4 ou RC4_128 pode ser descriptografado em qualquer nível de compatibilidade.
Requer a permissão ALTER na chave simétrica. Se a criptografia for adicionada por um certificado ou chave assimétrica, requer a permissão VIEW DEFINITION no certificado ou na chave assimétrica. Se a criptografia for descartada por um certificado ou chave assimétrica, requer a permissão CONTROL no certificado ou na chave assimétrica.
O exemplo a seguir altera o método de criptografia que é usado para proteger uma chave simétrica. A chave simétrica JanainaKey043
foi criptografada pelo certificado Shipping04
quando a chave foi criada. Como a chave nunca pode ser armazenada sem estar criptografada, neste exemplo, a criptografia é adicionada por senha e, em seguida, removida por 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;
CREATE SYMMETRIC KEY (Transact-SQL)
OPEN SYMMETRIC KEY (Transact-SQL)
CLOSE SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)
Hierarquia de criptografia