다음을 통해 공유


ALTER ASYMMETRIC KEY(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics

비대칭 키의 속성을 변경합니다.

Transact-SQL 구문 표기 규칙

참고

이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.

구문

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'  

인수

Asym_Key_Name
데이터베이스에서 비대칭 키를 식별하는 이름입니다.

REMOVE PRIVATE KEY
비대칭 키로부터 프라이빗 키를 제거합니다. 퍼블릭 키는 제거되지 않습니다.

WITH PRIVATE KEY
프라이빗 키의 보호를 변경합니다.

ENCRYPTION BY PASSWORD ='strongPassword'
프라이빗 키를 보호하기 위한 새 암호를 지정합니다. password는 SQL Server 인스턴스를 실행하는 컴퓨터의 Windows 암호 정책 요구 사항을 충족해야 합니다. 이 옵션을 생략하면 프라이빗 키가 데이터베이스 마스터 키로 암호화됩니다.

DECRYPTION BY PASSWORD ='oldPassword'
프라이빗 키가 현재 보호되는 이전 암호를 지정합니다. 프라이빗 키가 데이터베이스 마스터 키로 암호화된 경우 필요하지 않습니다.

설명

데이터베이스 마스터 키가 없으면 ENCRYPTION BY PASSWORD 옵션이 필요하고 암호가 제공되지 않으면 작업이 실패합니다. 데이터베이스 마스터 키 만들기에 대한 자세한 내용은 CREATE MASTER KEY(Transact-SQL)를 참조하세요.

ALTER ASYMMETRIC KEY를 사용하면 다음 표에서와 같이 PRIVATE KEY 옵션을 지정하여 프라이빗 키 보호를 변경할 수 있습니다.

변경할 보호 방법 ENCRYPTION BY PASSWORD DECRYPTION BY PASSWORD
이전 암호를 새 암호로 변경 필수 필수
암호를 마스터 키로 변경 생략 필수
마스터 키를 암호로 변경 필수 생략

프라이빗 키를 보호하는 데 사용하려면 먼저 데이터베이스 마스터 키를 열어야 합니다. 자세한 내용은 OPEN MASTER KEY(Transact-SQL)를 참조하세요.

비대칭 키의 소유권을 변경하려면 ALTER AUTHORIZATION을 사용합니다.

사용 권한

프라이빗 키를 제거하는 경우 비대칭 키에 대한 CONTROL 권한이 필요합니다.

예제

A. 프라이빗 키의 암호 변경

다음 예에서는 비대칭 키 PacificSales09의 프라이빗 키를 보호하는 데 사용된 암호를 변경합니다. 새 암호는 <enterStrongPasswordHere>입니다.

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

B. 비대칭 키로부터 프라이빗 키 제거

다음 예에서는 PacificSales19에서 프라이빗 키를 제거하여 퍼블릭 키만 남겨 둡니다.

ALTER ASYMMETRIC KEY PacificSales19 REMOVE PRIVATE KEY;  
GO  

C. 프라이빗 키로부터 암호 보호 제거

다음 예에서는 프라이빗 키에서 암호 보호를 제거하고 데이터베이스 마스터 키로 보호합니다.

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

참고 항목

CREATE ASYMMETRIC KEY(Transact-SQL)
DROP ASYMMETRIC KEY(Transact-SQL)
SQL Server 및 데이터베이스 암호화 키(데이터베이스 엔진)
암호화 계층
CREATE MASTER KEY(Transact-SQL)
OPEN MASTER KEY(Transact-SQL)
EKM(확장 가능 키 관리)