저장소 만들기

이 문서는 Dataform의 저장소 개념과 새 저장소를 만드는 방법을 이해하는 데 도움이 됩니다.

Dataform 저장소 정보

각 Dataform 저장소에는 워크플로를 구성하는 SQLX 및 JavaScript 파일 모음과 Dataform 구성 파일 및 패키지가 포함되어 있습니다. 개발 작업공간에서 저장소 콘텐츠와 상호작용합니다.

Dataform은 저장소 ID의 알파벳 순서로 Dataform 페이지에 저장소를 표시합니다. 이를 정렬하고 필터링할 수 있습니다.

  • 저장소를 보려면 Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.

    Dataform으로 이동

각 Dataform 저장소는 기본 Dataform 서비스 에이전트 또는 커스텀 서비스 계정에 연결됩니다. 저장소를 만들 때만 커스텀 서비스 계정을 선택할 수 있습니다. 서비스 계정은 나중에 수정할 수 있습니다.

기본적으로 Dataform은 프로젝트 번호에서 파생된 서비스 에이전트 또는 서비스 계정을 다음과 같은 형식으로 사용합니다.

service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Dataform은 Git를 사용해서 변경사항을 기록하고 파일 버전을 관리합니다. 각 Dataform 저장소는 Git 저장소에 해당합니다. Dataform 저장소를 만든 후에는 원격 GitHub, GitLab 또는 Bitbucket 저장소에 연결할 수 있습니다.

Dataform 저장소에서 Dataform이 저장소 코드를 저장합니다. 연결된 저장소에서 제3자 저장소는 저장소 코드를 저장합니다. Dataform은 제3자 저장소와 상호작용하여 Dataform 개발 작업공간에서 콘텐츠를 수정하고 실행할 수 있습니다.

Dataform 저장소 페이지는 다음 구성요소로 구성됩니다.

개발 작업공간 탭
저장소에서 생성된 개발 작업공간을 표시합니다.
워크플로 실행 로그 탭
Dataform 워크플로 실행 로그를 표시합니다.
출시 및 일정 탭
출시 구성워크플로 구성을 검사, 생성, 수정, 삭제할 수 있습니다.
설정 탭
저장소의 이름과 위치를 표시합니다. 제3자 Git 저장소에 연결된 저장소의 경우 제3자 저장소 소스, 기본 브랜치 이름, 보안 비밀 토큰을 표시합니다. 제3자 Git 저장소에 저장소를 연결하고 Git 연결을 수정하는 버튼을 표시합니다.
개발 작업공간 만들기 버튼
개발 작업공간을 만들 수 있습니다.

개발 작업공간을 만들고 초기화한 후 워크플로 설정 파일을 편집하여 저장소의 다음 Dataform 설정을 구성할 수 있습니다.

  • 기본 데이터베이스 (Google Cloud 프로젝트 ID)입니다.
  • 기본 스키마 (BigQuery 데이터 세트 ID)입니다.
  • 기본 BigQuery 위치입니다.
  • 어설션의 기본 스키마 (BigQuery 데이터 세트 ID)입니다.
  • 웨어하우스이며, bigquery로 설정해야 합니다.
  • 컴파일 중에 프로젝트 코드에서 사용할 수 있는 사용자 정의 변수입니다.

Dataform 저장소 설정에 대한 자세한 내용은 Dataform Core 참조의 IProjectConfig를 참조하세요.

저장소 설정

Dataform 저장소를 만들 때는 다음 저장소 설정을 지정해야 합니다.

저장소 ID
저장소의 고유 ID입니다. ID에는 숫자, 문자, 하이픈, 밑줄만 포함할 수 있습니다.
지역

저장소와 콘텐츠를 저장할 Dataform 리전입니다.

이 저장 리전은 Dataform이 코드를 처리하고 실행 출력을 저장하는 처리 리전과 다를 수 있습니다. 기본적으로 처리 리전은 기본 BigQuery 데이터 세트 리전으로 설정됩니다. 저장소를 만든 후 워크플로 설정 파일에서 처리 리전을 수정할 수 있습니다. 자세한 내용은 Dataform 워크플로 설정 구성을 참조하세요.

서비스 에이전트 또는 서비스 계정

저장소와 연결된 Dataform 서비스 에이전트 또는 커스텀 서비스 계정입니다. 새 저장소의 경우 커스텀 서비스 계정을 제공해야 합니다. 프로젝트와 연결된 서비스 계정을 선택하거나 다른 서비스 계정을 수동으로 입력할 수 있습니다.Google Cloud

기본적으로 Dataform은 프로젝트 번호에서 파생된 서비스 에이전트 또는 서비스 계정을 다음과 같은 형식으로 사용합니다.

