서드 파티 Git 저장소에 연결

이 문서에서는 Dataform 저장소를 서드 파티 원격 Git 저장소에 연결하는 방법에 대해 설명합니다.

저장소를 연결한 후 Dataform 개발 작업공간에서 변경한 사항을 원격 Git 저장소로 내보내고 가져올 수 있습니다.

Dataform 저장소를 다음 Git 제공업체에서 호스팅하는 원격 Git 저장소에 연결할 수 있습니다.

  • Azure DevOps 서비스

  • Bitbucket

  • GitHub

  • GitLab

서드 파티 원격 저장소를 Dataform 저장소에 연결하려면 먼저 인증을 수행해야 합니다. HTTPS 또는 SSH를 통해 Dataform에서 원격 저장소를 인증할 수 있습니다.

GitHub 및 GitLab 원격 저장소의 경우 인증에 HTTPS 또는 SSH를 사용할 수 있습니다. Azure DevOps 서비스 및 Bitbucket 원격 저장소의 경우 SSH를 사용해야 합니다.

시작하기 전에

아직 만들지 않았다면 Dataform 저장소를 만듭니다. 나중에 Dataform 서비스 계정과 보안 비밀을 공유하는 데 필요합니다.

필요한 역할

Dataform 저장소를 원격 Git 저장소에 연결하는 데 필요한 권한을 얻으려면 관리자에게 저장소의 Dataform 관리자(roles/dataform.admin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

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

HTTPS를 통해 원격 저장소 인증

개인 액세스 토큰으로 Secret Manager 보안 비밀을 만들고 Dataform 서비스 계정과 보안 비밀을 공유하여 HTTPS를 통해 GitHub 및 GitLab 저장소를 인증할 수 있습니다.

그런 다음 Dataform은 액세스 토큰을 사용하여 Git 제공업체에 로그인하여 개발자를 대신하여 변경사항을 커밋합니다. Dataform은 개발자의 Google Cloud 이메일 주소를 사용하여 이러한 커밋을 만들어 각 커밋을 알 수 있습니다.

GitHub 저장소에 인증하려면 기본 개인 액세스 토큰 또는 토큰 권한을 맞춤설정할 수 있는세분화된 개인 액세스 토큰을 만드세요.

GitLab 저장소를 인증하려면 기본 개인 액세스 토큰을 만듭니다.

HTTPS를 통해 Dataform에서 GitHub 또는 GitLab 저장소를 인증하려면 다음 단계를 따르세요.

  1. GitHub 또는 GitLab에서 개인 액세스 토큰을 만듭니다.

  2. GitHub 개인 액세스 토큰을 만들 때 다음을 수행합니다.

    1. Dataform에 repo 권한을 부여합니다.

    2. 필요에 따라 토큰 만료 시간을 설정해야 합니다.

    3. 조직에서 SAML 싱글 사인온(SSO)을 사용하는 경우 토큰을 승인합니다.

  3. 선택사항: GitHub 세분화된 개인 액세스 토큰을 만들 때 다음을 수행합니다.

    1. 선택한 저장소에만 저장소 액세스를 선택한 후 연결할 저장소를 선택합니다.

    2. 저장소 콘텐츠에 대한 읽기 및 쓰기 액세스 권한을 부여합니다.

    3. 필요에 따라 토큰 만료 시간을 설정해야 합니다.

    4. 조직에서 SAML 싱글 사인온(SSO)을 사용하는 경우 토큰을 승인합니다.

  4. GitLab 개인 액세스 토큰을 만들 때 다음을 수행합니다.

    1. 토큰 이름을 dataform으로 지정합니다.

      GitLab 개인 액세스 토큰의 이름은 dataform이어야 합니다.

    2. Dataform에 api, read_repository, write_repository 권한을 부여합니다.

    3. 필요에 따라 토큰 만료 시간을 설정해야 합니다.

  5. Secret Manager에서 Git 제공업체에 연결하기 위한 개인 액세스 토큰이 포함된 보안 비밀을 만듭니다.

  6. Dataform 서비스 계정에 보안 비밀에 대한 액세스 권한을 부여합니다.

    Dataform 서비스 계정의 형식은 다음과 같습니다.

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. 액세스 권한을 부여할 때 Dataform 서비스 계정에 roles/secretmanager.secretAccessor 역할을 부여해야 합니다.

Dataform은 액세스 토큰을 사용하여 Git 제공업체에 로그인하여 개발자를 대신하여 변경사항을 커밋합니다. Dataform은 개발자의 Google Cloud 이메일 주소를 사용하여 이러한 커밋을 만들어 각 커밋을 알 수 있습니다.

SSH를 통해 원격 저장소 인증

SSH 키와 Secret Manager 보안 비밀을 생성하여 SSH를 통해 Azure DevOps 서비스, Bitbucket, GitHub, GitLab 저장소를 인증할 수 있습니다.

SSH 키는 공개 SSH 키와 비공개 SSH 키로 구성됩니다. 공개 SSH 키를 Git 제공업체와 공유하고 비공개 SSH 키로 Secret Manager 보안 비밀을 만들어야 합니다. 그런 다음 Dataform 서비스 계정과 보안 비밀을 공유합니다.

Dataform은 비공개 SSH 키와 함께 보안 비밀을 사용하여 Git 제공업체에 로그인하여 개발자를 대신하여 변경사항을 커밋합니다. Dataform은 개발자의 Google Cloud 이메일 주소를 사용하여 이러한 커밋을 만들어 각 커밋을 알 수 있습니다.

SSH를 통해 Dataform에서 Azure DevOps 서비스, Bitbucket, GitHub, GitLab 저장소를 인증하려면 다음 단계를 수행합니다.

  1. Azure DevOps 서비스, Bitbucket, GitHub, GitLab에서 SSH 키를 만듭니다.

  2. 공개 SSH 키를 서드 파티 Git 계정에 업로드합니다.

  3. Secret Manager에서 비공개 SSH 키를 보안 비밀 값으로 사용하여 보안 비밀을 만듭니다.

  4. Dataform 서비스 계정에 보안 비밀에 대한 액세스 권한을 부여합니다.

    Dataform 서비스 계정의 형식은 다음과 같습니다.

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. 액세스 권한을 부여할 때 Dataform 서비스 계정에 roles/secretmanager.secretAccessor 역할을 부여해야 합니다.

Dataform 저장소 연결

Dataform 저장소를 원격 Git 저장소에 연결하려면 다음 단계를 따르세요.

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

    Dataform으로 이동

  2. 연결할 저장소를 선택합니다.

  3. 저장소 페이지에서 설정 > Git과 연결을 클릭합니다.

  4. 원격 저장소 링크 창의원격 Git 저장소 URL 필드에 .git로 끝나는 원격 Git 저장소 URL을 입력합니다.

    HTTPS 인증의 경우 원격 Git 저장소 URL에 사용자 이름이나 비밀번호가 포함될 수 없습니다.

    SSH 인증의 경우 원격 Git 저장소 URL은 다음 형식 중 하나입니다.

    • 절대 URL: ssh://git@{host_name}[:{port}]/{repository_path}. port는 선택사항입니다.
    • SCP와 같은 URL: git@{host_name}:{repository_path}
  5. 기본 원격 브랜치 이름 필드에 원격 Git 저장소의 기본 개발 브랜치 이름을 입력합니다.

  6. 보안 비밀 드롭다운에서 원격 Git 저장소 보안 비밀을 선택합니다.

  7. 원격 저장소에 SSH 인증을 사용한 경우 SSH 공개 호스트 키 값 필드에 Git 제공업체의 단일 공개 호스트 키를 입력합니다.

    SSH 공개 호스트 키 값은 known_hosts 파일 형식이어야 합니다. 값에는 base64 형식으로 인코딩된 알고리즘과 공개 키가 포함되어야 하지만 다음 형식처럼 호스트 이름이나 IP는 포함되지 않습니다.

      ALGORITHM BASE64_KEY_VALUE
    
    • Azure DevOps Services 공개 호스트 키의 경우 터미널에서 ssh-keyscan -t rsa ssh.dev.azure.com 명령어를 실행합니다.

    • Bitbucket 공개 호스트 키는 SSH 구성을 참조하세요.

    • GitHub 공개 호스트 키는 GitHub의 SSH 키 지문을 참조하세요.

    • GitLab 공개 호스트 키는 SSH known_hosts 항목을 참조하세요.

  8. 링크를 클릭합니다.

원격 저장소 연결 수정

Dataform 저장소와 원격 Git 저장소 간의 연결을 수정하려면 다음 단계를 수행합니다.

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

    Dataform으로 이동

  2. 수정하려는 저장소를 클릭합니다.

  3. 저장소 페이지에서 설정 > Git 연결 수정을 클릭합니다.

  4. 원격 저장소에 연결 창에서 다음 옵션을 수정합니다.

    1. 원격 Git 저장소 URL 필드에서 연결된 원격 Git 저장소의 URL을 수정합니다.

      원격 Git 저장소의 URL은 사용자 이름이나 비밀번호를 포함할 수 없습니다.

    2. 기본 원격 브랜치 이름 필드에서 원격 Git 저장소의 기본 개발 브랜치 이름을 수정합니다.

    3. 보안 비밀 드롭다운에서 원격 Git 저장소의 보안 비밀을 선택합니다.

    4. 원격 저장소에 SSH 인증을 사용한 경우 SSH 공개 호스트 키 값 필드에 Git 제공업체의 공개 호스트 키를 입력합니다.

      SSH 공개 호스트 키 값은 알려진 호스트 파일 형식이어야 합니다. 값에는 base64 형식으로 인코딩되지만 호스트 이름 또는 IP가 없는 다음 형식의 알고리즘 및 공개 키가 포함되어야 합니다.

       ALGORITHM BASE64_KEY_VALUE
      
  5. 업데이트를 클릭합니다.

다음 단계