Dataform 저장소에 비공개 NPM 패키지를 설치하고 이를 사용하여 SQL 워크플로를 개발하려면 먼저 Dataform에서 패키지를 인증해야 합니다. 저장소의 첫 번째 비공개 패키지와 저장소의 후속 비공개 패키지의 인증 프로세스는 다릅니다.
시작하기 전에
필요한 역할
Dataform에서 비공개 NPM 패키지를 인증하는 데 필요한 권한을 얻으려면 관리자에게 저장소 및 작업공간에 대한 Dataform 편집자(roles/dataform.editor
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Dataform 저장소에서 첫 번째 비공개 패키지 인증
Dataform에서 비공개 NPM 패키지를 인증하려면 Dataform 저장소에 첫 번째 비공개 NPM 패키지를 설치하기 전에 다음을 실행해야 합니다.
Dataform 저장소에 비공개 NPM 패키지의 인증 토큰을 저장하는 전용 Secret Manager 보안 비밀을 만듭니다.
- NPM 레지스트리에서 가져온 패키지의 인증 토큰을 보안 비밀에 추가합니다.
저장소의 비공개 NPM 패키지의 모든 인증 토큰을 단일 보안 비밀에 저장해야 합니다. Dataform 저장소당 전용 보안 비밀을 하나씩 만들어야 합니다. 보안 비밀은 JSON 형식이어야 합니다.
Dataform 저장소에 보안 비밀을 업로드합니다.
.npmrc
파일을 만들고 패키지의 인증 토큰을 파일에 추가합니다..npmrc
파일의 인증 토큰이 업로드된 보안 비밀의 인증 토큰과 일치해야 합니다.
비공개 NPM 패키지를 인증한 후에는 Dataform 저장소에 패키지를 설치할 수 있습니다.
비공개 패키지 인증을 위한 보안 비밀 만들기
Dataform 저장소에서 비공개 NPM 패키지를 인증하려면 Secret Manager 보안 비밀을 만들고 보안 비밀 내의 Dataform 저장소에 설치하려는 모든 비공개 패키지의 인증 토큰을 정의해야 합니다. 비공개 NPM 패키지당 하나의 인증 토큰을 정의하고 저장소당 단일 보안 비밀에 모든 인증 토큰을 저장합니다. 보안 비밀은 JSON 형식이어야 합니다.
비공개 NPM 패키지의 인증 토큰으로 보안 비밀을 만들려면 다음 단계를 따르세요.
Secret Manager에서 보안 비밀을 만듭니다.
- 보안 비밀 값 필드에 다음 형식으로 인증 토큰을 하나 이상 입력합니다.
{ "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE" }
다음을 바꿉니다.
- AUTHENTICATION_TOKEN_NAME: 인증한 패키지를 식별하는 토큰의 고유한 이름
- TOKEN_VALUE: NPM 레지스트리에서 가져온 인증 토큰의 값
Dataform 서비스 계정에 보안 비밀에 대한 액세스 권한을 부여합니다.
Dataform 서비스 계정의 형식은 다음과 같습니다.
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- 액세스 권한을 부여할 때는 Dataform 서비스 계정에
roles/secretmanager.secretAccessor
역할을 부여해야 합니다.
- 액세스 권한을 부여할 때는 Dataform 서비스 계정에
Dataform 저장소에 비공개 패키지 인증을 위한 보안 비밀 업로드
Dataform 저장소에 비공개 NPM 패키지를 처음 설치하기 전에 패키지의 인증 토큰이 포함된 보안 비밀을 저장소에 업로드합니다.
비공개 NPM 패키지 인증 토큰이 포함된 보안 비밀을 Dataform 저장소에 업로드하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
비공개 NPM 패키지를 설치할 저장소를 선택합니다.
저장소 페이지에서 설정 > 비공개 NPM 패키지 구성을 클릭합니다.
NPM 패키지 보안 비밀 토큰 추가 창의 보안 비밀 드롭다운에서 비공개 NPM 패키지의 인증 토큰이 포함된 보안 비밀을 선택합니다.
저장을 클릭합니다.
비공개 패키지 인증을 위한 .npmrc
파일 만들기
Dataform 저장소에서 비공개 NPM 패키지를 인증하려면 저장소에 최상위 .npmrc
파일을 만들어야 합니다. 저장소에 설치할 모든 비공개 NPM 패키지의 인증 토큰을 .npmrc
파일 내에 저장해야 합니다. .npmrc
파일의 인증 토큰은 저장소에 업로드된 보안 비밀의 인증 토큰과 일치해야 합니다. .npmrc
파일에 관한 자세한 내용은 npmrc 문서를 참조하세요.
저장소에서 최상위 수준 .npmrc
파일을 만들려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
비공개 NPM 패키지를 설치할 저장소를 선택한 다음 작업공간을 선택합니다.
파일 창에서
더보기 메뉴를 클릭한 다음 파일 만들기를 클릭합니다.새 파일 만들기 창에서 다음을 수행합니다.
파일 경로 추가 필드에
.npmrc
를 입력합니다.파일 만들기를 클릭합니다.
Dataform 저장소의 .npmrc
파일에 인증 토큰 추가
패키지 인증 토큰과 .npmrc
파일이 있는 보안 비밀이 이미 포함된 Dataform 저장소에서 비공개 NPM 패키지를 인증하려면 비공개 패키지의 인증 토큰을 저장소의 .npmrc
파일에 추가해야 합니다.
.npmrc
파일에서 NPM 레지스트리의 범위를 정의하고 해당 범위에서 액세스하는 비공개 패키지의 인증 토큰을 추가해야 합니다. .npmrc
파일에 관한 자세한 내용은 npmrc 문서를 참조하세요.
.npmrc
파일의 인증 토큰은 저장소에 업로드된 보안 비밀의 인증 토큰과 일치해야 합니다.
Dataform 저장소의 .npmrc
파일에 인증 토큰을 추가하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
비공개 NPM 패키지를 설치할 저장소를 선택한 다음 작업공간을 선택합니다.
파일 창에서
.npmrc
파일을 선택합니다..npmrc
파일에서 비공개 패키지의 NPM 레지스트리 범위와 인증 토큰을 다음 형식으로 정의합니다.
@REGISTRY-SCOPE:registry=NPM-REGISTRY-URL
NPM-REGISTRY-URL:_authToken=$AUTHENTICATION-TOKEN
다음을 바꿉니다.
- REGISTRY-SCOPE: 인증 토큰을 적용할 NPM 레지스트리 범위
- NPM-REGISTRY-URL: NPM 레지스트리의 URL(예:
https://npm.pkg.github.com
) AUTHENTICATION-TOKEN: 비공개 NPM 패키지의 인증 토큰
.npmrc
파일의 인증 토큰이 업로드된 보안 비밀의 인증 토큰과 일치해야 합니다. 인증 토큰은.npmrc
파일에 환경 변수로 제공되므로 여는${
와}
닫는 괄호를 추가해야 합니다.인증 토큰을 여러 개 입력할 수 있습니다.
다음 코드 샘플은 Dataform 저장소의 .npmrc
파일에 추가된 비공개 NPM 패키지의 인증 토큰을 보여줍니다.
@company:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${AUTHENTICATION_TOKEN}
Dataform 저장소에서 후속 비공개 패키지 인증
패키지 인증 토큰과 .npmrc
파일이 있는 보안 비밀이 이미 포함된 Dataform 저장소에서 비공개 NPM 패키지를 인증하려면 다음 단계를 따르세요.
Secret Manager에서 보안 비밀을 나열하고 저장소의 비공개 NPM 패키지의 인증 토큰을 저장하는 보안 비밀을 선택합니다.
보안 비밀에 새 버전을 추가합니다.
Dataform은 기본적으로 최신 버전의 보안 비밀을 사용합니다.
- 다음 형식으로 비공개 패키지의 인증 토큰을 보안 비밀 값에 추가합니다.
{ "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE" }
다음을 바꿉니다.
- AUTHENTICATION_TOKEN_NAME: 인증한 패키지를 식별하는 토큰의 고유한 이름
- TOKEN_VALUE: NPM 레지스트리에서 가져온 인증 토큰의 값
한 번에 여러 인증 토큰을 추가할 수 있습니다.
Dataform에서 저장소의
.npmrc
파일에 인증 토큰을 추가합니다.
비공개 NPM 패키지를 인증한 후에는 Dataform 저장소에 패키지를 설치할 수 있습니다.
다음 단계
- Dataform 저장소에 패키지를 설치하는 방법은 Dataform에 패키지 설치를 참고하세요.
- Dataform의 패키지에 대한 자세한 내용은 패키지를 사용하여 여러 저장소 간에 코드 재사용을 참조하세요.
- Dataform에서 자체 패키지를 만드는 방법은 Dataform에서 패키지 만들기를 참조하세요.
- Dataform에서 오픈소스 패키지를 사용하는 방법은 Dataform에서 지연 변경 측정기준 사용을 참조하세요.