BigQuery Data Transfer Service 사용 설정

BigQuery Data Transfer Service를 이용하려면 프로젝트 소유자로서 다음 단계를 완료해야 합니다.

  • 프로젝트 만들기 및 BigQuery API 사용 설정
  • BigQuery Data Transfer Service를 사용하도록 설정합니다.

Identity and Access Management(IAM) 역할에 대한 자세한 내용은 IAM 문서의 역할 이해를 참조하세요.

프로젝트 만들기 및 BigQuery API 사용 설정

BigQuery Data Transfer Service를 이용하려면 프로젝트를 만들어야 하며, 대부분의 경우 결제를 사용 설정해야 합니다. 기존 프로젝트를 BigQuery Data Transfer Service와 함께 사용하거나 새 프로젝트를 만들 수 있습니다. 기존 프로젝트를 사용한다면 BigQuery API도 사용 설정해야 할 수 있습니다.

프로젝트를 만들고 BigQuery API를 사용 설정하려면 다음 안내를 따르세요.

  1. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Select or create a Google Cloud project.

  3. 모든 전송의 프로젝트에서 결제를 사용 설정합니다. 무료 전송의 경우 $0가 청구됩니다.

    여러 소스에서 데이터를 전송할 경우라도 프로젝트마다 한 번씩만 결제를 사용 설정하면 됩니다. 또한 데이터가 전송된 후 BigQuery에서 데이터를 쿼리할 수 있도록 결제를 사용 설정해야 합니다.

    프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  4. BigQuery는 새 프로젝트에서 자동으로 사용 설정됩니다. 기존 프로젝트에서 BigQuery를 활성화하려면 BigQuery API를 사용 설정합니다.

    BigQuery API 사용 설정

BigQuery Data Transfer Service 사용 설정

전송을 만들려면 BigQuery Data Transfer Service를 사용 설정해야 합니다. BigQuery Data Transfer Service를 사용 설정하려면 프로젝트의 소유자 역할을 부여받아야 합니다.

BigQuery Data Transfer Service를 사용 설정하려면 다음 안내를 따르세요.

  1. API 라이브러리에서 BigQuery Data Transfer API 페이지를 엽니다.

  2. 드롭다운 메뉴에서 적절한 프로젝트를 선택합니다.

  3. 사용 버튼을 클릭합니다.

    Data Transfer API 사용 설정

서비스 에이전트

BigQuery Data Transfer Service는 서비스 에이전트를 사용하여 리소스에 액세스하고 관리합니다. 여기에는 다음 리소스가 포함되며 이에 국한되지 않습니다.

  • 데이터 전송을 승인할 때 사용할 서비스 계정의 액세스 토큰을 검색합니다.
  • 사용 설정된 경우 제공된 Pub/Sub 주제에 알림을 게시합니다.
  • BigQuery 작업을 시작합니다.

BigQuery Data Transfer Service를 사용 설정하고 API를 처음 사용하면 서비스 에이전트가 자동으로 생성됩니다. 서비스 에이전트를 만든 후 Google이 사전 정의된 서비스 에이전트 역할을 자동으로 부여합니다.

프로젝트 간 서비스 계정 승인

BigQuery Data Transfer Service가 사용 설정된 프로젝트와 다른 프로젝트의 서비스 계정을 사용하여 데이터 전송을 승인할 경우 다음 Google Cloud CLI 명령어를 사용하여 서비스 에이전트에 roles/iam.serviceAccountTokenCreator 역할을 부여해야 합니다.

gcloud iam service-accounts add-iam-policy-binding service_account \
--member serviceAccount:service-project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com \
--role roles/iam.serviceAccountTokenCreator

각 항목의 의미는 다음과 같습니다.

  • service_account는 데이터 전송을 승인하는 데 사용되는 프로젝트 간 서비스 계정입니다.
  • project_number는 BigQuery Data Transfer Service가 사용 설정된 프로젝트의 프로젝트 번호입니다.