service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

저장소에서 워크플로를 실행하려면 커스텀 서비스 계정을 사용해야 하지만 다른 모든 저장소 작업에는 기본 Dataform 서비스 에이전트가 계속 사용됩니다.

엄격한 act-as 모드

서비스 계정에 iam.serviceAccounts.actAs 권한이 필요한 추가 보안 검사를 사용 설정합니다. 새 저장소의 경우 엄격한 act-as 모드 가 적용됩니다. 기존 저장소의 경우 커스텀 서비스 계정을 사용하고 엄격한 act-as 모드를 사용 설정하여 더 안전하고 예측 가능한 권한 모델을 보장하는 것이 좋습니다.

암호화

저장소의 암호화 방법입니다. 기본 암호화 , 고유한 고객 관리 Cloud KMS 암호화 키 또는 기본 Dataform CMEK 키를 사용할 수 있습니다. Dataform에서 고객 관리 암호화 키(CMEK)를 사용하는 방법에 대한 자세한 내용은 고객 관리 암호화 키 사용을 참조하세요.

저장소를 만든 후 GitHub 또는 GitLab에 연결할 수 있습니다.

시작하기 전에

  1. 계정에 로그인합니다. Google Cloud 를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. Google Cloud신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. 저장소에 CMEK 암호화를 사용하려면 Dataform 저장소의 CMEK 암호화를 사용 설정합니다.

필요한 역할

저장소를 만들고 삭제하는 데 필요한 권한을 얻으려면 관리자에게 저장소에 대해 다음 IAM 역할을 부여해 달라고 요청하세요.

  • Dataform 관리자 (roles/dataform.admin) - 프로젝트
  • 서비스 계정 사용자 (roles/iam.serviceAccountUser) - 커스텀 서비스 계정

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

필수 역할 부여

Dataform 저장소 및 BigQuery에서 워크플로를 실행하려면 커스텀 서비스 계정 또는 Google 계정을 사용하면 됩니다.

커스텀 서비스 계정에는 다음 필수 역할이 있어야 합니다.

  • BigQuery 데이터 편집자 (roles/bigquery.dataEditor) Dataform에 읽기 및 쓰기 액세스 권한이 모두 필요한 프로젝트 또는 특정 BigQuery 데이터 세트에 대한. 여기에는 일반적으로 Dataform 저장소를 호스팅하는 프로젝트가 포함됩니다.
  • BigQuery 데이터 뷰어 (roles/bigquery.dataViewer) Dataform에 읽기 전용 액세스 권한이 필요한 프로젝트 또는 특정 BigQuery 데이터 세트에 대한.
  • BigQuery 작업 사용자 (roles/bigquery.jobUser) Dataform 저장소를 호스팅하는 프로젝트에 대한

Dataform에서 커스텀 서비스 계정을 사용하도록 하려면 기본 Dataform 서비스 에이전트에 커스텀 서비스 계정 리소스에 대한 다음 역할이 있어야 합니다.

이러한 역할을 부여하려면 다음 단계를 수행합니다.

  1. 콘솔에서 IAM 페이지로 이동합니다. Google Cloud

    IAM으로 이동

  2. 액세스 권한 부여 를 클릭합니다.

  3. 새 주 구성원 필드에 커스텀 서비스 계정 ID를 입력합니다.

  4. 역할 선택 메뉴에서 추가 역할마다 다른 역할 추가 를 사용하여 다음 역할을 하나씩 선택합니다.

    • BigQuery 데이터 편집자
    • BigQuery 데이터 뷰어
    • BigQuery 작업 사용자
  5. 저장 을 클릭합니다.

  6. 콘솔에서 서비스 계정 페이지로 이동합니다. Google Cloud

    서비스 계정으로 이동

  7. 커스텀 서비스 계정을 선택합니다.

  8. **액세스 권한이 있는 주 구성원** 으로 이동한 다음 **액세스 권한 부여** 를 클릭합니다.

  9. 새 주 구성원 필드에 기본 Dataform 서비스 에이전트 ID를 입력합니다.

    기본 Dataform 서비스 에이전트 ID의 형식은 다음과 같습니다.

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    

    PROJECT_NUMBER를 프로젝트의 숫자 ID로 바꿉니다.Google Cloud 프로젝트 ID는 콘솔 대시보드에서 찾을 수 있습니다. Google Cloud Google Cloud 자세한 내용은 프로젝트 식별을 참조하세요.

  10. 역할 선택 목록에서 다음 역할을 추가합니다.

    • 서비스 계정 사용자
    • 서비스 계정 토큰 생성자
  11. 저장 을 클릭합니다.

역할 부여에 대한 자세한 내용은 Dataform에 필요한 액세스 권한 부여를 참조하세요.

