서비스 계정

이 가이드에서는 서비스 계정으로 Google Ads API에 액세스하는 방법을 설명합니다.

서비스 계정은 개별 최종 사용자가 아니라 앱에 속한 계정입니다. 서비스 계정은 웹 앱과 Google 서비스 간의 서버 간 상호작용을 지원합니다. 앱은 서비스 계정을 대신하여 Google API를 호출하므로 사용자는 직접 관여하지 않습니다.

서비스 계정은 사람의 승인이 필요하지 않은 OAuth2 흐름을 사용하며, 대신 사용자의 앱만 액세스할 수 있는 키 파일을 사용합니다.

서비스 계정을 사용하면 두 가지 주요 이점이 있습니다.

  • Google API 액세스 승인은 구성 단계로 이루어지므로 사용자 상호작용이 필요한 다른 OAuth2 흐름과 관련된 정보 표시를 피할 수 있습니다.
  • OAuth2 어설션 흐름을 사용하면 필요한 경우 앱에서 다른 사용자로 가장할 수 있습니다.

기본 요건

서비스 계정 액세스 설정

사용자 가장은 도메인 수준에서 제어되므로 Google OAuth2에서 서비스 계정과 어설션 흐름을 사용하려면 Google Workspace에 자체 도메인을 등록해야 합니다. 그러면 앱과 사용자가 도메인의 모든 사용자를 가장할 수 있습니다.

  1. 먼저 서비스 계정과 사용자 인증 정보를 만듭니다.

    JSON 형식의 서비스 계정 키를 다운로드하고 서비스 계정 ID를 기록해 둡니다.

  2. 서비스 계정 ID와 Google Ads API 범위(https://www.googleapis.com/auth/adwords)를 도메인 관리자와 공유합니다.

    도메인 관리자에게 서비스 계정에 도메인 전체 권한을 위임하도록 요청합니다.

  3. 도메인 관리자인 경우 고객센터 안내를 따르세요.

이제 서비스 계정을 사용하여 OAuth2 어설션 흐름으로 Google Ads 계정에 액세스할 수 있습니다.

클라이언트 라이브러리 구성

클라이언트 라이브러리를 구성하는 방법에 대한 안내를 보려면 아래에서 해당 언어를 선택하세요.

보안 문제

서비스 계정에는 Google Workspace 도메인에 대한 도메인 수준 위임 제어 권한이 있으므로 서비스 계정에서 승인된 Google 서비스에 액세스할 수 있도록 하는 키 파일을 보호하는 것이 중요합니다. 이는 특히 해당 서비스 계정이 도메인의 모든 사용자를 가장할 수 있기 때문에 그렇습니다.

또 다른 좋은 방법은 서비스 계정이 필요한 최소 API 집합에만 액세스하도록 허용하는 것입니다. 이는 서비스 계정의 키 파일이 손상된 경우 공격자가 액세스할 수 있는 데이터의 양을 제한하기 위한 사전 조치입니다.