MongoDB 데이터 정책 및 규칙 설정
Overview
MongoDB 에 개인정보 또는 민감정보와 같이 접근 제한이 필요한 데이터는 조회시 해당 데이터를 확인할 수 없도록 Collection, JSON Value 에 대해 데이터 접근 제한 및 마스킹 정책을 설정할 수 있습니다. QueryPie에서 지원하는 DBMS 중 MongoDB의 경우 항상 데이터를 JSON 형태로 저장하기 때문에 별도의 포맷팅 로직을 사용하게 됩니다.
최초 정책 생성은 아래 링크를 확인해주세요.
마스킹 정책에 규칙 등록하기
정책을 생성하고 나면, 실제로 정책을 적용할 데이터의 경로를 규칙으로 등록합니다.
정책을 생성하고 나면, 실제로 정책을 적용할 데이터의 경로를 규칙으로 등록합니다.
Data Masking 메뉴에서 생성한 정책을 클릭합니다.
정책 세부 정보 및 규칙 등록 화면이 표시되고 우측에서
Add Rule List
버튼을 클릭합니다.정책을 적용할 데이터의 경로를 차례대로 선택합니다.
Database Name: 규칙 등록을 위한 필수 값입니다.
Table Name: MongoDB 의 경우 Collection 이름을 입력합니다.
Column Name: MongoDB 의 경우 Document 내에서 마스킹을 적용할 JSON Attribute 값을 입력합니다.
마스킹 패턴을 적용합니다.
3번에서 선택한 컬럼에 적용할 마스킹 패턴을 1개 이상 선택합니다.
기본적으로 20여가지의 개인정보 및 민감정보를 마스킹하는 패턴을 제공합니다.
Masking Pattern 메뉴에서 정규식을 통해 직접 탐지 패턴과 마스킹 패턴을 생성할 수 있습니다.
해당 데이터 조회가 필요한 사용자 또는 그룹에 한해 마스킹 규칙을 예외 처리할 수 있습니다.
Allowed Users: 해당 규칙을 예외처리할 사용자 또는 그룹을 선택합니다.
Ok
버튼 통해 저장합니다.
Rule List 탭에서 규칙이 등록된 것을 확인할 수 있습니다. 이제 사용자가 MongoDB 에서 해당 Collection 의 Document 를 조회할 경우 적용한 마스킹 패턴에 따라 사전에 지정한 Attribute 의 Vaule 값이 ‘*****@gmail.com’와 같이 마스킹되어 표시됩니다.
Collection / JSON Value 접근 제한 정책에 규칙 등록하기
정책을 생성하고 나면, 실제로 정책을 적용할 데이터의 경로를 규칙으로 등록합니다.
Data Access 메뉴에서 생성한 정책을 클릭합니다.
정책 세부 정보 및 규칙 등록 화면이 표시되고 우측에서
Add Rule List
버튼을 클릭합니다.정책을 적용할 데이터의 경로를 차례대로 선택합니다.
Database Name: 규칙 등록을 위한 필수 값입니다.
Table Name: 규칙 등록을 위한 필수 값입니다. 테이블만 선택할 경우, 해당 테이블 조회 자체가 불가능하도록 제한됩니다. MongoDB 의 경우 Collection 이름을 입력합니다.
Column Name: MongoDB 에서는 Document 내의 특정 Value 에 대하여 데이터 접근을 제한하고자 하는 경우 JSON Attribute 값을 입력합니다.
해당 데이터 조회가 필요한 사용자 또는 그룹에 한해 접근 제한 규칙을 예외 처리할 수 있습니다.
Allowed Users: 해당 규칙을 예외처리할 사용자 또는 그룹을 선택합니다.
Ok
버튼 통해 저장합니다.
Rule List 탭에서 규칙이 등록된 것을 확인할 수 있습니다. 이제 사용자가 해당 데이터를 조회하면, 테이블에 정책이 적용된 경우 테이블 자체를 조회할 수 없고, 컬럼에 규칙이 적용된 경우 {RESTRICTED} 로 표시됩니다.
JSON PATH 예시
정책을 적용할 MongoDB의 데이터의 예시는 다음과 같습니다.
{
_id: ObjectId("64b3f7ad344ac8c881a09dc6"),
item: "journal",
qty: 25,
tags: ["blank", "red"],
size: {
h: 14,
w: 21,
uom: "cm"
}
}
Case 1. item 속성 접근 제한
하나의 속성에 대해 접근제한 정책을 설정할 경우 “Column Name” 항목에 item을 입력 후 OK
버튼을 클릭합니다.
위 스크린샷과 같이 item 속성의 값이 “Restricted Column”으로 표시되는 것을 확인할 수 있습니다.
Case 2. size.h 속성 접근 제한
size하위의 h속성에 대해 접근제한 정책을 설정할 경우 “Column Name” 항목에 $.size.h을 입력 후 OK
버튼을 클릭합니다.
위 스크린샷과 같이 size 하위의 h속성의 값이 “Restricted Column”으로 표시되는 것을 확인할 수 있습니다.
Case 3. size 하위 모든 속성 접근 제한
size 하위의 모든 속성에 대해 접근제한 정책을 설정할 경우 “Column Name” 항목에 $.size을 입력 후 OK
버튼을 클릭합니다.
위 스크린샷과 같이 size 하위의 모든속성의 값이 “Restricted Column”으로 표시되는 것을 확인할 수 있습니다.
Case 4. tags 속성의 리스트 2번째 값에 대한 접근 제한
tags속성의 리스트 값 중 2번째 값에 대한 접근제한 정책을 설정할 경우 “Column Name” 항목에 $.tags[1]을 입력 후 OK
버튼을 클릭합니다.
위 스크린샷과 같이 tags속성의 2번째 값이 “Restricted Column”으로 표시되는 것을 확인할 수 있습니다.