개요
TencentDB for MySQL은 TDE(Transparent Data Encryption) 기능을 지원합니다. TDE란 데이터의 암호화, 복호화 작업을 사용자에게 투명하게 보여주는 것으로, 데이터 파일에 대한 I/O 암호화 및 복호화를 실시간으로 진행합니다. 데이터를 디스크에 입력하기 전에 암호화하고 디스크에서 메모리를 읽을 때 복호화함으로써 정적 데이터 암호화의 컴플라이언스 요구를 충족할 수 있습니다.
전제 조건
- 인스턴스 아키텍처는 2노드/3노드여야 합니다.
- 인스턴스 유형은 반드시 MySQL 5.7, MySQL 8.0여야 합니다.
- KMS가 활성화되어 있어야 합니다. KMS를 활성화하지 않았다면 데이터 암호화의 활성화 과정에서 안내에 따라 활성화할 수 있습니다.
- KMS 키 권한을 부여 받아야 합니다. 부여 받지 않았다면 데이터 암호화 활성화 과정에서 안내에 따라 권한을 부여 받을 수 있습니다.
- 작업 계정에 QcloudAccessForMySQLRole 권한이 있어야 하며, 권한이 없다면 데이터 암호화 활성화 과정에서 안내에 따라 권한을 부여 받을 수 있습니다.
설명:
- 암호화에 사용하는 키는 KMS를 통해 생성 및 관리되며, TencentDB for MySQL은 암호화에 필요한 키 및 인증서를 제공하지 않습니다.
- TDE(Transparent Data Encryption) 기능은 추가 요금이 발생하지 않지만 KMS는 요금이 발생할 수 있습니다. 자세한 내용은 Billing Overview를 참고하십시오.
- 계정 연체 시 KMS에서 키를 획득할 수 없어 마이그레이션, 업그레이드 등의 작업에 실패할 수 있습니다. Notes on Arrears를 참고하십시오.
주의 사항
- 부여된 권한 관계를 취소한 후 재시작하면 MySQL 데이터베이스를 사용할 수 없게 됩니다.
- 활성화한 TDE 암호화 기능은 비활성화할 수 없습니다.
- TDE 암호화 기능을 활성화한 후, 사용자가 데이터를 로컬에 복구해야 하는 경우에는 먼저 데이터를 복호화해야 합니다.
- TDE 암호화 기능을 활성화하면 정적 데이터의 보안성은 향상되지만 암호화된 데이터베이스에 액세스 시 읽기 및 쓰기 성능에 영향을 미치므로, 실제 상황에 따라 TDE 암호화 기능의 활성화 여부를 선택하시기 바랍니다.
- 원본 인스턴스를 읽기 전용 인스턴스 또는 재해 복구 인스턴스에 연결하려면 원본 인스턴스의 데이터 암호화 기능만 활성화하면 되며, 읽기 전용 인스턴스와 재해 복구 인스턴스의 데이터 암호화는 함께 활성화됩니다.
- TDE 암호화 기능을 활성화한 후 계정이 연체된 경우 KMS에서 키를 획득할 수 없어 마이그레이션, 업그레이드 등의 작업에 실패할 수 있습니다.
- TDE가 활성화되면 더 많은 CPU 리소스가 소비되고 성능의 약 5%가 영향을 받습니다.
- TDE가 활성화되면 인증된 애플리케이션과 사용자가 데이터에 투명하게 액세스할 수 있습니다.
작업 단계
TDE 암호화 기능 활성화
- MySQL 콘솔 로그인 후, 인스턴스 리스트에서 인스턴스 ID 또는 작업열의 관리를 클릭하여 관리 페이지로 이동합니다.
- 데이터 암호화를 선택하고, 암호화 상태 뒤에 있는 스위치를 클릭합니다.
주의:
- 데이터 암호화 기능을 활성화한 인스턴스는 물리 백업으로 다른 CVM의 자체 구축 데이터베이스에 복구할 수 없습니다.
- 데이터 암호화를 활성화한 후에는 비활성화할 수 없습니다.
- 팝업 창에서 KMS 서비스 활성화 및 KMS 키 권한을 부여받고, 키를 선택한 후에 암호화를 클릭합니다.
- Tencent Cloud에서 자동 생성한 키 사용을 선택하면 Tencent Cloud에서 키를 자동으로 생성합니다.
- 사용자 지정 키 사용을 선택하면 직접 생성한 키를 선택할 수 있습니다.
설명:
사용자 지정 키가 없을 경우 생성하기를 클릭하여 키 관리 시스템 콘솔에서 키를 생성해야 합니다. 자세한 내용은 Creating a Key를 참고하십시오.
데이터 테이블 암호화
TDE 암호화 기능을 활성화한 후, 사용자는 MySQL 테이블에 다음의 DDL 작업을 실행해야 데이터를 암호화할 수 있습니다.
생성 중인 테이블을 암호화하려면 다음 명령어를 실행하시기 바랍니다.
CREATE TABLE t1 (c1 INT) ENCRYPTION=’Y’;
이미 생성한 테이블을 암호화하려면 다음 명령어를 실행하시기 바랍니다.
ALTER TABLE t1 ENCRYPTION=’Y’;
데이터 테이블 복호화
TDE 암호화 기능을 활성화한 후, 사용자는 MySQL 테이블에 다음의 DDL 작업을 실행해야 데이터를 복호화할 수 있습니다.
암호화된 테이블을 복호화하려면 다음 명령어를 실행하시기 바랍니다.
ALTER TABLE t1 ENCRYPTION=’N’;
문제 해결에 도움이 되었나요?