규제 준수는 IT 운영에 있어 가장 어려운 일 중 하나입니다. 기업의 디지털 전환이 가속화될수록 규제의 무게감은 더욱 커집니다. 기업은 규제 준수를 위해 다양한 노력을 합니다. 관련해 가장 먼저 하는 것이 바로 데이터 보호 대책 수립입니다. 한국의 경우 개인정보보호법 관련해 기업들이 데이터베이스 암호화 솔루션 도입을 서둘렀습니다. 이는 한 번의 유행이 아닙니다. 최근에는 GDPR 규제 준수 관련해 기업 보안 관계자들이 바빴습니다.
“기업의 민감한 데이터 보호에 대한 고민을 푸는 기능”
구글이 최근 데이터 보호 관련 각종 규제 준수에 큰 도움이 되는 기능을 하나 공개했습니다. 바로 BigQuery의 컬럼 수준 보안 (BigQuery column-level security)입니다.
BigQuery는 데이터 암호화와 최소한의 접근 권한 부여 등의 기능을 제공해왔습니다. 이번에 추가된 컬럼 수준 보안 기능은 데이터 접근의 편의성을 유지하는 가운데 더 정교한 통제를 가능하게 한다는 점에서 주목할 만합니다. 이 기능을 이용하면 개인 식별 정보(PII, personally identifiable information), 환자 건강 정보(PHI, patient health information) 등의 민감한 데이터에 대한 접근 제어를 테이블 수준에서 할 수 있습니다.
구글 클라우드 이용 기업은 조직의 보안 정책에 따라 BigQuery의 컬럼에 태그를 달아 편리하게 관리할 수 있습니다. 이렇게 보호하는 데이터는 계층적 분류 체계에 따라 데이터 카탈로그로 관리됩니다. 분류 체계는 다음과 같이 두 가지로 구성됩니다.
- 데이터 클래스가 정의된 루트 노드(root node)
- 데이터 유형을 설명하는 정책 태그가 적용된 리프 노드(Leaf node)
관리자는 추상화 계층을 통해 루트 노드에서 정책을 관리할 수 있습니다. 권장하는 방식은 데이터 클래스로 나누어 루트 노드들을 관리하고, 리프 노드로 개별 컬럼을 관리하는 것입니다.
강력한 규제 대상인 산업계의 경우 민감한 데이터 처리에 손이 많이 갑니다. BigQuery의 컬럼 수준 보안 기능은 이 수고를 크게 덜어 줍니다. Prosper Marketplace의 데이터 아키텍트인 밴 캠밸은 “우리는 BigQuery의 컬럼 수준 보안 기능으로 데이터와 쿼리 공유를 간소화하였고, 높은 강도의 보안이 필요한 데이터는 이를 진정으로 필요로하는 사람만 이용할 수 있게 하였다.”라고 말합니다.
“컬럼 수준 보안 기능 알아보기”
BigQuery의 컬럼 수준 보안은 다음과 같은 형식으로 표시됩니다.
위 예의 경우 데이터 민감도에 따라 ‘제한, 민감, 무제한(Restricted, Sensitive, Unrestricted)’ 세 가지 범주로 데이터 클래스를 구분합니다. PII, PHI는 모두 강력한 접근 제어 대상입니다. 그리고 재무 데이터의 경우 민감한 정보로 구분합니다. BigQuery의 컬럼 수준 보안 기능은 사용이 편합니다. 정책은 루트 노드에서 관리합니다. 그렇다고 정책을 변경할 때 컬럼 태그를 다시 지정할 필요는 없습니다. 리프 노드를 다른 클래스로 옮기면 해당 클래스에 적용된 정책이 반영됩니다. 가령 우편 번호와 같이 접근에 제한을 두지 않는 유형의 정보를 제한 클래스에 속한 PII로 옮기면 해당 데이터에 대한 접근이 즉시 제한됩니다.
좀 더 자세히 보겠습니다. BigQuery 스키마 창을 통해 컬럼에 적용된 관련 정책을 볼 수 있습니다. 다음 그림과 같이 처음 두 문자열을 제외하고 회색으로 표시된 모든 컬럼에는 접근을 제한하는 정책 태그가 붙어 있음을 알 수 있습니다. 접근 권한이 없이 이들 컬럼을 조회하면 액세스가 거부됩니다. 이런 식의 접근 제어는 API나 뷰 등을 이용해 BigQuery 데이터에 접근할 때 모두 적용됩니다.
살펴본 바와 같이 BigQuery의 컬럼 수준 보안 기능은 민감한 데이터 보호에 대한 기업의 데이터 거버넌스를 강화합니다. 규제 준수에 평소 고민이 있었다면? 지금 바로 이 기능을 사용해 보십시오.