저장소 만들기

Dataform 저장소를 만들려면 다음 단계를 따르세요.

  1. 콘솔에서 Dataform 페이지로 이동합니다. Google Cloud

    Dataform으로 이동

  2. 저장소 만들기를 클릭합니다.

  3. 저장소 만들기 페이지의 저장소 ID 필드에 고유한 ID를 입력합니다.

    ID에는 숫자, 문자, 하이픈, 밑줄만 포함할 수 있습니다.

  4. 리전 드롭다운 목록에서 저장소와 콘텐츠를 저장할 Dataform 리전을 선택합니다. 현재 위치에서 가장 가까운 Dataform 리전을 선택하세요.

    이용 가능한 Dataform 리전의 목록은 위치를 참조하세요. 저장소 리전은 BigQuery 데이터 세트의 위치와 일치하지 않아도 됩니다.

    workflow_settings.yaml 파일에서 Dataform이 코드를 처리하고 실행 출력을 저장하는 처리 리전을 설정할 수 있습니다. 처리 리전은 BigQuery 데이터 세트의 위치와 일치해야 하지만 저장소 리전과는 일치하지 않아도 됩니다. 자세한 내용은 Dataform 워크플로 설정 구성을 참조하세요.

  5. 서비스 계정 메뉴에서 저장소의 커스텀 서비스 계정을 선택합니다.

    메뉴에서 액세스 권한이 있는 프로젝트와 연결된 커스텀 서비스 계정을 선택할 수 있습니다.Google Cloud 커스텀 서비스 계정은 워크플로 실행에만 사용됩니다. 다른 모든 저장소 작업은 기본 Dataform 서비스 에이전트에서 수행합니다.

    1. 선택사항: 메뉴에 표시되지 않은 서비스 계정을 선택하려면 수동으로 입력 을 클릭하고 서비스 계정 ID를 입력합니다.
  6. actAs 권한 검사 섹션에서 저장소에 대한 사용자 작업에 권한 검사를 적용합니다. 이러한 검사에 대한 자세한 내용은 엄격한 act-as 모드 사용을 참조하세요.

  7. 저장소에 대해 선택한 암호화 메커니즘을 구성합니다.

    기본 CMEK 키

    Dataform은 기본 KMS 키 사용 체크박스를 표시하고 기본적으로 선택합니다.

    • 기본 Dataform CMEK 키로 저장소를 암호화하려면 기본 KMS 키 사용 체크박스를 선택된 상태로 둡니다.

    고유한 CMEK 키

    고유한 CMEK 키로 저장소를 암호화하려면 다음 단계를 따르세요.

    1. 기본 KMS 키 사용 체크박스가 기본적으로 선택되어 있으면 체크박스를 선택 해제합니다.
    2. 암호화 섹션에서 고객 관리 암호화 키 (CMEK) 옵션을 선택합니다.
    3. 고객 관리 키 선택 드롭다운에서 고유한 CMEK 키를 선택합니다.

    저장 데이터 암호화

  8. 만들기 를 클릭한 후 저장소로 이동 을 클릭합니다.

서비스 계정 수정

워크플로 실행을 위해 커스텀 서비스 계정을 Dataform 저장소에 연결해야 합니다. 다른 모든 저장소 작업은 기본 Dataform 서비스 에이전트에서 계속 수행합니다.

Dataform 저장소의 서비스 계정을 수정하려면 다음 단계를 따르세요.

  1. 콘솔에서 Dataform 페이지로 이동합니다. Google Cloud

    Dataform으로 이동

  2. 저장소를 선택한 후 설정 을 클릭합니다.

  3. 서비스 계정 필드에서 서비스 계정 수정을 클릭합니다.

  4. 서비스 계정 메뉴에서 저장소의 서비스 계정을 선택합니다.

    메뉴에서 액세스 권한이 있는 프로젝트와 연결된 커스텀 서비스 계정을 선택할 수 있습니다.Google Cloud

    1. 선택사항: 메뉴에 표시되지 않은 서비스 계정을 선택하려면 수동으로 입력 을 클릭하고 서비스 계정 ID를 입력합니다.
  5. 저장 을 클릭합니다.

저장소 삭제

저장소 및 저장소의 모든 콘텐츠를 삭제하려면 다음 단계를 따르세요.

  1. 콘솔에서 Dataform 페이지로 이동합니다. Google Cloud

    Dataform으로 이동

  2. 삭제하려는 저장소 옆의 더보기 메뉴를 클릭한 다음 삭제를 선택합니다.

  3. 저장소 삭제 창에서 저장소 이름을 입력하여 삭제를 확인합니다.

  4. 삭제를 클릭합니다.

다음 단계