ALTER SYMMETRIC KEY (Transact-SQL)
Altera as propriedades de uma chave simétrica.
Convenções de sintaxe Transact-SQL
Sintaxe
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
Argumentos
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 está executando 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.
Comentários
Cuidado |
---|
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 a titularidade de uma chave simétrica, use ALTER AUTHORIZATION.
Observação |
---|
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, o material criptografado por meio do algoritmo RC4 ou RC4_128 pode ser descriptografado em qualquer nível de compatibilidade. |
Permissões
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.
Exemplos
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
Referência
CREATE SYMMETRIC KEY (Transact-SQL)
OPEN SYMMETRIC KEY (Transact-SQL)
CLOSE SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)