오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-09 00:00
관리 메뉴

우노

[GCP] ADC(Application Default Credentials)란? 본문

GCP/Authentication

[GCP] ADC(Application Default Credentials)란?

운호(Noah) 2023. 8. 2. 16:49

들어가기 앞서,

  • 애플리케이션이 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를 사용한 사용자 인증 정보 저장
  • GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 사용한 사용자 인증 정보 저장
  • 코드가 실행 중인 리소스에 사용자 인증 정보 연결
    • 만약 GKE를 사용한다면
      • GKE의 Kubernetes Service Account(KSA)를 GCP의 Service Account와 워크로드 아이덴티티 연결한 뒤,
      • 해당 사용자 인증이 필요한 GKE 자원에서 KSA를 선언해 사용자 인증 정보를 사용합니다.

ADC의 사용자 인증 정보 검색 순서

  1. GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 통해 설정한 사용자 인증 정보
  2. Google Cloud CLI를 통해 설정한 사용자 인증 정보
  3. 코드가 실행 중인 리소스에 연결된 사용자 인증 정보

참고

Comments