SQL Server 2022의 보안 향상에 대해 알아보기

완료됨

이 단원에서는 데이터를 보호하고 관리하는 데 도움이 되는 SQL Server 2022의 보안 향상 기능 중 일부를 살펴봅니다.

  • Always Encrypted의 향상된 기능
  • 새로 세분화된 고정 서버 역할
  • 엄격한 연결 암호화(TDS 8.0 및 TLS 1.3)
  • 동적 데이터 마스킹에 대한 세분화된 UNMASK 권한

Secure Enclave를 사용한 Always Encrypted의 향상된 기능

Secure Enclave를 사용하는 Always Encrypted는 서버 측 Secure Enclave 내에서 일반 텍스트 데이터에 대한 일부 계산을 허용합니다. 보안 enclave는 데이터베이스 엔진 프로세스 내에서 보호되는 메모리 영역입니다. 보안 Enclave는 데이터베이스 엔진의 나머지 부분 및 호스팅 머신의 다른 프로세스에서 불투명 상자로 표시됩니다. 디버거를 사용하더라도 외부에서 Enclave 내의 데이터나 코드를 볼 수 없습니다. 해당 속성을 사용하면 데이터 기밀성 손상 없이 일반 텍스트 형식의 암호화 키 및 중요한 데이터에 안전하게 액세스할 수 있는 보안 enclave의 ‘신뢰 실행 환경’이 생성됩니다.

Azure SQL Database 또는 SQL Server에서 Always Encrypted의 흐름을 보여 주는 다이어그램

SQL Server 2022는 암호화된 열에서의 JOIN, GROUP BY 및 ORDER BY 작업을 사용하여 기밀 쿼리를 추가로 지원합니다.

기밀 쿼리는 보안 Enclave 내에서 수행되는 enclave 사용 열에 대한 작업을 포함하는 DML(데이터 조작 언어) 쿼리입니다.

보안 Enclave 내에서 지원되는 작업은 다음과 같습니다.

작업 Azure SQL Database SQL Server 2022(16.x) SQL Server 2019 (15.x)
비교 연산자 지원됨 지원 지원됨
BETWEEN(Transact-SQL) 지원됨 지원 지원됨
IN(Transact-SQL) 지원됨 지원 지원됨
LIKE(Transact-SQL) 지원됨 지원 지원됨
DISTINCT 지원됨 지원 지원됨
조인 지원됨 지원됨 중첩된 루프 조인만 지원됨
SELECT - ORDER BY 절(Transact-SQL) 지원됨 지원됨 지원되지 않음
SELECT - GROUP BY- Transact-SQL 지원됨 지원됨 지원되지 않음

세분화된 고정 서버 역할

SQL Server는 특정 서버 기반 활동에 대한 사용 권한을 제공하는 부담을 덜어주는 고정 서버 역할을 제공합니다. 예를 들어 SQL 보안 주체를 sysadmin 고정 서버 역할에 할당하여 보안 주체에게 SQL Server 인스턴스 전체에서 가능한 가장 광범위한 사용 권한 집합을 제공할 수 있습니다.

SQL Server 2022에는 특정 작업에 대해 보다 세부적인 권한을 제공하는 새로운 고정 서버 역할이 추가되었습니다. 예를 들어 새 고정 서버 역할 ##MS_ServerPerformanceStateReader##을 사용하면 모든 멤버가 DMV(동적 관리 뷰)를 통해 주요 성능 메트릭을 볼 수 있지만 sysadmin 역할의 멤버와 동일한 전체 권한은 볼 수 없습니다. 새 고정 서버 역할은 최소 권한 원칙의 개념을 제공합니다.

SQL Server 2022에 도입된 모든 서버 역할 및 자세한 내용은 SQL Server 2022에 도입된 고정 서버 수준 역할을 참조하세요.

엄격한 연결 암호화

SQL Server 2022는 새 버전의 TDS(Tabular Data Stream) 프로토콜 8.0을 통해 연결 및 통신을 암호화하는 보다 안전한 방법을 제공합니다. 애플리케이션에서 새 연결 문자열 옵션 Encrypt=strict을 사용하는 경우 TDS 8.0을 사용하여 SQL Server 2022와 통신합니다.

TDS 8.0은 다음과 같은 이점을 제공합니다.

  • TDS 로그인 통신은 TLS(전송 계층 시스템) 프로토콜에 따라 완전히 보호됩니다.
  • 이제 최신 TLS 1.3 버전이 지원됩니다.
  • 애플리케이션은 TrustServerCertificate 옵션에 의존하지 않고 암호화 목적으로 인증서를 지정해야 합니다. 이 요구 사항은 중간자(man-in-the-middle) 공격을 방지하는 데 도움이 될 수 있습니다.

자세한 내용은 TDS 8.0 및 TLS 1.3 지원엄격한 암호화를 사용하여 SQL Server 연결을 참조하세요.

동적 데이터 마스킹에 대한 세분화된 UNMASK 권한

동적 데이터 마스킹을 사용하면 고객이 애플리케이션 계층에 미치는 영향을 최소화하고 표시할 중요한 데이터의 양을 지정할 수 있게 하여 중요한 데이터에 대한 무단 액세스를 방지할 수 있습니다. 쿼리의 결과 집합을 마스킹하면 지정된 데이터베이스 필드에 대한 쿼리의 결과 집합에서 민감한 데이터를 숨길 수 있지만 데이터베이스의 데이터는 변경되지 않습니다.

이전에는 동적 데이터 마스킹이 열 수준에서 마스킹된 데이터만 마스킹했습니다. SQL Server 2022부터 데이터베이스의 서로 다른 수준에서 권한이 없는 사용자에게 마스킹하여 중요한 데이터에 대한 무단 액세스를 방지하고 제어권을 얻을 수 있습니다. 데이터베이스 수준, 스키마 수준, 테이블 수준 또는 열 수준에서 사용자 또는 데이터베이스 역할에 UNMASK 권한을 부여하거나 철회할 수 있습니다. 이 향상된 기능은 데이터베이스에 저장된 데이터에 대한 무단 액세스를 제어 및 제한하고 데이터 보안 관리를 개선하는 보다 세부적인 방법을 제공할 수 있습니다.

보안 향상의 전체 목록과 자세한 내용은 SQL Server 2022(16.x) 보안의 새로운 기능을 참조하세요.