애플리케이션 기본 사용자 인증 정보 작동 방식

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 페이지에서는 애플리케이션 기본 사용자 인증 정보(ADC)가 사용자 인증 정보를 찾는 위치에 대해 설명합니다. ADC의 작동 방법을 알고 있으면 ADC에 사용되는 사용자 인증 정보와 이를 찾는 방법을 이해하는 데 도움이 될 수 있습니다.

ADC는 애플리케이션 환경을 기준으로 사용자 인증 정보를 자동으로 검색하고 이러한 사용자 인증 정보를 사용해서 Google Cloud API에 인증하기 위해 Cloud 클라이언트 라이브러리 및 Google API 클라이언트 라이브러리에 사용되는 전략입니다. ADC를 설정하고 클라이언트 라이브러리를 사용할 때는 Google Cloud 서비스 및 API에 대한 애플리케이션 인증 방법을 변경하지 않고 개발 또는 프로덕션 환경에서 코드를 실행할 수 있습니다.

ADC에 사용자 인증 정보를 제공하는 가장 좋은 방법은 애플리케이션 기본 사용자 인증 정보에 대한 사용자 인증 정보 제공을 참조하세요.

주문 검색

ADC는 다음 위치에서 사용자 인증 정보를 검색합니다.

  1. GOOGLE_APPLICATION_CREDENTIALS 환경 변수
  2. Google Cloud CLI로 설정된 사용자 인증 정보
  3. 메타데이터 서버에서 제공된 대로 연결된 서비스 계정

GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 설정하여 이 코드를 App Engine 로컬 에뮬레이터에서도 사용할 수 있습니다.

GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 사용하여 사용자 인증 정보 JSON 파일의 위치를 제공할 수 있습니다. 이 JSON 파일은 다음 파일 유형 중 하나일 수 있습니다.

  • 워크로드 아이덴티티 제휴의 사용자 인증 정보 구성 파일

    워크로드 아이덴티티 제휴를 사용하면 외부 ID 공급업체를 통해 Google Cloud 리소스에 액세스할 수 있습니다. 자세한 내용은 Identity and Access Management(IAM) 문서의 클라이언트 라이브러리, gcloud CLI 또는 Terraform을 사용하여 인증을 참조하세요.

  • 서비스 계정 키

    서비스 계정 키는 보안 위험을 초래하므로 권장하지 않습니다. 다른 사용자 인증 정보 파일 유형과 달리 손상된 서비스 계정 키는 추가 정보 없이 악의적인 행위자에 의해 사용될 수 있습니다. 자세한 내용은 서비스 계정 키 사용 및 관리 권장사항을 참조하세요.

gcloud CLI로 설정된 사용자 인증 정보

gcloud auth application-default login 명령어를 실행하여 Google 계정 사용자 인증 정보를 사용하도록 ADC를 설정할 수 있습니다. 이 명령어는 사용자 인증 정보가 포함된 JSON 파일을 파일 시스템의 잘 알려진 위치에 배치합니다. 위치는 운영체제에 따라 다릅니다.

  • Linux, macOS: $HOME/.config/gcloud/application_default_credentials.json
  • Windows: %APPDATA%\gcloud\application_default_credentials.json

gcloud CLI 및 ADC 사용에 대한 자세한 내용은 gcloud 사용자 인증 정보 유형을 참조하세요.

연결된 서비스 계정

많은 Google Cloud 서비스를 통해 Google Cloud API에 액세스하기 위한 사용자 인증 정보를 제공하는 데 사용할 수 있는 서비스 계정을 연결할 수 있습니다. ADC가 GOOGLE_APPLICATION_CREDENTIALS 환경 변수 또는 Google 계정 사용자 인증 정보에 대해 잘 알려진 위치에서 사용할 수 있는 사용자 인증 정보를 찾지 못하면 메타데이터 서버를 사용하여 코드가 실행 중인 서비스에 대한 사용자 인증 정보를 가져옵니다.

애플리케이션이 서비스 계정 연결을 지원하는 Google Cloud 리소스에서 실행되는 경우에는 연결된 서비스 계정을 사용하여 사용자 인증 정보를 제공해야 합니다. 연결된 서비스 계정을 사용하려면 다음 단계를 따르세요.

  1. 사용자 관리형 서비스 계정을 만듭니다.
  2. 해당 서비스 계정에 가능한 최소 권한의 IAM 역할을 부여합니다.
  3. 코드가 실행 중인 리소스에 서비스 계정을 연결합니다.

이 구성은 프로덕션에서 실행되는 애플리케이션에 권장됩니다.

서비스 계정 연결에 대한 자세한 내용은 리소스에 서비스 계정 연결을 참조하세요. 서비스 계정에 필요한 IAM 역할을 확인하려면 사전 정의된 역할 선택을 참조하세요.

다음 단계