SQL 데이터 검색 및 분류
적용 대상: SQL Server
데이터 검색 및 분류는 데이터베이스의 중요한 데이터를 검색, 분류, 레이블 지정 및 보고하는 기능을 추가합니다. 이 작업은 T-SQL 또는 SSMS(SQL Server Management Studio)를 통해 수행할 수 있습니다. 가장 중요한 데이터(비즈니스, 금융, 보건 등)를 검색하고 분류하는 일은 조직 정보 보호 스태쳐에서 중추적인 역할을 할 수 있습니다. 다음에 대한 인프라를 제공할 수 있습니다.
- 데이터 개인 정보 보호 표준 충족을 돕습니다.
- 매우 중요한 데이터가 포함된 데이터베이스/열에 대한 액세스 모니터링.
참고 항목
데이터 검색 및 분류는 SQL Server 2012 이상에 지원되며, SSMS 17.5 이상에서 사용할 수 있습니다. Azure SQL 데이터베이스의 경우, Azure SQL 데이터베이스 데이터 검색 및 분류를 참조하세요.
개요
데이터 검색 및 분류는 데이터베이스뿐만 아니라 데이터를 보호하기 위한 SQL Database, SQL Managed Instance, Azure Synapse에 대해 새로운 정보 보호 패러다임을 형성합니다. 현재는 다음 기능을 지원합니다.
- 검색 및 권장 사항 – 분류 엔진은 데이터베이스를 검사하고 잠재적으로 중요한 데이터가 포함된 열을 식별합니다. 그런 다음, 열을 수동으로 분류할 뿐만 아니라 적절한 분류 권장 사항을 검토하고 적용하는 손쉬운 방법을 제공합니다.
- 레이블 지정 - 민감도 분류 레이블은 열에서 영구적으로 태그를 지정할 수 있습니다.
- 표시 유형 - 데이터베이스 분류 상태는 규정 준수 및 감사 목적으로 사용하는, 인쇄하거나 내보낼 수 있는 세부 보고서에서 확인할 수 있습니다.
중요한 열 검색, 분류 & 레이블 지정
다음 섹션에서는 데이터베이스의 중요한 데이터가 포함된 열을 검색, 분류 및 레이블 지정하고 데이터베이스의 현재 분류 상태를 보고 보고서를 내보내는 단계를 설명합니다.
분류에는 두 개의 메타데이터 특성이 포함됩니다.
- 레이블 - 열에 저장된 데이터의 민감도 수준을 정의하는 데 사용되는 주 분류 특성입니다.
- 정보 형식 – 열에 저장된 데이터의 형식에 추가 세분성을 제공합니다.
SQL Server 데이터베이스를 분류하려면:
SSMS(SQL Server Management Studio)에서 SQL Server에 연결합니다.
SSMS 개체 탐색기에서 분류하려는 데이터베이스를 선택한 다음 작업>데이터 검색 및 분류>데이터 분류...를 선택합니다.
분류 엔진은 데이터베이스에서 잠재적으로 중요한 데이터가 포함된 열을 검색(열 이름 한정 기반)하고 권장되는 열 분류 목록을 제공합니다.
권장 열 분류 목록을 보려면 위쪽에서 권장 사항 알림 상자 또는 창의 아래쪽에서 권장 사항 패널을 선택합니다.
권장 사항 목록을 검토합니다.
특정 열에 대한 권장 사항을 허용하려면 관련 행의 왼쪽 열에서 확인란을 체크합니다. 권장 사항 테이블 헤더에서 확인란을 선택하여 모든 권장 사항을 수락됨으로 표시할 수도 있습니다.
드롭다운 상자를 사용하여 권장되는 정보 형식 및 민감도 레이블을 변경할 수도 있습니다.
선택한 권장 사항을 적용하려면 선택한 권장 사항 저장 단추를 선택합니다.
참고 항목
자동 데이터 검색을 수행하고 중요한 열 권장 사항을 제공하는 권장 사항 엔진은 Microsoft Purview Information Protection 정책 모드를 사용할 때는 사용하지 않도록 설정됩니다.
분류된 열을 표시하려면 드롭다운에서 적절한 스키마 및 관련 테이블을 선택한 다음 열 로드를 선택합니다.
대안으로 열을 수동으로 분류하거나 권장 사항 기반 분류로 지정할 수도 있습니다.
창의 위쪽 메뉴에서 분류 추가를 선택합니다.
열려 있는 컨텍스트 창에서 분류하려는 열 이름과 정보 형식 및 민감도 레이블을 입력합니다. 기본 페이지의 항목을 바탕으로 스키마와 테이블이 선택됩니다.
한 번의 시도로 특정 테이블의 모든 미분류 열에 대한 분류를 추가하려면, 분류 추가 페이지의 열 드롭다운에서 분류되지 않은 모든 항목을 선택합니다.
새 분류 메타데이터를 사용하여 분류를 완료하고 영구적으로 데이터베이스 열의 레이블(태그)을 지정하려면 창의 최상위 메뉴에서 저장 단추를 선택합니다.
데이터베이스 분류 상태의 전체 요약을 사용하여 보고서를 생성하려면 창의 최상위 메뉴에서 보고서 보기를 선택합니다. (SSMS를 사용하여 보고서를 생성할 수도 있습니다. 보고서를 생성하려는 데이터베이스를 선택하고 작업>데이터 검색 및 분류>보고서 생성...을 선택합니다.)
Microsoft Purview Information Protection 정책을 사용하여 데이터베이스 분류
참고 항목
Microsoft Information Protection(약칭: MIP)는 Microsoft Purview Information Protection으로 리브랜드되었습니다. MIP 및 Microsoft Purview Information Protection라는 용어 모두 이 문서에서 서로 바꿔서 사용되지만 동일한 개념을 가리킵니다.
Microsoft Purview Information Protection 레이블을 사용하면 사용자는 SQL Server에 있는 중요한 데이터를 간단하고 균일하게 분류할 수 있습니다. MIP 민감도 레이블은 Microsoft 365 규정 준수 센터[Microsoft Purview 규정 준수 포털로 리브랜드됨]에서 만들고 관리됩니다. Microsoft Purview 규정 준수 포털에서 MIP 민감도 레이블 만들고 게시하는 방법을 알아보려면 Microsoft Information Protection 민감도 레이블 문서를 참조하세요.
이제 SSMS을 사용하여 Power BI, Office 및 기타 Microsoft 제품에서 이용하는 Microsoft Purview Information Protection 레이블을 통해 원본(SQL Server)에서 데이터를 분류할 수 있습니다. 이러한 민감도 레이블은 SQL Information Protection 정책과 동일하게 데이터베이스의 열 수준에서 적용됩니다.
지원되는 데이터 원본에 있는 민감도 레이블이 지정된 데이터에 연결하는 Power BI 데이터 세트 또는 보고서는 이러한 레이블을 자동으로 상속하며, 따라서 Power BI로 가져올 때 데이터는 분류된 상태를 유지한 채 다운스트림 애플리케이션으로 내보내집니다. SSMS에서 제공하는 MIP 정책을 사용하면 전사적 엔드투엔드 분류 솔루션을 구현할 수 있습니다.
Microsoft Purview Information Protection 정책을 구성하는 단계
SSMS(SQL Server Management Studio)에서 SQL Server에 연결합니다.
SSMS 개체 탐색기에서 분류하려는 데이터베이스를 선택한 다음 태스크>데이터 검색 및 분류>Microsoft Information Protection 정책 설정을 선택합니다.
Microsoft Information Protection 정책을 설정하는 Microsoft 365 인증 창이 표시됩니다. 로그인을 선택하고 유효한 사용자 자격 증명을 입력하거나 선택하여 Microsoft 365 테넌트에 인증합니다.
인증에 성공하면 팝업 창에 성공 상태가 표시됩니다.
선택 사항 - Microsoft 소버린 클라우드에 로그인하여 Microsoft 365 인증하려면 SSMS >도구>옵션>Azure 서비스>Azure Cloud로 이동하여 이름을 관련 Microsoft 소버린 클라우드로 변경합니다.
SSMS 개체 탐색기 창에서 분류하려는 데이터베이스를 마우스 오른쪽 단추로 클릭하고 작업>데이터 검색 및 분류>데이터 분류를 선택합니다. 이제 Microsoft 365 테넌트에 정의된 MIP 민감도 레이블을 사용하여 새 분류를 추가하고 이러한 레이블을 사용하여 SQL Server에서 열을 분류할 수 있습니다.
Microsoft Information Protection 정책 모드에서는 자동 데이터 검색 및 추천이 사용하지 않도록 설정됩니다. 현재는 SQL Information Protection 정책 모드에서만 사용할 수 있습니다.
Information Protection 정책을 기본값이나 SQL Information Protection으로 다시 설정하려면 SSMS 개체 탐색기로 이동하여 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 작업>데이터 검색 및 분류>Information Protection 정책을 기본값으로 재설정을 선택합니다. 이렇게 하면 기본값 또는 SQL Information Protection 정책이 적용되며 MIP 레이블 대신 SQL 민감도 레이블을 사용하여 데이터를 분류할 수 있습니다.
사용자 지정 JSON 파일에서 Information Protection 정책을 사용하도록 설정하려면 SSMS 개체 탐색기로 이동하여 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 작업>데이터 검색 및 분류>Information Protection 정책 파일 설정을 선택합니다.
참고 항목
경고 아이콘이 표시된다면 열이 현재 선택된 정책 모드가 아닌 다른 Information Protection 정책을 사용하여 이미 분류되었다는 뜻입니다. 예를 들어 현재 Microsoft Information Protection 모드에 있고 이전에 SQL Information Protection 정책 또는 사용자 지정 정책 파일의 Information Protection 정책을 사용하여 열 중 하나를 분류한 경우, 해당 열에 대한 경고 아이콘이 표시됩니다. 열의 분류를 현재 정책 모드에서 사용할 수 있는 민감도 레이블로 변경할지 그대로 둘지를 결정할 수 있습니다.
SSMS를 사용한 Information Protection 정책 관리
SSMS 18.4 이상을 사용하여 Information Protection 정책을 관리할 수 있습니다.
SSMS(SQL Server Management Studio)에서 SQL Server에 연결합니다.
SSMS 개체 탐색기에서 데이터베이스 중 하나를 선택하고 작업>데이터 검색 및 분류를 선택합니다.
다음 메뉴 옵션을 사용하여 Information Protection 정책을 관리할 수 있습니다.
Microsoft Information Protection 정책 설정: Information Protection 정책을 Microsoft Purview Information Protection 정책으로 설정합니다.
Information Protection 정책 파일 설정: 선택한 JSON 파일에 정의된 SQL Information Protection 정책을 사용합니다. (기본 Information Protection 정책 파일 참조)
Information Protection 정책 내보내기: Information Protection 정책을 JSON 파일로 내보냅니다.
Information Protection 정책 다시 설정: Information Protection 정책을 SQL Information Protection 정책으로 다시 설정합니다.
Important
정보 보호 정책 파일은 SQL Server에 저장되지 않습니다. SSMS는 기본 Information Protection 정책을 사용합니다. 사용자 지정 Information Protection 정책이 실패할 경우 SSMS는 기본 정책을 사용할 수 없습니다. 데이터 분류에 실패합니다. 해결하려면 Information Protection 정책 초기화를 클릭하여 기본 정책을 사용하고 데이터 분류를 다시 사용하도록 설정합니다.
분류 메타데이터 액세스
SQL Server 2019에는 sys.sensitivity_classifications
시스템 카탈로그 뷰가 도입되었습니다. 이 보기는 정보 유형 및 민감도 레이블을 반환합니다.
SQL Server 2019 인스턴스에서는 sys.sensitivity_classifications
를 쿼리하여 분류된 모든 열과 해당 분류를 검토합니다. 예시:
SELECT
schema_name(O.schema_id) AS schema_name,
O.NAME AS table_name,
C.NAME AS column_name,
information_type,
label,
rank,
rank_desc
FROM sys.sensitivity_classifications sc
JOIN sys.objects O
ON sc.major_id = O.object_id
JOIN sys.columns C
ON sc.major_id = C.object_id AND sc.minor_id = C.column_id
SQL Server 2019 이전 버전에서는 정보 유형과 민감도 레이블의 분류 메타데이터가 다음 확장 속성에 있습니다.
sys_information_type_name
sys_sensitivity_label_name
SQL Server 2017 및 이전 버전의 인스턴스에서 다음 예제는 분류된 모든 열과 해당 분류를 반환합니다.
SELECT
schema_name(O.schema_id) AS schema_name,
O.NAME AS table_name,
C.NAME AS column_name,
information_type,
sensitivity_label
FROM
(
SELECT
IT.major_id,
IT.minor_id,
IT.information_type,
L.sensitivity_label
FROM
(
SELECT
major_id,
minor_id,
value AS information_type
FROM sys.extended_properties
WHERE NAME = 'sys_information_type_name'
) IT
FULL OUTER JOIN
(
SELECT
major_id,
minor_id,
value AS sensitivity_label
FROM sys.extended_properties
WHERE NAME = 'sys_sensitivity_label_name'
) L
ON IT.major_id = L.major_id AND IT.minor_id = L.minor_id
) EP
JOIN sys.objects O
ON EP.major_id = O.object_id
JOIN sys.columns C
ON EP.major_id = C.object_id AND EP.minor_id = C.column_id
사용 권한
SQL Server 2019 인스턴스에서 분류를 보려면 VIEW ANY SENSITIVITY CLASSIFICATION 권한이 필요합니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.
SQL Server 2019 이전에서는 확장 속성 카탈로그 뷰 sys.extended_properties
를 사용하여 메타데이터에 액세스할 수 있습니다.
분류를 관리하려면 ALTER ANY SENSITIVITY CLASSIFICATION 권한이 필요합니다. ALTER ANY SENSITIVITY CLASSIFICATION은 데이터베이스 권한 ALTER 또는 서버 권한 CONTROL SERVER에 포함됩니다.
분류 관리
T-SQL을 사용하여 열 분류를 추가 또는 제거하거나, 전체 데이터베이스에서 모든 분류를 검색할 수 있습니다.
- 하나 이상의 열 분류 추가/업데이트: ADD SENSITIVITY CLASSIFICATION
- 하나 이상의 열에서 분류 제거하기: DROP SENSITIVITY CLASSIFICATION
다음 단계
Azure SQL 데이터베이스의 경우, Azure SQL 데이터베이스 데이터 검색 및 분류를 참조하세요.
열 수준 보안 메커니즘을 적용하여 중요한 열을 보호하는 것이 좋습니다.
- 사용 중인 중요한 열을 난독 처리하기 위한 동적 데이터 마스킹입니다.
- 미사용 시 중요한 열을 암호화하기 위한 Always Encrypted입니다.