컬럼 마스킹

도움말

마스킹 방법을 사전 정의 템플릿으로 등록하고, 민감 컬럼마다 하나의 기본 규칙을 연결합니다. 컬럼 연결 목록은 마스킹 대상 블랙리스트이며, 연결하지 않은 컬럼은 ASO 마스킹 대상이 아닙니다. 행 접근은 행 접근 정책이 계속 담당하며 이 화면은 반환값 표시 방식만 다룹니다.

연결된 컬럼은 행 접근 정책이 조회를 허용한 사용자에게도 기본적으로 마스킹됩니다. 컬럼 원문 표시 허용 사용자에 등록한 사용자만 원문을 봅니다. 이 설정은 행 접근 권한을 추가하지 않습니다. 컬럼 연결·해제 또는 연결된 규칙의 활성 상태 변경 시 DBMS_REDACT 정책도 자동 동기화됩니다.

ASO 마스킹 적용 흐름

ASO/Data Redaction은 권한 테이블을 직접 조회하지 않습니다. 토큰 처리 중 set_masking_rule_context(user_id)가 사용자별 마스킹 예외를 세션 context로 만들고, ASO 정책은 그 context만 읽습니다.

Bearer 토큰 기반 ASO 마스킹 적용 흐름 Bearer 토큰으로 사용자 컨텍스트와 컬럼별 MR context를 만들고, Oracle Data Redaction이 MR context 값에 따라 원문 또는 마스킹값을 반환한다. Bearer Token요청 주체 식별 토큰 검증set_user_by_bearer실패 시 context 정리 사용자 contextCB_AGENT_CTX.USER_IDEMP_NO · DEPT_CODE 마스킹 contextset_masking_rule_context(user_id) 컬럼별 세션 변수MR_<column_id> = Y / N현재 DB 세션에만 설정 마스킹 예외·규칙 메타데이터cb_user_masking_rule · cb_column_masking_rule DBMS_REDACTSYS_CONTEXT로 MR 읽음 MR = Y원문 표시 MR = N / NULL마스킹 적용

연결 고리: 토큰 검증 후 set_masking_rule_context(v_user_id)MR_<column_id>를 설정하고, Data Redaction 조건식은 SYS_CONTEXT('CB_AGENT_CTX', 'MR_<column_id>')만 평가합니다. 자세한 SQL은 ASO 마스킹 런타임 스크립트에서 확인하세요.

행 접근과 분리된 컬럼 제어

ASO 마스킹 설정 순서

행 접근은 행 접근 규칙과 Oracle VPD 정책이 결정합니다. 이 화면은 허용된 행 안에서 컬럼 값을 원문으로 줄지, 마스킹해서 줄지만 관리합니다.

대상 컬럼 등록
마스킹 후보 블랙리스트에 DB 컬럼을 올립니다. 이 단계만으로는 값이 마스킹되지 않습니다.
기본 규칙 연결
컬럼에 활성 컬럼 마스킹 규칙을 연결하면 DBMS_REDACT 정책이 동기화됩니다.
원문 표시 허용
예외 사용자는 컬럼 원문 표시 허용 사용자에서 지정합니다.
DB 적용 상태 확인
아래 DB ASO 정책 동기화 표에서 백오피스 활성 컬럼과 실제 Redaction 컬럼이 일치하는지 확인합니다.
사용자별 실제 결과 해석
행 접근 권한 없음
VPD에서 행이 제외되므로 컬럼 마스킹 여부와 무관하게 조회 결과가 없습니다.
행 접근 허용 + 원문 허용 없음
행은 보이지만, 이 화면에서 연결한 민감 컬럼은 ASO/Data Redaction 정책에 따라 마스킹됩니다.
행 접근 허용 + 원문 허용 있음
행은 VPD 기준으로 제한되고, 원문 허용된 컬럼만 마스킹 없이 반환됩니다.

DB ASO 정책 동기화

이제 컬럼 기본 규칙을 연결·해제하거나 연결된 규칙을 활성·비활성화하면 DB 정책도 자동으로 반영됩니다. 아래 버튼은 자동 동기화 도입 전의 기존 설정을 한 번에 보정하거나, 운영 점검 시 현재 설정을 다시 반영할 때만 사용하세요.

보호 객체DB 정책백오피스 활성 컬럼DB Redaction 컬럼레거시 VPD 컬럼 제어DB 정책 활성상태 판단
OWNER.OBJECT_NAME REDACTION_POLICY 0 0 없음 DB 적용 OFF 미적용
설명
조회할 ASO 정책이 없습니다.

사전 정의 마스킹 방식

임의 SQL이나 정규식을 직접 입력하지 않고 검증된 템플릿만 선택합니다.

템플릿방식동작ASO 구현
NULLIFY 값 숨김(NULL) 설명 DBMS_REDACT.NULLIFY

컬럼 마스킹 규칙 등록

게임 데이터 기준의 업무용 이름을 붙여 템플릿을 재사용합니다. 예: GAME_USER_ID_MASK.

등록된 컬럼 마스킹 규칙

코드규칙명템플릿설명상태
GAME_USER_ID_MASK 게임 사용자 식별자 기본 마스킹 값 숨김(NULL) 설명 Y
등록된 컬럼 마스킹 규칙이 없습니다.

마스킹 대상 컬럼 추가

DB 실제 컬럼을 ASO 마스킹 후보 블랙리스트에 등록합니다. 이 단계는 컬럼을 선택 목록에 올리는 작업이며, 실제 마스킹 적용은 아래에서 기본 규칙을 연결할 때 수행됩니다.

민감 컬럼에 기본 규칙 연결

이 목록이 마스킹 대상 블랙리스트입니다. 컬럼 하나에는 활성 규칙 하나만 연결할 수 있으며, 컬럼 원문 표시 허용 사용자는 별도 화면에서 지정합니다. 오른쪽 DB 상태는 컬럼이 속한 객체의 실제 Redaction 정책 상태입니다.

대상 컬럼규칙템플릿백오피스 설정DB ASO 적용 상태
OWNER.OBJECT_NAME.COLUMN_NAME 게임 사용자 식별자 기본 마스킹 식별자 부분 마스킹 기본 규칙 연결됨 적용됨 관리 정책 없음
상세
민감 컬럼에 연결된 컬럼 마스킹 규칙이 없습니다.