프로젝트 간 리소스 구성에 대한 자세한 내용은 Identity and Access Management 서비스 계정 가장 문서에서 다른 프로젝트의 리소스에 대한 구성을 참조하세요.

수동 서비스 에이전트 만들기

서비스 에이전트에 추가 역할을 부여해야 할 때와 같이 API와 상호 작용하기 전 서비스 에이전트 만들기를 트리거하려면 다음 접근 방법 중 하나를 사용할 수 있습니다.

서비스 에이전트 만들기를 수동으로 트리거하면 Google이 사전 정의된 서비스 에이전트 역할을 자동으로 부여하지 않습니다. 다음 Google Cloud CLI 명령어를 사용하여 사전 정의된 역할을 서비스 에이전트에 수동으로 부여해야 합니다.

gcloud projects add-iam-policy-binding project_number \
--member serviceAccount:service-project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com \
--role roles/bigquerydatatransfer.serviceAgent

각 항목의 의미는 다음과 같습니다.

  • project_number는 BigQuery Data Transfer Service가 사용 설정된 프로젝트의 프로젝트 번호입니다.

bigquery.admin 액세스 권한 부여

BigQuery Data Transfer Service 전송을 만드는 사용자에게 사전 정의된 IAM 역할 bigquery.admin을 부여하는 것이 좋습니다. bigquery.admin 역할에는 가장 일반적인 태스크를 수행하는 데 필요한 IAM 권한이 포함됩니다. bigquery.admin 역할에는 다음과 같은 BigQuery Data Transfer Service 권한이 포함됩니다.

  • BigQuery Data Transfer Service 권한:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • BigQuery 권한:
    • bigquery.datasets.get
    • bigquery.datasets.update
    • bigquery.jobs.create

경우에 따라 필요한 권한이 데이터 소스마다 다를 수 있습니다. 특정 IAM 정보는 각 데이터 소스 전송 가이드의 '필수 권한' 섹션을 참조하세요. 예를 들어 Amazon S3 전송 권한 또는 Cloud Storage 전송 권한을 참조하세요.

bigquery.admin 역할 부여:

콘솔

  1. Google Cloud 콘솔에서 IAM 페이지를 엽니다.

    IAM 페이지 열기

  2. 프로젝트 선택을 클릭합니다.

  3. 프로젝트를 선택하고 열기를 클릭합니다.

  4. 추가를 클릭해 프로젝트에 새 구성원을 추가하고 권한을 설정합니다.

  5. 구성원 추가 대화상자에서 다음을 수행합니다.

    • 구성원에 사용자나 그룹의 이메일 주소를 입력합니다.
    • 역할 선택 드롭다운에서 BigQuery > BigQuery 관리자를 클릭합니다.
    • 추가를 클릭합니다.

      관리자 권한 부여

gcloud

Google Cloud CLI를 사용하여 사용자 또는 그룹에 bigquery.admin 역할을 부여할 수 있습니다.

프로젝트의 IAM 정책에 하나의 binding을 추가하려면 다음 명령어를 입력합니다. 사용자를 추가하려면 --member 플래그를 user:user@example.com 형식으로 지정합니다. 그룹을 추가하려면 --member 플래그를 group:group@example.com 형식으로 지정합니다.

gcloud projects add-iam-policy-binding project_id \
--member principal:address \
--role roles/bigquery.admin

각 항목의 의미는 다음과 같습니다.

  • project_id는 프로젝트 ID입니다.
  • principalgroup 또는 user입니다.
  • address는 사용자 또는 그룹의 이메일 주소입니다.

예를 들면 다음과 같습니다.

gcloud projects add-iam-policy-binding myproject \
--member group:group@example.com \
--role roles/bigquery.admin

명령어를 실행하면 업데이트된 정책이 출력됩니다.

    bindings:
    - members:
      - group:group@example.com
        role: roles/bigquery.admin
    

BigQuery의 IAM 역할에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.

다음 단계

BigQuery Data Transfer Service를 사용 설정하고 나면 데이터 소스의 전송을 만듭니다.