온프레미스 데이터베이스에 대한 TDE 인증서 백업 및 복원 - Amazon Relational Database Service

온프레미스 데이터베이스에 대한 TDE 인증서 백업 및 복원

온프레미스 데이터베이스에 대한 TDE 인증서를 백업한 다음 나중에 RDS for SQL Server로 복원할 수 있습니다. RDS for SQL Server TDE 인증서를 온프레미스 DB 인스턴스로 복원할 수도 있습니다.

다음 절차에서는 TDE 인증서 및 프라이빗 키를 백업합니다. 프라이빗 키는 대칭 암호화 KMS 키에서 생성된 데이터 키를 사용하여 암호화됩니다.

온프레미스 TDE 인증서를 백업하려면
  1. AWS CLI generate-data-key 명령을 사용하여 데이터 키를 생성합니다.

    aws kms generate-data-key \ --key-id my_KMS_key_ID \ --key-spec AES_256

    다음과 유사하게 출력됩니다.

    { "CiphertextBlob": "AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ 2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==", "Plaintext": "U/fpGtmzGCYBi8A2+0/9qcRQRK2zmG/aOn939ZnKi/0=", "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-00ee-99ff-88dd-aa11bb22cc33" }

    다음 단계에서 일반 텍스트 출력을 프라이빗 키 암호로 사용합니다.

  2. 다음 예와 같이 TDE 인증서를 백업합니다.

    BACKUP CERTIFICATE myOnPremTDEcertificate TO FILE = 'D:\tde-cert-backup.cer' WITH PRIVATE KEY ( FILE = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\cert-backup-key.pvk', ENCRYPTION BY PASSWORD = 'U/fpGtmzGCYBi8A2+0/9qcRQRK2zmG/aOn939ZnKi/0=');
  3. Amazon S3 인증서 버킷에 인증서 백업 파일을 저장합니다.

  4. 파일의 메타데이터에 다음 태그를 사용하여 프라이빗 키 백업 파일을 S3 인증서 버킷에 저장합니다.

    • 키 - x-amz-meta-rds-tde-pwd

    • 값 - 다음 예와 같이 데이터 키를 생성할 때의 CiphertextBlob 값입니다.

      AQIDAHimL2NEoAlOY6Bn7LJfnxi/OZe9kTQo/XQXduug1rmerwGiL7g5ux4av9GfZLxYTDATAAAAfjB8BgkqhkiG9w0B BwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMyCxLMi7GRZgKqD65AgEQgDtjvZLJo2cQ31Vetngzm2ybHDc3d2vI74SRUzZ 2RezQy3sAS6ZHrCjfnfn0c65bFdhsXxjSMnudIY7AKw==

다음 절차에서는 RDS for SQL Server TDE 인증서를 온프레미스 DB 인스턴스에 복원합니다. 인증서 백업, 해당 프라이빗 키 파일 및 데이터 키를 사용하여 대상 DB 인스턴스에서 TDE 인증서를 복사하고 복원합니다. 복원된 인증서는 새 서버의 데이터베이스 마스터 키로 암호화됩니다.

TDE 인증서를 복원하려면
  1. Amazon S3에서 대상 인스턴스로 TDE 인증서 백업 파일과 프라이빗 키 파일을 복사합니다. Amazon S3에서 파일 복사에 대한 자세한 내용은 RDS for SQL Server와 Amazon S3 간 파일 전송 섹션을 참조하세요.

  2. KMS 키로 출력 암호 텍스트를 해독하여 데이터 키의 일반 텍스트를 검색합니다. 암호 텍스트는 프라이빗 키 백업 파일의 S3 메타데이터에 있습니다.

    aws kms decrypt \ --key-id my_KMS_key_ID \ --ciphertext-blob fileb://exampleCiphertextFile | base64 -d \ --output text \ --query Plaintext

    다음 단계에서 일반 텍스트 출력을 프라이빗 키 암호로 사용합니다.

  3. TDE 인증서를 복원하려면 다음 SQL 명령을 사용합니다.

    CREATE CERTIFICATE myOnPremTDEcertificate FROM FILE='D:\tde-cert-backup.cer' WITH PRIVATE KEY (FILE = N'D:\tde-cert-key.pvk', DECRYPTION BY PASSWORD = 'plain_text_output');

KMS 해독에 대한 자세한 내용은 AWS CLI 명령 참조의 KMS 섹션에서 해독을 참조하세요.

TDE 인증서가 대상 DB 인스턴스에 복원된 후 해당 인증서를 사용하여 암호화된 데이터베이스를 복원할 수 있습니다.

참고

동일한 TDE 인증서를 사용하여 소스 DB 인스턴스의 여러 SQL Server 데이터베이스를 암호화할 수 있습니다. 여러 데이터베이스를 대상 인스턴스로 마이그레이션하려면 연결된 TDE 인증서를 대상 인스턴스에 한 번만 복사합니다.