Compartilhar via


ALTERAR A TONALIDADE SIMÉTRICA (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsBanco de Dados SQL no Microsoft Fabric

Altera as propriedades de uma chave simétrica.

Convenções de sintaxe de Transact-SQL

Note

Não há suporte a essa sintaxe para o pool de 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 CRIPTOGRAFIA POR
Adiciona a criptografia usando o método especificado.

REMOVER CRIPTOGRAFIA POR
Descarta a criptografia pelo método especificado. Você não pode remover todas as criptografias de uma chave simétrica.

CERTIFICADO Certificate_name
Especifica o certificado que é usado para criptografar a chave simétrica. Esse certificado já deve existir no banco de dados.

SENHA ='senha'
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_NAME DE CHAVE SIMÉTRICA
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 que é 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, 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 proteger o material de chave da chave simétrica, o SQL Server e o SQL do Azure armazenam o material da chave em formato criptografado. Historicamente, essa criptografia utilizou o modo de preenchimento PKCS nº 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 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.

Permissions

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.

Examples

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;  

Consulte Também

CRIAR CHAVE SIMÉTRICA (Transact-SQL)
CHAVE SIMÉTRICA ABERTA (Transact-SQL)
FECHAR CHAVE SIMÉTRICA (Transact-SQL)
CHAVE SIMÉTRICA DE DROP (Transact-SQL)
Hierarquia de criptografia