기본 역할 및 권한

BigQuery는 프로젝트 수준의 액세스에 IAM 기본 역할을 지원합니다.

프로젝트의 기본 역할

기본적으로 프로젝트에 액세스 권한을 부여하면 프로젝트 내에 있는 데이터 세트에도 액세스 권한이 부여됩니다. 기본 액세스 권한은 데이터 세트별 기준으로 재정의할 수 있습니다. 다음 표에서는 기본 IAM 역할의 구성원에게 부여되는 액세스 권한을 설명합니다.

기본 역할 기능
Viewer
  • 프로젝트에서 작업을 시작할 수 있습니다. 작업 유형에 따라 추가 데이터 세트 역할이 필요합니다.
  • 모든 작업을 나열하여 가져올 수 있고, 프로젝트에서 시작한 작업을 업데이트할 수 있습니다.
  • 프로젝트에 뷰어를 포함하는 데이터 세트를 만들 경우, BigQuery는 해당 사용자에게 새로운 데이터 세트의 사전 정의된 역할인 bigquery.dataViewer를 부여합니다.
Editor
  • Viewer와 동일하고 다음 권한이 추가됩니다.
    • 프로젝트에서 새 데이터 세트를 만들 수 있습니다.
    • 프로젝트에 편집자를 포함하는 데이터 세트를 만들 경우, BigQuery는 해당 사용자에게 새로운 데이터 세트의 사전 정의된 역할인 bigquery.dataEditor를 부여합니다.
Owner
  • Editor와 동일하고 다음 권한이 추가됩니다.
    • 모든 프로젝트 역할을 취소하거나 변경할 수 있습니다.
    • 프로젝트에서 모든 데이터 세트를 나열할 수 있습니다.
    • 프로젝트에서 모든 데이터 세트를 삭제할 수 있습니다.
    • 다른 프로젝트 사용자가 실행한 작업을 포함하여 프로젝트에서 실행된 모든 작업을 나열하고 가져올 수 있습니다.
    • 데이터 세트를 만들 경우, BigQuery는 모든 프로젝트 소유자에게 새로운 데이터 세트의 사전 정의된 역할인 bigquery.dataOwner를 부여합니다.

      예외: 사용자가 쿼리를 실행하면 익명 데이터 세트가 생성되어 캐시된 결과 테이블이 저장됩니다. 쿼리를 실행하는 사용자에게만 이 익명 데이터 세트에 대한 OWNER 액세스 권한이 부여됩니다.

프로젝트의 기본 역할은 Google Cloud 콘솔을 통해 부여하거나 취소합니다. 프로젝트가 생성되면 Owner 역할은 프로젝트를 만든 사용자에게 부여됩니다.

프로젝트 역할의 액세스 권한을 부여하거나 취소하는 방법은 IAM 문서의 리소스 액세스 권한 부여, 변경, 취소를 참조하세요.

데이터 세트의 기본 역할

데이터 세트 수준에서는 다음과 같은 기본 역할이 적용됩니다.

데이터 세트 역할 기능
READER
  • 데이터 세트에서 테이블에 대해 읽기, 쿼리, 복사 또는 내보내기를 수행할 수 있습니다. 데이터 세트에서 루틴을 읽을 수 있습니다.
    • 데이터 세트에서 get을 호출할 수 있습니다.
    • 데이터 세트의 테이블에서 getlist를 호출할 수 있습니다.
    • 데이터 세트의 루틴에서 getlist를 호출할 수 있습니다.
    • 데이터 세트에서 테이블의 테이블 데이터에 대해 list를 호출할 수 있습니다.
WRITER
  • READER와 동일하고 다음 권한이 추가됩니다.
    • 데이터 세트에서 데이터를 편집하거나 추가할 수 있습니다.
      • 테이블에서 insert, insertAll, update 또는 delete를 호출할 수 있습니다.
      • 데이터 세트에 있는 테이블을 로컬 복사 또는 쿼리 작업의 대상으로 사용할 수 있습니다.
      • 루틴에서 insert, update 또는 delete를 호출할 수 있습니다.
OWNER
  • WRITER와 동일하고 다음 권한이 추가됩니다.
    • 데이터 세트에서 update를 호출할 수 있습니다.
    • 데이터 세트에서 delete를 호출할 수 있습니다.

참고: 데이터 세트에는 OWNER 역할이 있는 항목이 최소한 한 개 이상 있어야 합니다. OWNER 역할이 부여된 사용자는 본인의 OWNER 역할을 삭제할 수 없습니다.

데이터 세트 수준에서 역할을 할당하는 방법에 대한 자세한 내용은 데이터 세트에 대한 액세스 제어를 참조하세요.

사용자가 새 데이터 세트를 만들 때 BigQuery는 다음 항목에 대한 기본 데이터 세트 액세스 권한을 추가합니다. 데이터 세트를 만들 때 지정한 역할은 기본값을 덮어씁니다.

항목 데이터세트 역할
프로젝트에 대한 Viewer 액세스 권한을 가진 모든 사용자 READER
프로젝트에 대한 Editor 액세스 권한을 가진 모든 사용자 WRITER
프로젝트에 대한 Owner 액세스 권한을 가진 모든 사용자
및 데이터 세트 생성자

OWNER

예외: 사용자가 쿼리를 실행하면 익명 데이터 세트가 생성되어 캐시된 결과 테이블이 저장됩니다. 쿼리를 실행하는 사용자에게만 이 익명 데이터 세트에 대한 OWNER 액세스 권한이 부여됩니다.