안녕하세요,
베스핀글로벌 GCP Support팀입니다.
이번 아티클에서는 주제로 "Dataset에서 특정 Table만 표시되게 설정 가능한지"를 다루고자 합니다.
BigQuery View를 사용한 특정 Table 접근 방법
Dataset은 Table의 상위 리소스이기 때문에, 사용자에게 Dataset에 대한 권한이 부여되면 Dataset에 속한 Table들 중 특정 Table만 GUI 상에서 표시되게 할 수는 없습니다.
그러나 BigQuery View를 사용하면 해당 Dataset이 아닌 다른 Dataset에서 기존 Dataset의 특정 Table에 View를 통해 쿼리 등 작업을 할 수 있도록 설정할 수 있습니다.
아래 간단한 예시를 보여드리겠습니다.
1) 사용자가 접근하고자하는 특정 Table 확인
예시에서는 kyuhwan_test_dataset 밑에 있는 ckh_bigquery_slot_usage_v2 table을 대상 Table로 사용합니다.
2) 다른 Dataset에서 해당 Table에 대한 View를 생성
아래와 같이 kyuhwan_test_dataset.ckh_bigquery_slot_usage_v2 table에 대한 View 생성
※ 예시에서는 기존에 있던 다른 Dataset을 사용하였으나 특정 사용자용 별도 Dataset을 생성하시기를 권고 드립니다.
위와 같이 View를 통해 쿼리 시 kyuhwan_test_dataset의 다른 테이블을 보지 않고 특정 테이블에 대해 접근할 수 있습니다.
이때 부여해야하는 IAM 권한 설정은 아래와 같습니다.
1) 프로젝트 레벨
- BQ Job User
2) 데이터셋트 레벨(뷰가 있는 데이터셋)
- BQ Data Viewer
3) 테이블(뷰) 레벨
3-1) 뷰
- BQ Data Editor
3-2) 뷰와 연결된 특정 테이블
- BQ Data Editor
※ View에서도 Table과 동일하게 권한 부여를 할 수 있습니다.
참조 링크
[1] BigQuery View
https://cloud.google.com/bigquery/docs/views-intro
관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.
감사합니다.