구글 PS1팀 김소원
GCP(Google Cloud Platform)에서는 Policy Tag를 통해, 개인 정보 등 민감한 정보의 Column에 권한이 부여된 개인정보 취급자1에게만 정보를 공개하여 안전하게 데이터를 관리합니다.
Policy Tag의 계층 적 그룹을 만들고, BigQuery Column에 Policy Tag를 지정하여 액세스 제어를 적용합니다.
![](https://image-kr.bespinglobal.com/wp-content/uploads/2021/05/1-1.png)
데이터 클래스의 계층 구조
조직에서 처리하는 데이터의 종류를 고려하여 업무에 적합한 데이터 클래스의 계층 구조를 만듭니다. Policy Tag의 데이터 클래스 계층 구조를 만들면 아래와 같이 관리할 수 있습니다.
![](https://image-kr.bespinglobal.com/wp-content/uploads/2021/05/2-1.png)
- 하나의 Policy Tag를 여러 Column에 적용 가능하며, 몇 개의 Policy Tag 만으로 여러 Column을 효율적으로 관리합니다.
- 서로 다른 Policy Tag에 액세스해야 하는 사용자 그룹이 있다면, Policy Tag 별로 사용자 그룹에게 권한을 주어 관리 할 수 있습니다.
- Policy Tag를 그룹화하여, Policy Tag가 모두 포함된 루트 Policy Tag를 만들어 사용 할 수 있으며, 상위 레벨에 권한을 부여하면 하위 Tag 에도 동일하게 적용이 됩니다.
BigQuery Column 수준 보안
BigQuery Column 수준 보안을 사용하면 Query시 사용자에게 적절한 액세스 권한이 있는지 확인하며 다음과 같은 액세스 검사를 시행합니다.
- Credit_Card(Column)을 보려면 Business Criticality:high 에 권한 있어야 합니다.
GCP 실습
Policy Tag 생성
![GCP Console > Data Catalog2 > Policy Tags](https://image-kr.bespinglobal.com/wp-content/uploads/2021/05/3-1.png)
[GCP Console > Data Catalog2 > Policy Tags]
![BigQuery Dataset Info](https://image-kr.bespinglobal.com/wp-content/uploads/2021/05/4-1.png)
[BigQuery Dataset Info]
- 분류(taxonomy)의 Location과 Big Query의 Table의 Data Location이 일치해야 Policy Tag를 설정할 수 있습니다.
- Policy Tag 생성을 위해 아래 권한이 필요합니다.
역할 | 설명 |
---|---|
roles/datacatalog.categoryAdmin | 분류(Taxonomy)를 관리합니다. |
Policy Tag를 BigQuery Column에 적용
Policy Tag 적용 전
- 모든 Column 조회 성공
Policy Tag 적용 후
- BigQuery Column에 Policy Tag 적용한 화면
[BigQuery > Table > EDIT SCHEMA > Column 선택 > ADD POLICY TAG > Policy Tag 선택]
![](https://image-kr.bespinglobal.com/wp-content/uploads/2021/05/7-1.png)
※ Policy Tag 설정된 Column의 데이터를 보기위해 아래 FineGrainedReader 권한이 필요합니다.
역할 | 설명 |
---|---|
roles/datacatalog.categoryFineGrainedReader | 정책으로 태그를 지정한 하위 리소스(예: BigQuery 열)에 대한 읽기 액세스 권한입니다. |
- 해당 Column에 적용된 Policy Tag의 Fine-Grained Reader 권한이 없을 시, 조회 실패(Query : Select Credit_card From table_01)
![](https://image-kr.bespinglobal.com/wp-content/uploads/2021/05/8-1.png)
- 해당 Column에 적용된 Policy Tag의 Fine-Grained Reader 권한이 있을시, 조회 성공(Query : Select name, email From table_01)
![Low의 Fine-Grained Reader 권한에 사용자/그룹 추가](https://image-kr.bespinglobal.com/wp-content/uploads/2021/05/9-1.png)
[Low의 Fine-Grained Reader 권한에 사용자/그룹 추가]
![Low 하위 권한(name, email) Column 조회 가능](https://image-kr.bespinglobal.com/wp-content/uploads/2021/05/10-1.png)
[Low 하위 권한(name, email) Column 조회 가능]
- 1 개인정보 처리에 관한 업무를 총괄해서 책임지는 자
- 2 조직에서 Google Cloud의 모든 사내 데이터를 신속하게 찾고 관리하며 파악할 수 있도록 지원하는 확장 가능한 완전 관리형 메타데이터 관리 서비스.