데이터 치환(Data Redaction) 모든 개인 식별 정보(PII: Personally Identifiable Information) 같은 민감한 정보를 보호하는 주요 방법입니다. 개인 식별 정보(PII)는자체 데이터로만 또는 다른 정보와 결합되어 특정 개인을 식별하거나 사람의 위치 정보를 식별할 있는 것을 의미합니다. Redaction 기능을 사용하면 PII 정보를 식별 정보를 포함하지 않는 패턴으로 변환 있습니다. 예를 들면, 123-45-6789 같은 주민번호(Social Security Number) 다음과 같은 형식과 같이 인지할 없는 문자열로 변환할 있습니다: XXX-XX-XXXX 또는 XXX-XX-6789.

하둡내의 데이터를 보호하기 위해서 암호화 기술을 사용할 있지만, 암호화만을 사용하여 하둡내의 데이터를 보호하는 경우에 발생할 있는 문제점은 클러스터내의 모든 데이터에 대한 접근 권한을 가지는 관리자의 경우, 관리자는 복호화된 민감한 사용자 데이터에 대한 접근 권한을 가지는 것을 의미합니다. 비록 데이터에 적절한 ACL 있는 사용자 조차도 민감한 데이터에 대한 로그나 쿼리에 대한 접근 권한을 가질수 있기 때문에 이러한 환경에서는 민감한 데이터가 전체 또는 일부 유출될 수도 있습니다

데이터 치환(Data Redaction) PCI HIPAA 같은 산업 표준 규정을 준수하기 위해 활용해야되는 중요 기능을 제공합니다. 기능을 활용하여 민감한 사용자 정보는 클러스터 관리자나 데이터 분석가와 같은 다른 채널의 사용자들이 활용할 없도록 방지해야 합니다.   

Log and Query Redaction - Scope and Rules

CDH내의 데이터 치환(Data Redaction) 민감한 SQL 데이터  로그 파일을 대상으로 합니다. HDFS 서비스-수준 구성정보를 변경하여 전체 클러스터 대상으로 Redaction Enable 또는 Disable 있습니다. Redaction 메타데이터가 아닌 데이터 자체에 민감한 정보가 있음을 가정으로 구현됩니다. 특정 파일에 대한 Redaction 기능을 활성화한 경우, 해당 파일내에 있는 민감한 데이터만이 치환됩니다. 파일의 이름이나 파일의 소유자와 같은 메타데이터는 치환대상이 없습니다.

Data Redaction enabled 경우, 다음과 같은 데이터들이 치환됩니다 :

·         HDFS내의 로그 종속된 모든 클러스터 서비스. Log Redaction 기능은 Isilon기반의 클러스터에서는 사용할 없습니다.

·         Cloudera Navigator 전송되는 감사 데이터(Audit Data)

·         Hue, Hive  Impala에서 출력되는 SQL 쿼리 스트링.

Redaction Rules

Redaction 기능은 패턴 매칭을 기반으로 합니다. 주민등록번호, 신용카드 번호와 일자와 같은 민감한 정보의 패턴을 검색할 있는 Redaction Rule 정의하기 위해서 Regular Expression 사용합니다

Redaction Rule 생성하기 위해서 다음과 같이 Cloudera Manager 사용합니다:  

·         Search: 데이터에 매핑되는 정규식 표현(Regular Expression). 데이터에 정규식과 매핑되는 패턴이 검출되는 경우, 대체 문자열(Replace String)으로 해당 데이터가 변경됩니다. 예를 들어, 신용카드 번호를 치환하기 위한 정규식 표현식(Regular Expression) "\d{4}[^\w]\d{4}[^\w]\d{4}[^\w]\d{4}" 같습니다..

·         Replace: 정규식 표현식으로 검색된 데이터를 수정할 문자열(String) 스트링 값입니다. 예를 들어, 신용카드의 카드 번호를 X 문자열로 변경하기 위해서는 대체 문자열(Replace String) 값은 XXXX-XXXX-XXXX-XXXX입니다.

·         Trigger: 데이터 상에서 검색할 간략한 문자열을 지정(선택 사항). RedactorTrigger 정의된 문자열이 해당 데이터에 있는 경우에만 정규식 표현식과 데이터가 일치하는지 여부를 검색합니다. Trigger 항목을 기입하지 않는 경우에는 데이터가 검색 정규 표현식과 패턴이 매핑되는 경우에만 데이터를 수정합니다. 단순한 스트링 매칭이 Regular Expression Matching 보다는 빠르기 때문에 옵션을 사용하면 성능을 개선 시킬 있습니다

다음은 Cloudera Manager 사전에 정의된 Redaction Rule입니다. 복수 개의 Redaction Rule 순차적으로 실행됩니다아래의 예에서는 최초 신용카드의 데이터가 치환되며, 다음으로 SSN, Email 정보 순서로 치환되며, 마지막에는 Hostname 정보가 치환됩니다

Redaction Rule

Search Expression

Replace Expression

Credit Card numbers (with separator)

\d{4}[^\w]\d{4}[^\w]\d{4}[^\w]\d{4}

XXXX-XXXX-XXXX-XXXX

Social Security numbers (with separator)

\d{3}[^\w]\d{2}[^\w]\d{4}

XXX-XX-XXXX

Email addresses

\b([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-\._] \ *[A-Za-z0-9])@(([A-Za-z0-9]|[A-Za-z] \ [A-Za-z0-9\-]*[A-Za-z0-9])\.)+([A-Za-z0-9] \ |[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])\b

email@redacted.host

Hostnames

\b(([A-Za-z]|[A-Za-z][A-Za-z0-9\-] \ *[A-Za-z0-9])\.)+([A-Za-z0-9] \ |[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])\b

HOSTNAME.REDACTED

Enabling Log and Query Redaction Using Cloudera Manager

Cloudera Manager의 레이아웃은 크게 1) Classic Layout 2) New Layout이 있으며, Cloudera는 클래식 모드 대신 New Layout 사용을 권장합니다. New Layout Redaction Rule을 사전에 구성하고 테스트 할 수 있습니다. Cloudera Manager를 활용하여 "Log and Query Redaction"을 구성하기 위해서는 :

1.    HDFS 서비스로 이동.

2.    Configuration 탭 클릭.

3.    검색 창에서, 다음과 같은 Redaction 속성을 표시하기 위해 옵션 값을 입력

Property

Description

Enable Log and Query Redaction

클러스터에 "Log and Query Redaction"을 적용하기 위한 체크박스 - 체크박스 확인란을 선택

Log and Query Redaction Policy

Log 파일과 Query 스트링에서 민감한 정보를 수정하는 룰(Rule) 목록입니다. 미리 구성된 룰을 사용하거나, 사용자 룰(Custom Rule)을 추가하십시오. "Test Redaction Rules"에 테스트용 데이터를 입력하고, "Test Redaction"을 클릭. 정규식 표현식과 패턴이 매핑되지 않는 경우에는, 입력한 텍스트는 변화되지 않고 반환됩니다.

4.    변경사항을 적용하기 위해서, "Save Changes"을 클릭.

5.    클러스터 재시작

'NoSQL > cloudera' 카테고리의 다른 글

cdh install  (0) 2016.10.26
CDH 인증, 권한, 암호화, navi  (0) 2016.10.18

+ Recent posts