우노
[GCP] ADC(Application Default Credentials)란? 본문
들어가기 앞서,
애플리케이션이 Google Cloud Platform(GCP)의 서비스들과 상호작용하기 위해선 사용자 인증 정보가 필요합니다.
Application Default Credentials(ADC)는 Google Cloud Platform(GCP)에서 사용되는 인증 방식으로,
Google Cloud Platform(GCP) 서비스 사용 시, 필요한 인증 정보를 애플리케이션 환경을 기준으로 자동으로 검색한 뒤 가져오는 인증 방식입니다.
간단한 예제를 통해 ADC 이해해보겠습니다.
from google.cloud import storage # 개발자가 인증 정보를 명시적으로 지정하지 않아도, ADC를 사용하여 자동으로 인증됨 storage_client = storage.Client() # 이제 storage_client를 사용하여 GCP의 Cloud Storage 서비스와 상호작용할 수 있음 bucket = storage_client.get_bucket('my-bucket') blob = bucket.blob('my-file.txt') blob.upload_from_filename('/path/to/my-file.txt')
ADC에 사용자 인증 정보를 제공하는 방법
- Google Cloud CLI를 사용한 사용자 인증 정보 저장
- gcloud auth application-default login 명령어를 사용하여 로컬 환경에 사용자 인증 정보를 저장할 수 있습니다.
- 이 방법은 로컬 환경에서만 사용되며, 일시적으로 사용자의 인증 정보를 제공하고자 할 때 유용합니다.
- https://cloud.google.com/docs/authentication/provide-credentials-adc?hl=ko#local-user-cred
- GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 사용한 사용자 인증 정보 저장
- 서비스 계정 키를 JSON 파일로 다운로드하고,
- GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 다운로드한 서비스 계정 키 파일의 경로로 설정합니다.
- https://cloud.google.com/docs/authentication/provide-credentials-adc?hl=ko#local-key
- 코드가 실행 중인 리소스에 사용자 인증 정보 연결
- 만약 GKE를 사용한다면
- GKE의 Kubernetes Service Account(KSA)를 GCP의 Service Account와 워크로드 아이덴티티 연결한 뒤,
- 해당 사용자 인증이 필요한 GKE 자원에서 KSA를 선언해 사용자 인증 정보를 사용합니다.
- 만약 GKE를 사용한다면
ADC의 사용자 인증 정보 검색 순서
- GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 통해 설정한 사용자 인증 정보
- Google Cloud CLI를 통해 설정한 사용자 인증 정보
- 코드가 실행 중인 리소스에 연결된 사용자 인증 정보
참고
Comments