Compartilhar via


ALTER ASYMMETRIC 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 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'  

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)