이 문서에서는 프로그래매틱 방식으로 Dataform에 인증하는 방법을 설명합니다. Dataform 인증 방법은 API에 액세스하는 데 사용하는 인터페이스와 코드가 실행되는 환경에 따라 다릅니다.
Google Cloud 인증에 대한 자세한 내용은 인증 개요를 참조하세요.
API 액세스
Dataform은 프로그래매틱 액세스를 지원합니다. 다음 방법으로 API에 액세스할 수 있습니다.
클라이언트 라이브러리
Dataform 클라이언트 라이브러리는 Dataform 인증을 위해 상위 수준의 언어 지원을 프로그래매틱 방식으로 제공합니다. Google Cloud API 호출을 인증하기 위해 클라이언트 라이브러리는 애플리케이션 기본 사용자 인증 정보(ADC)를 지원합니다. 라이브러리가 정의된 위치 집합에서 사용자 인증 정보를 찾고 이러한 사용자 인증 정보를 사용하여 API에 대한 요청을 인증합니다. ADC를 사용하면 애플리케이션 코드를 수정할 필요 없이 로컬 개발 또는 프로덕션과 같은 다양한 환경에서 애플리케이션에 사용자 인증 정보를 제공할 수 있습니다.
REST
gcloud CLI 사용자 인증 정보를 사용하거나 애플리케이션 기본 사용자 인증 정보를 사용하여 Dataform API에 인증할 수 있습니다. REST 요청 인증에 대한 자세한 내용은 REST를 사용하여 인증을 참조하세요. 사용자 인증 정보 유형은 gcloud CLI 사용자 인증 정보 및 ADC 사용자 인증 정보를 참조하세요.
Dataform 인증 설정
인증 설정 방법은 코드를 실행 중인 환경에 따라 달라집니다.
인증 설정을 위한 가장 일반적인 옵션은 다음과 같습니다. 인증에 대한 추가 옵션 및 자세한 내용은 인증 방법을 참조하세요.
로컬 개발 환경용
다음 방법으로 로컬 개발 환경의 사용자 인증 정보를 설정할 수 있습니다.
클라이언트 라이브러리 또는 서드 파티 도구
로컬 환경에서 애플리케이션 기본 사용자 인증 정보(ADC)를 설정합니다.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
로그인 화면이 표시됩니다. 로그인하면 사용자 인증 정보는 ADC에서 사용하는 로컬 사용자 인증 정보 파일에 저장됩니다.
로컬 환경에서 ADC 사용에 대한 자세한 내용은 로컬 개발 환경용 ADC 설정을 참고하세요.
명령줄의 REST 요청
명령줄에서 REST 요청을 수행할 때는 요청을 전송하는 명령어의 일부로 gcloud auth print-access-token
을 포함하여 gcloud CLI 사용자 인증 정보를 사용할 수 있습니다.
다음 예시에서는 지정된 프로젝트에 대한 서비스 계정을 나열합니다. REST 요청에도 동일한 패턴을 사용할 수 있습니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
REST 및 gRPC를 사용하여 인증하는 방법에 대한 자세한 내용은 REST 사용을 위한 인증을 참조하세요. 로컬 ADC 사용자 인증 정보와 gcloud CLI 사용자 인증 정보의 차이점에 대한 자세한 내용은 gcloud CLI 인증 구성 및 ADC 구성을 참조하세요.
서비스 계정 가장
대부분의 경우 사용자 인증 정보를 사용하여 로컬 개발 환경에서 인증할 수 있습니다. 이렇게 할 수 없거나 서비스 계정에 할당된 권한을 테스트해야 하는 경우에는 서비스 계정 가장을 사용할 수 있습니다. 서비스 계정 토큰 생성자(roles/iam.serviceAccountTokenCreator
) IAM 역할에 포함된 iam.serviceAccounts.getAccessToken
권한이 있어야 합니다.
gcloud config set
명령어를 사용하여 서비스 계정 가장을 사용하도록 gcloud CLI를 설정할 수 있습니다.
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
일부 언어의 경우 서비스 계정 가장을 사용하여 클라이언트 라이브러리에서 사용할 로컬 ADC 파일을 만들 수 있습니다. 이 방법은 Go, Java, Node.js, Python 클라이언트 라이브러리에서만 지원되며 다른 언어에서는 지원되지 않습니다.
서비스 계정 가장으로 로컬 ADC 파일을 설정하려면 gcloud auth application-default login
명령어와 함께 --impersonate-service-account
플래그를 사용합니다.
gcloud auth application-default login --impersonate-service-account=SERVICE_ACCT_EMAIL
서비스 계정 가장에 대한 자세한 내용은 서비스 계정 가장 사용을 참조하세요.
Dataform 액세스 제어
Dataform에 인증한 후에는 Google Cloud 리소스에 액세스할 수 있는 권한이 있어야 합니다. Dataform은 승인을 위해 Identity and Access Management(IAM)를 사용합니다.
Dataform의 역할에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요. IAM 및 승인에 대한 자세한 내용은 IAM 개요를 참조하세요.
다음 단계
- Google Cloud 인증 방법 알아보기
- 인증 사용 사례 목록 살펴보기