Partilhar via


ALTER CHAVE SIMÉTRICA (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

Altera as propriedades de uma chave simétrica.

Transact-SQL convenções de sintaxe

Note

Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.

Syntax

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  

Arguments

Key_name
É o nome pelo qual a chave simétrica a ser alterada é conhecida no banco de dados.

ADICIONAR ENCRIPTAÇÃO POR
Adiciona criptografia usando o método especificado.

DROP ENCRYPTION POR
Descarta a criptografia pelo método especificado. Não é possível remover todas as encriptações de uma chave simétrica.

CERTIFICADO Certificate_name
Especifica o certificado usado para criptografar a chave simétrica. Este certificado já deve existir na base de dados.

PASSWORD ='password'
Especifica a senha usada para criptografar a chave simétrica. senha deve atender aos requisitos de diretiva de senha do Windows do computador que está executando a instância do SQL Server.

CHAVE SIMÉTRICA 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.

CHAVE ASSIMÉTRICA Asym_Key_Name
Especifica a chave assimétrica usada para criptografar a chave simétrica que está sendo alterada. Essa chave assimétrica já deve existir no banco de dados.

Remarks

Caution

Quando uma chave simétrica é criptografada com uma senha em vez de com a chave pública da chave mestra do banco de dados, o algoritmo de criptografia TRIPLE_DES é usado. Devido a isso, as chaves que são criadas com um algoritmo de encriptação forte, como AES, são protegidas por um algoritmo mais fraco.

Para alterar a encriptação da chave simétrica, utilize as frases ADD ENCRYPTION e DROP ENCRYPTION. Nunca é possível que uma chave fique totalmente sem encriptação. Por esse motivo, a melhor prática é adicionar a nova forma de criptografia antes de remover a antiga forma de criptografia.

Para proteger o material da chave simétrica, o SQL Server e o SQL do Azure armazenam o material da chave no formato criptografado. Historicamente, essa criptografia utilizava o modo de preenchimento PKCS#1 v1.5; começando com o nível de compatibilidade do banco de dados 170, a criptografia usa o modo de preenchimento OAEP-256 para criptografia por certificado ou chave assimétrica.

Para alterar o proprietário de uma chave simétrica, use ALTER AUTHORIZATION.

Note

O algoritmo RC4 só é suportado para compatibilidade com versões anteriores. O novo material só pode ser encriptado utilizando RC4 ou RC4_128 quando a base de dados estiver no nível de compatibilidade 90 ou 100. (Não recomendado.) Em vez disso, use um algoritmo mais recente, como um dos algoritmos AES. No SQL Server 2012 (11.x), o material criptografado usando RC4 ou RC4_128 pode ser descriptografado em qualquer nível de compatibilidade.

Permissions

Requer permissão ALTER na chave simétrica. Se adicionar criptografia por um certificado ou chave assimétrica, requer a permissão VIEW DEFINITION no certificado ou chave assimétrica. Se descartar a criptografia por um certificado ou chave assimétrica, requer permissão CONTROL no certificado ou chave assimétrica.

Examples

O exemplo a seguir altera o método de criptografia usado para proteger uma chave simétrica. A chave JanainaKey043 simétrica é criptografada usando certificado Shipping04 quando a chave foi criada. Como a chave nunca pode ser armazenada sem criptografia, neste exemplo, a criptografia é adicionada por senha e, em seguida, a criptografia é removida pelo 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;  

Ver também

CRIAR CHAVE SIMÉTRICA (Transact-SQL)
ABRIR CHAVE SIMÉTRICA (Transact-SQL)
FECHAR CHAVE SIMÉTRICA (Transact-SQL)
CHAVE SIMÉTRICA DE GOTA (Transact-SQL)
Hierarquia de criptografia