"이 블로그는 AlwaysOn 가용성 그룹으로 투명한 데이터 암호화를 설정하는 데 필요한 자세한 단계를 보여줍니다."
소개
SQL Server는 고객의 중요한 데이터를 보호하기 위해 실제 파일을 암호화하는 TDE(투명한 데이터 암호화)를 제공합니다. Enterprise Edition 기능으로 SQL Server 2008과 함께 도입되었습니다.
TDE는 다음 SQL Server 에디션에서 사용할 수 있습니다.
• SQL Server 2008, 2008 R2, 2012, 2014, 2016, 2017(평가, 개발자, 엔터프라이즈)
From SQL version 2019, TDE is available on most of the editions available.
• SQL Server 2019 - 표준, 평가, 개발자, 엔터프라이즈
다음에서 AlwaysOn 가용성 그룹으로 TDE를 구성하는 방법을 살펴보겠습니다. 시나리오.
- AG 그룹에 TDE 암호화 데이터베이스 추가
- AG 그룹에 이미 존재하는 데이터베이스에 대해 TDE를 구성합니다.
- 만료된 인증서 순환
시나리오:AG 그룹에 TDE 암호화 데이터베이스 추가
2노드 AG를 사용하여 TDE를 설정하고 다음 프로세스에서 단계를 자세히 설명합니다. 각 보조 복제본에서 보조 단계를 따릅니다(2개 이상의 보조 복제본이 있는 경우)
• 기본 복제본:node1
• 보조 복제본:node2
• AG 그룹:TDE_AG
도움말: 항상 DBCC CHECKDB를 실행하여 데이터베이스에 오류가 없는지 확인하고 TDE를 구현하기 전에 데이터베이스의 최신 전체 백업을 수행하는 것이 좋습니다.
1단계:기본 인스턴스 - 마스터 키 생성
TDE를 처음 암호화하는 경우 마스터 키가 없어야 하며 결과 집합을 제공하지 않는 다음 SQL을 사용할 수 있습니다.
이제 강력한 암호를 사용하여 마스터 데이터베이스에 마스터 키를 만듭니다.
마스터 키 확인:
모범 사례로 마스터 키를 안전한 위치에 백업하십시오. 백업 비밀번호는 마스터키 비밀번호와 다를 수 있습니다.
2단계:기본 인스턴스 - 인증서 생성
데이터베이스 암호화 키를 보호하기 위한 인증서를 생성합니다. 인증서의 기본 만료일은 1년입니다.팁 :1년 안에 만료되는 것은 좋지 않으므로 5년으로 만료 날짜를 설정하는 것이 좋습니다.
아래 TSQL을 사용하여 인증서가 생성되었는지 확인합니다.
3단계:기본 인스턴스 - 데이터베이스 암호화 키(DEK) 생성
실제 데이터베이스 콘텐츠를 암호화하기 위한 대칭 키인 DEK를 생성하고 사용 가능한 AES 알고리즘을 사용하여 생성할 수 있습니다.
4단계:기본 인스턴스 - 인증서 백업
좋은 방법으로 인증서와 개인 키를 백업하십시오. 이를 통해 데이터베이스 백업 파일을 복원하거나 데이터베이스 데이터 파일을 다른 SQL Server 인스턴스에 첨부할 수 있습니다.
5단계:보조 인스턴스 - 마스터 키 생성
존재하지 않는 경우 모든 보조 복제본에 대해 데이터베이스 마스터 키를 생성해야 합니다. 이는 기본 인스턴스의 1단계와 같습니다. 마스터 키는 1단계에서 두 인스턴스 모두에 이미 생성되었습니다.
6단계:보조 인스턴스 - 보조 인증서 생성
주 복제본에서 모든 보조 복제본으로 인증서를 복사하고 주 복제본 인증서를 사용하여 보조 복제본에 인증서를 만듭니다.
주 복제본에서 백업을 암호화하는 데 이전에 사용한 암호 해독 암호를 지정해야 합니다.
7단계:기본 인스턴스 - TDE 암호화 활성화
필요한 데이터베이스에서 TDE를 활성화하기 위한 마지막 단계로 다음 명령을 쿼리합니다.
이제 암호화 프로세스의 진행 상황을 모니터링하고 암호화가 완료되었음을 나타내는 상태가 3인지 확인합니다.
다음 쿼리는 데이터베이스에서 TDE가 활성화된 데이터베이스를 나열합니다.
위의 결과는 TDE_DB 데이터베이스에서 TDE가 활성화되었음을 나타내며 암호화 상태 3은 데이터베이스가 완전히 암호화되었음을 의미합니다. 기본적으로 tempdb는 사용자 데이터베이스에서 TDE를 사용하여 암호화할 때 자동으로 암호화됩니다.
8단계:가용성 그룹에 데이터베이스 추가
암호화된 데이터베이스를 AG 그룹에 추가해 보겠습니다.
참고 :가용성 그룹에 TDE 암호화된 데이터베이스를 추가하면 SSMS의 GUI 옵션이 지원되지 않습니다.
AG 그룹에 데이터베이스를 추가하려면 TSQL을 사용해야 합니다. 주 복제본에서 전체 백업, 데이터베이스 TDE_Test 데이터베이스에 대한 트랜잭션 로그 백업을 수행하고 복사합니다. 그런 다음 NORECOVERY
로 복원해야 합니다. 보조에.
백업 및 복원이 완료되면 다음 명령을 실행하여 데이터베이스를 가용성 그룹에 추가합니다.
9단계:AG 상태 검증
이제 대시보드와 수동 장애 조치 테스트를 통해 AG 상태 확인 상태를 검증하여 TDE가 활성화된 데이터베이스가 제대로 작동하는지 확인하십시오.
시나리오:AG 그룹에 이미 존재하는 데이터베이스에 TDE를 구성합니다.
데이터베이스가 이미 AG 그룹에 추가된 경우 TDE를 활성화하는 단계(첫 번째 시나리오에서 논의한)를 따릅니다.
1단계:기본 인스턴스 - 마스터 키 생성
2단계:기본 인스턴스 - 인증서 생성
3단계:기본 인스턴스 - 데이터베이스 암호화 키(DEK) 생성
4단계:기본 인스턴스 - 인증서 백업
5단계:보조 인스턴스 - 마스터 키 생성
6단계:보조 인스턴스 - 보조 인증서 생성
7단계:기본 인스턴스 - TDE 암호화 활성화
9단계:AG 상태 검증
이전 시나리오에서 두 복제본 모두에 마스터 키와 인증서를 이미 생성했으므로 1,2,4,5,6,7 단계를 건너뛸 수 있습니다. DEK를 생성하고 3단계와 7단계에서 TDE를 활성화하기만 하면 됩니다.
• 주 복제본:node1
• 보조 복제본:node2
• AG 그룹:TDE_AG
• AG 데이터베이스 :Test_tde
• TDE 인증서 :TDE_AG2021
3단계 및 7단계 – 기본 인스턴스에서
암호화 프로세스의 진행 상황을 모니터링하고 암호화가 완료되었음을 설명하는 상태가 3인지 확인합니다.
다음 쿼리로 TDE 지원 데이터베이스를 확인하십시오.
AG 상태 확인을 확인하고 장애 조치 테스트를 수행하여 모든 것이 제대로 작동하는지 확인합니다.
시나리오:만료된 인증서 순환
TDE 인증서가 곧 만료된다는 것을 알게 되면 만료된 인증서가 데이터베이스 일반 작업에 문제를 일으키지 않더라도 모범 사례로 인증서를 교체해야 합니다.
TDE 인증서의 만료 날짜를 확인하고 설명된 단계에 따라 SQL TDE 인증서를 교체할 수 있습니다.
1단계:기본 인스턴스 - 새 인증서 생성
2단계:기본 인스턴스 - 인증서 백업
3단계:보조 인스턴스 - 보조 인증서 생성
4단계:기본 인스턴스 - SQL TDE 인증서 교체
Test_tde 데이터베이스의 만료 날짜 확인:
5단계:AG 상태 확인:
만료된 TDE 인증서를 잠시 저장하여 이전 백업을 복원합니다. 새 인증서는 키 순환 이후 백업된 데이터베이스를 복원할 때만 사용됩니다.
결론
SQL Server는 고객의 기밀 정보를 보호하기 위해 실제 파일을 암호화하는 TDE(투명한 데이터 암호화)를 제공합니다. 이 블로그에서는 AlwaysOn 가용성 그룹 데이터베이스에 대해 TDE를 구성하는 다양한 시나리오를 설명했습니다.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.