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과 동일하게 권한 부여를 할 수 있습니다.