다음을 통해 공유


제5과. (선택 사항) TDE를 사용하여 데이터베이스 암호화

선택적 단계로 새로 만든 데이터베이스를 암호화할 수 있습니다. TDE(투명한 데이터 암호화)는 데이터 및 로그 파일의 실시간 I/O 암호화 및 암호 해독을 수행합니다. 이러한 종류의 암호화는 복구 중에 가용성을 위해 데이터베이스 부팅 레코드에 저장된 DEK(데이터베이스 암호화 키)를 사용합니다. 자세한 내용은 TDE(투명한 데이터 암호화) 를 참조하고 TDE로 보호된 데이터베이스를 다른 SQL Server로 이동합니다.

이 단원에서는 이미 다음 단계를 완료한 것으로 가정합니다.

  • Azure Storage 계정이 있습니다.

  • Azure Storage 계정으로 컨테이너를 만들었습니다.

  • 읽기, 쓰기 및 목록 권한이 있는 컨테이너에 정책을 만들었습니다. SAS 키도 생성했습니다.

  • 원본 머신에서 SQL Server 자격 증명을 만들었습니다.

  • 4단원에 설명된 단계에 따라 데이터베이스를 만들었습니다.

데이터베이스를 암호화하려면 다음 단계를 수행합니다.

  1. 원본 컴퓨터에서 쿼리 창에서 다음 문을 수정하고 실행합니다.

    
    -- Create a master key and a server certificate   
    USE master   
    GO   
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MySQLKey01';   
    GO   
    CREATE CERTIFICATE MySQLCert WITH SUBJECT = 'SQL - Azure Storage Certification'   
    GO   
    -- Create a backup of the server certificate in the master database.   
    -- Store TDS certificates in the source machine locally.   
    BACKUP CERTIFICATE MySQLCert   
    TO FILE = 'C:\certs\MySQLCert.CER'   
    WITH PRIVATE KEY   
    (   
    FILE = 'C:\certs\MySQLPrivateKeyFile.PVK',   
    ENCRYPTION BY PASSWORD = 'MySQLKey01'   
    );  
    
    
  2. 그런 다음, 다음 단계를 수행하여 원본 컴퓨터에서 새 데이터베이스를 암호화합니다.

    
    -- Switch to the new database.   
    -- Create a database encryption key, that is protected by the server certificate in the master database.    
    -- Alter the new database to encrypt the database using TDE.   
    USE TestDB1;   
    GO   
    -- Encrypt your database   
    CREATE DATABASE ENCRYPTION KEY   
    WITH ALGORITHM = AES_256   
    ENCRYPTION BY SERVER CERTIFICATE MySQLCert   
    GO   
    
    ALTER DATABASE TestDB1   
    SET ENCRYPTION ON   
    GO  
    
    

데이터베이스의 암호화 상태 및 관련 데이터베이스 암호화 키를 알아보려면 다음 문을 실행합니다.

  
SELECT * FROM sys.dm_database_encryption_keys;   
GO  
  

이 단원에서 사용된 Transact-SQL 문에 대한 자세한 내용은 CREATE DATABASE(SQL Server Transact-SQL), ALTER DATABASE(Transact-SQL), CREATE MASTER KEY(Transact-SQL), CREATE CERTIFICATE(Transact-SQL)sys.dm_database_encryption_keys(Transact-SQL)를 참조하세요.

다음 단원:

6단원: 온-프레미스 원본 컴퓨터에서 Azure의 대상 컴퓨터로 데이터베이스 마이그레이션