본문 바로가기
DevLog/오류 해결 (Troubleshooting)

[빅퀴리 오류] Access Denied: Project XXX: User does not have bigquery.jobs.create permission in project XXX

by Coding_WONI 2023. 9. 20.

빅퀴리 관련 강의를 듣고 작업을 하는 과정에서 다음과 같이 접근 오류가 발생하였다.

 

I AM 에서 서비스 계정을 생성하고 서비스 계정에서 key를 생성하여 json 파일을 다운 받아서 파이썬 api 연결을 시도했는데 다음과 같은 오류가 발생했다.

 

from google.cloud import bigquery
from google.oauth2 import service_account

credentials = service_account.Credentials.from_service_account_file('json 파일 경로')

# GCP 클라이언트 객체 생성
client = bigquery.Client(credentials = credentials, 
                        project = credentials.project_id)

dataset_name = '데이터세트 이름'
table_name = '테이블 이름'

# 데이터 조회 쿼리
sql = """
SELECT
*
FROM
{}.{}
""".format(dataset_name, table_name)

# 데이터 조회 쿼리 실행 결과
query_job = client.query(sql)

# 데이터프레임 변환
df = query_job.to_dataframe()
print(df)

문제는 생성한 서비스 계정에 권한을 안 줘서였다.

권한을 주는 방법

I AM 에 엑세스 권한 부여를 한다.

새 주 구성원에 생성한 서비스 계정을 입력하면 된다.(이걸 몰라서 왜 메일 주소를 입력하는거지 했다...)

역할 지정은 'Bigquery 관리자'로 지정하고 저장하면 끝!

 

참고로 이메일 주소는 서비스 계정 탭에서 확인 가능합니다.