크게 API키를 이용한 방법 , OAuth 2.0 클라이언트 ID , 서비스 계정이 있다
해당 인증방법들에 대한 특징과 차이점을 정리했다
API 키
설명: 사용자가 로그인하지 않아도 접근할 수 있는 공개 데이터를 사용할 때 주로 사용됩니다.
API 키는 단순한 접근 권한을 부여하지만, 보안이 중요한 경우 추가적인 인증 방법을 사용하는 것이 좋습니다.
(클라이언트 로그인 안 한 유저 → 구글 정보)
예시:
Google Maps API를 사용하여 지도 정보를 표시
Google Translate API를 사용하여 텍스트 번역
OAuth 2.0 클라이언트 ID
설명: 사용자가 구글의 개인 소유 데이터에 접근하기 위해 사용자 인증이 필요합니다.
사용자는 애플리케이션이 자신의 데이터를 접근하는 것에 동의해야 하며, 동의 화면에서 이를 확인할 수 있습니다.
구글의 개인 유저 데이터에 접근가능
(클라이언트 로그인 유저 → 구글 정보)
예시:
사용자가 자신의 Google Calendar에 일정을 추가하도록 하는 애플리케이션
사용자의 Google Drive 파일을 애플리케이션에서 읽어오는 기능
서비스 계정
설명: 서버 간 상호작용을 위해 사용되는 인증 방법입니다.
특정 사용자가 아닌 애플리케이션 자체가 인증되어 구글 서비스에 접근합니다.
주로 자동화된 백엔드 작업이나 서버 대 서버 통신에서 사용됩니다.
구글의 개인 유저 데이터에 접근불가능
그러나 구글의 조직 아래에 있는 유저의 데이터에 접근가능 (도메인 전체 권한 위임)
(서버 → 구글 정보)
예시:
백엔드 서버가 정기적으로 Google Cloud Storage에 파일을 업로드/다운로드
Google Sheets에서 데이터를 읽어와 분석 후 결과를 저장하는 스크립트
기업의 IT 관리자가 직원들의 Google Drive 데이터를 주기적으로 백업하는 서비스
Google Workspace 도메인 (서비스 계정에서 설명한 구글의 조직을 말한다)
예를 들어, 회사의 도메인이 "example.com"이라면, 해당 도메인을 기반으로 Google Workspace를 설정하면
조직 내의 유저들이 사용하는 이메일 주소, 캘린더, 드라이브 등을 관리할 수 있습니다.
참고