ALTER SERVICE MASTER KEY(Transact-SQL)
SQL Server 인스턴스의 서비스 마스터 키를 변경합니다.
구문
ALTER SERVICE MASTER KEY
[ { <regenerate_option> | <recover_option> } ] [;]
<regenerate_option> ::=
[ FORCE ] REGENERATE
<recover_option> ::=
{ WITH OLD_ACCOUNT = 'account_name' , OLD_PASSWORD = 'password' }
|
{ WITH NEW_ACCOUNT = 'account_name' , NEW_PASSWORD = 'password' }
인수
FORCE
데이터 손실 위험이 있는 경우에도 서비스 마스터 키가 다시 생성되어야 함을 나타냅니다. 자세한 내용은 이 항목 아래에서 SQL Server 서비스 계정 변경을 참조하십시오.REGENERATE
서비스 마스터 키를 다시 생성하도록 지정합니다.OLD_ACCOUNT ='account_name'
이전 Windows 서비스 계정 이름을 지정합니다.OLD_PASSWORD ='password'
이전 Windows 서비스 계정의 암호를 지정합니다.NEW_ACCOUNT ='account_name'
새 Windows 서비스 계정 이름을 지정합니다.NEW_PASSWORD ='password'
새 Windows 서비스 계정의 암호를 지정합니다.
주의
서비스 마스터 키는 연결된 서버 암호, 인증서 또는 데이터베이스 마스터 키를 처음으로 암호화할 필요가 있을 때 자동으로 생성됩니다. 서비스 마스터 키는 로컬 시스템 키 또는 Windows 데이터 보호 API를 사용하여 암호화됩니다. 이 API는 SQL Server 서비스 계정의 Windows 자격 증명으로부터 파생된 키를 사용합니다.
서비스 마스터 키의 암호는 해당 키가 만들어진 서비스 계정이나 해당 서비스 계정의 Windows 자격 증명에 대한 액세스 권한이 있는 보안 주체에 의해서만 해독될 수 있습니다. 따라서 SQL Server 서비스를 실행 중인 Windows 계정을 변경하면 서비스 마스터 키의 암호 해독도 새 계정으로 활성화해야 합니다.
SQL Server 서비스 계정 변경
SQL Server 서비스 계정을 변경하려면 SQL Server 구성 관리자를 사용합니다. 서비스 계정 변경을 관리하기 위해 SQL Server는 SQL Server 서비스 그룹에 부여된 필요한 사용 권한이 있는 컴퓨터 계정으로 보호되는 중복 서비스 마스터 키 복사본을 저장합니다. 컴퓨터를 다시 빌드하면 이전에 서비스 계정에 사용되던 것과 동일한 도메인 사용자가 서비스 마스터 키를 복구할 수 있습니다. 로컬 계정이나 로컬 시스템, 로컬 서비스, 네트워크 서비스 계정에 대해서는 이 방법을 사용할 수 없습니다. SQL Server를 다른 컴퓨터로 이동하는 경우 백업 및 복원을 사용하여 서비스 마스터 키를 마이그레이션하십시오.
REGENERATE 구는 서비스 마스터 키를 다시 생성합니다. 서비스 마스터 키가 다시 생성되면 SQL Server는 이 키로 암호화된 모든 키의 암호를 해독한 다음 새로운 서비스 마스터 키로 키를 암호화합니다. 이 작업은 리소스 소비가 많습니다. 키가 손상된 경우가 아니면 이 작업은 사용량이 낮은 기간 동안에만 수행하도록 예약해야 합니다. 암호 해독 중 하나가 실패하면 전체 문이 실패합니다.
FORCE 옵션을 사용하면 프로세스에서 현재 마스터 키를 검색할 수 없거나 키로 암호화된 모든 개인 키의 암호를 해독할 수 없는 경우에도 키 다시 생성 프로세스가 계속됩니다. 키를 다시 생성하지 못하고 RESTORE SERVICE MASTER KEY 문을 사용하여 서비스 마스터 키를 복원할 수 없는 경우에만 FORCE를 사용합니다.
주의 |
---|
서비스 마스터 키는 SQL Server 암호화 계층의 루트입니다. 서비스 마스터 키는 트리에 있는 모든 다른 키와 암호를 직접 또는 간접적으로 보호합니다. 강제 다시 생성 중에 종속된 키의 암호를 해독할 수 없는 경우 키가 보호하는 데이터가 손실됩니다. |
MACHINE KEY 옵션을 사용하면 시스템 키에 의한 암호화를 추가하거나 삭제할 수 있습니다.
사용 권한
서버에 대한 CONTROL SERVER 권한이 필요합니다.
예
다음 예에서는 서비스 마스터 키를 다시 생성합니다.
ALTER SERVICE MASTER KEY REGENERATE;
GO
변경 내역
업데이트된 내용 |
---|
구문 섹션에서 잘못된 ENCRYPTION BY MACHINE 텍스트를 제거했습니다. |