액세스 제어 예시

시나리오 예시

다음 예시에서는 모두 AnalystGroup이라는 Google 그룹에 속하는 데이터과학자 그룹이 사용됩니다.

데이터세트의 데이터에 대한 읽기 및 쓰기 액세스 권한

CompanyProject는 dataset1과 dataset2가 포함된 프로젝트입니다. AnalystGroup1은 dataset1에서만 작업을 수행하는 데이터 과학자의 그룹이고, AnalystGroup2는 dataset2에서만 작업을 수행하는 그룹입니다. 데이터 과학자는 데이터에 대해 쿼리를 실행하기 위한 액세스 권한을 포함하여 자신이 작업을 수행하는 데이터세트에 대해서만 전체 액세스 권한을 가져야 합니다.

데이터세트에 대한 읽기 및 쓰기 액세스 권한
CompanyProject:dataset1 데이터세트 dataset1에 대한 WRITER 액세스 권한을 AnalystGroup1에 부여합니다. 이 역할은 사전 정의된 IAM 역할 bigquery.dataEditor에 매핑됩니다.
CompanyProject:dataset2 데이터세트 dataset2에 대한 WRITER 액세스 권한을 AnalystGroup2에 부여합니다. 이 역할은 사전 정의된 IAM 역할 bigquery.dataEditor에 매핑됩니다.
CompanyProject 프로젝트 CompanyProject에 대한 bigquery.user 액세스 권한을 AnalystGroup1 및 AnalystGroup2에 부여합니다.

데이터 과학자에게 데이터세트 수준의 WRITER 액세스 권한을 부여하면 데이터 과학자에게 데이터세트의 테이블에 있는 데이터를 쿼리할 수 있는 권한을 부여하지만, 프로젝트에서 쿼리 작업을 실행할 수 있는 권한을 부여하지 않습니다. 액세스 권한이 부여된 데이터세트에 대한 쿼리 작업을 실행하려면 먼저 데이터과학자 그룹에 프로젝트 수준의 사전 정의된 역할 bigquery.user를 부여해야 합니다. bigquery.user 역할은 bigquery.jobs.create 권한을 부여합니다.

또는 bigquery.jobs.create 권한을 부여하는 프로젝트 수준 IAM 커스텀 역할에 데이터과학자 그룹을 추가하면 됩니다.

프로젝트의 데이터에 대한 전체 액세스 권한

AnalystGroup은 이름이 CompanyProject인 프로젝트 내에서 모든 사용 속성을 담당하며, BigQuery에서 작업을 수행하는 데이터 과학자 그룹입니다. 이 그룹은 모든 구성원이 모든 데이터에 대해 읽기 및 쓰기 액세스 권한을 갖는 것을 선호합니다. 조직에서 다른 그룹은 다른 Cloud Platform 제품을 사용하지만 아무도 BigQuery를 사용하지 않습니다. AnalystGroup은 다른 Cloud Platform 서비스를 사용하지 않습니다.

프로젝트의 데이터에 대한 전체 액세스 권한
CompanyProject 프로젝트 사전 정의된 역할 bigquery.admin에 AnalystGroup을 추가합니다.

조직 전반의 전체 액세스 권한

CompanyA는 이름이 Admin1인 특정 사용자를 해당 프로젝트 전체의 모든 BigQuery 데이터 관리자로 지정하려는 조직입니다. MonitoringServiceAccount는 조직 내 모든 프로젝트 전반의 모든 테이블 크기를 모니터링할 책임이 있는 서비스 계정입니다.

조직 전반의 전체 액세스 권한
CompanyA 조직

회사에서 MonitoringServiceAccount로 특정 크기를 초과하는 테이블 크기를 잘라내고 특정 기간보다 오래된 데이터를 삭제하기로 결정한 경우 사전 정의된 역할 bigquery.user에 MonitoringServiceAccount를 추가해야 합니다.

동일 프로젝트의 데이터에 대한 읽기 액세스 권한

AnalystGroup은 이름이 CompanyProject인 프로젝트 내에서 애널리틱스 서비스를 담당하는 데이터 과학자 집합입니다. OperationsServiceAccount는 특정 CompanyProject:AppLogs 데이터세트에 대한 대량 로드 작업을 통해 BigQuery에 애플리케이션 로그를 로드할 책임이 있는 서비스 계정입니다. 분석가는 로그를 수정하도록 허용되지 않습니다.

동일 프로젝트의 데이터에 대한 읽기 액세스 권한
CompanyProject 프로젝트
  • 사전 정의된 역할 bigquery.user에 OperationsServiceAccount를 추가합니다.
  • 사전 정의된 역할 bigquery.user에 AnalystGroup을 추가합니다.
CompanyProject:AppLogs 데이터세트

다른 프로젝트의 데이터에 대한 읽기 액세스 권한

AnalystGroup은 이름이 CompanyAnalytics인 프로젝트 내에서 애널리틱스 서비스를 담당하는 데이터 과학자의 집합입니다. 하지만 이들이 분석하는 데이터는 이름이 CompanyLogs인 별개의 프로젝트에 저장됩니다. OperationsServiceAccount는 CompanyLogs 프로젝트의 다양한 데이터세트에 대한 대량 로드 작업을 통해 BigQuery에 애플리케이션 로그를 로드할 책임이 있는 서비스 계정입니다.

AnalystGroup은 CompanyLogs 프로젝트에서 데이터를 읽을 수만 있으며, 해당 프로젝트에서 추가 저장소를 만들거나 쿼리 작업을 실행할 수 없습니다. 대신 분석가는 프로젝트 CompanyAnalytics를 사용하여 자신의 작업을 수행하고, CompanyAnalytics 프로젝트 내에서 결과물을 유지합니다.

다른 프로젝트의 데이터에 대한 읽기 액세스 권한
CompanyLogs 프로젝터
  • 사전 정의된 역할 bigquery.admin에 OperationsServiceAccount를 추가합니다.
  • 사전 정의된 역할 bigquery.dataViewer에 AnalystGroup을 추가합니다.
CompanyAnalytics 프로젝트
  • 사전 정의된 역할 bigquery.user에 AnalystGroup을 추가합니다.
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.