ALTER ASYMMETRIC KEY (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse Analytics

Altera as propriedades de uma chave assimétrica.

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

ALTER ASYMMETRIC KEY Asym_Key_Name <alter_option>  
  
<alter_option> ::=  
      <password_change_option>   
    | REMOVE PRIVATE KEY   

<password_change_option> ::=  
    WITH PRIVATE KEY ( <password_option> [ , <password_option> ] )  

<password_option> ::=  
      ENCRYPTION BY PASSWORD = 'strongPassword'  
    | DECRYPTION BY PASSWORD = 'oldPassword'  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

Asym_Key_Name
É o nome pelo qual a chave assimétrica é conhecida no banco de dados.

REMOVE PRIVATE KEY
Remove a chave privada da chave assimétrica. A chave pública não é removida.

WITH PRIVATE KEY
Altera a proteção da chave privada.

ENCRYPTION BY PASSWORD ='strongPassword'
Especifica uma nova senha para proteção da chave privada. A password deve atender aos requisitos da política de senha do Windows do computador que executa a instância do SQL Server. Se esta opção for omitida, a chave privada será criptografada pela chave mestra do banco de dados.

DECRYPTION BY PASSWORD ='oldPassword'
Especifica a senha antiga com a qual a chave privada está protegida atualmente. Não será necessária se a chave privada for criptografada com a chave mestra do banco de dados.

Comentários

Se não houver nenhuma chave mestra do banco de dados a opção ENCRYPTION BY PASSWORD será necessária e a operação falhará se nenhuma senha for fornecida. Para obter mais informações sobre como criar uma chave mestra de banco de dados, confira CREATE MASTER KEY (Transact-SQL).

É possível usar ALTER ASYMMETRIC KEY para alterar a proteção da chave privada especificando as opções PRIVATE KEY conforme mostrado na tabela a seguir.

Alterar a proteção de ENCRYPTION BY PASSWORD DECRYPTION BY PASSWORD
Senha antiga para senha nova Obrigatório Obrigatório
Senha para chave mestra Omitir Obrigatório
Chave mestra para senha Obrigatório Omitir

A chave mestra do banco de dados deve ser aberta antes de poder ser usada para proteger uma chave privada. Para obter mais informações, confira OPEN MASTER KEY (Transact-SQL).

Para alterar a propriedade de uma chave assimétrica, use ALTER AUTHORIZATION.

Permissões

Requerer a permissão CONTROL na chave assimétrica quando a chave privada é removida.

Exemplos

a. Alterando a senha da chave privada

O exemplo a seguir altera a senha usada para proteger a chave privada da chave assimétrica PacificSales09. A senha nova será <enterStrongPasswordHere>.

ALTER ASYMMETRIC KEY PacificSales09   
    WITH PRIVATE KEY (  
    DECRYPTION BY PASSWORD = '<oldPassword>',  
    ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>');  
GO  

B. Removendo a chave privada de uma chave assimétrica

O exemplo a seguir remove a chave privada de PacificSales19, deixando apenas a chave pública.

ALTER ASYMMETRIC KEY PacificSales19 REMOVE PRIVATE KEY;  
GO  

C. Removendo a proteção de senha de uma chave privada

O exemplo a seguir remove a proteção de senha de uma chave privada e a protege com a chave mestra do banco de dados.

OPEN MASTER KEY DECRYPTION BY PASSWORD = '<database master key password>';  
ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (  
    DECRYPTION BY PASSWORD = '<enterStrongPasswordHere>' );  
GO  

Consulte Também

CREATE ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
Chaves de criptografia do SQL Server e banco de dados (Mecanismo de Banco de Dados)
Hierarquia de criptografia
CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
EKM (Gerenciamento extensível de chaves)