인증 및 승인은 각각 ID와 리소스에 대한 액세스를 확인하는 데 사용되는 메커니즘입니다. 이 문서에서는 앱에서 인증 및 승인을 구현하기 전에 알아야 할 주요 용어를 설명합니다.
참고: 이 개요에서는 Google Workspace API의 인증 및 승인에 중점을 둡니다. 이 문서의 일부 정보는 다른 Google API와는 관련이 없을 수 있습니다.
프로세스 개요
다음 다이어그램은 Google Workspace API의 인증 및 승인 단계를 대략적으로 보여줍니다.

Google Cloud 프로젝트 및 앱 구성: 개발 중에 Google Cloud Console에서 앱을 등록하고, API 키, 최종 사용자 인증 정보 또는 서비스 계정 사용자 인증 정보로 앱을 인증하기 위해 승인 범위와 액세스 사용자 인증 정보를 정의합니다.
액세스할 수 있도록 앱 인증: 앱이 실행되면 등록된 액세스 사용자 인증 정보가 평가됩니다. 앱이 최종 사용자로 인증하는 경우 로그인 메시지가 표시될 수 있습니다.
리소스 요청: 앱에서 Google 리소스에 액세스해야 하는 경우 이전에 등록한 관련 액세스 범위를 사용하여 Google에 요청합니다.
사용자 동의 요청: 앱이 최종 사용자로 인증하는 경우 Google에서 OAuth 동의 화면을 표시하여 사용자가 요청된 데이터에 대한 앱 액세스 권한을 부여할지 결정할 수 있도록 합니다.
승인된 리소스 요청 전송: 사용자가 액세스 범위에 동의하면 앱이 사용자 인증 정보와 사용자가 승인한 액세스 범위를 요청에 번들로 포함합니다. 액세스 토큰을 얻기 위한 요청이 Google 승인 서버로 전송됩니다.
Google에서 액세스 토큰 반환: 액세스 토큰에는 부여된 액세스 범위 목록이 포함됩니다. 반환된 범위 목록이 요청된 액세스 범위보다 더 많은 경우 앱은 토큰으로 제한된 모든 기능을 사용 중지합니다.
요청된 리소스 액세스: 앱은 Google의 액세스 토큰을 사용하여 관련 API를 호출하고 리소스에 액세스합니다.
갱신 토큰 받기 (선택사항): 앱이 단일 액세스 토큰의 전체 기간을 초과하는 Google API에 액세스해야 하는 경우 갱신 토큰을 가져올 수 있습니다.
추가 리소스 요청: 추가 액세스 권한이 필요한 경우 앱에서 새로운 액세스 범위를 부여하도록 사용자에게 요청합니다. 그 결과 액세스 토큰을 가져오는 새 요청이 생성됩니다 (3~6단계).
중요 용어
인증 및 승인과 관련된 용어 목록은 다음과 같습니다.
- 인증
사용자 또는 사용자를 대신하는 앱이 될 수 있는 주 구성원이 본인이 맞는지 확인하는 역할을 합니다. Google Workspace 앱을 작성할 때는 다음 유형의 인증을 알고 있어야 합니다.
- 사용자 인증
- 앱을 인증 (로그인)하는 사용자 작업입니다. 사용자 인증은 일반적으로 사용자가 사용자 이름과 비밀번호 조합을 사용하여 앱에 대한 신원을 확인하는 로그인 프로세스를 거칩니다. 사용자 인증은 Google 계정으로 로그인을 사용하여 앱에 통합할 수 있습니다.
- 앱 인증
- 앱을 실행하는 사용자를 대신하여 Google 서비스에 직접 인증하는 앱입니다. 앱 인증은 일반적으로 앱 코드에서 사전 생성된 사용자 인증 정보를 사용하여 수행됩니다.
- 승인
주 구성원이 데이터에 액세스하거나 작업을 수행해야 하는 권한 또는 '권한'을 가집니다. 승인 작업은 앱에서 작성한 코드를 통해 수행됩니다. 이 코드는 앱이 사용자를 대신하고자 한다고 알리고, 허용되는 경우 앱의 고유 사용자 인증 정보를 사용하여 Google의 데이터 액세스나 작업 실행에 사용되는 액세스 토큰을 가져옵니다.
- 사용자 인증 정보
소프트웨어 보안에 사용되는 신분증입니다. 인증의 관점에서 사용자 인증 정보는 주로 사용자 이름과 비밀번호의 조합입니다. Google Workspace API 승인의 측면에서 사용자 인증 정보는 일반적으로 앱 보안 비밀과 인증 서버 사이에서만 알려진 고유한 보안 비밀 문자열과 같은 일종의 식별 방법입니다. Google은 API 키, OAuth 2.0 클라이언트 ID, 서비스 계정과 같은 사용자 인증 정보를 지원합니다.
- API 키
- 지도 API를 사용하여 제공된 데이터 또는 Google Workspace 공유 설정 내 '이 링크가 있는 인터넷의 모든 사용자' 설정을 사용하여 공유된 Google Workspace 파일과 같이 공개 데이터에 대한 액세스를 요청하는 데 사용되는 사용자 인증 정보
- OAuth 2 클라이언트 ID
- 사용자 소유 데이터에 대한 액세스를 요청하는 데 사용되는 사용자 인증 정보입니다. Google Workspace API를 사용하여 데이터 액세스를 요청할 때 사용되는 기본 사용자 인증 정보입니다. 이 사용자 인증 정보를 사용하려면 사용자 동의가 필요합니다.
- 클라이언트 보안 비밀번호
- 애플리케이션과 승인 서버에서만 알고 있어야 하는 문자열입니다. 클라이언트 보안 비밀번호는 승인된 요청자에게만 토큰을 부여하여 사용자의 데이터를 보호합니다. 앱에 클라이언트 보안 비밀을 포함해서는 안 됩니다.
- 서비스 계정 키
- 서비스 계정에서 Google 서비스 승인을 받는 데 사용됩니다.
- 서비스 계정
- 일부 데이터에 액세스하거나 일부 작업을 처리하는 프로세스로 실행되는 얼굴 없는 앱과 같이 서버 간 상호작용에 사용되는 사용자 인증 정보입니다. 서비스 계정은 일반적으로 클라우드 기반 데이터 및 작업에 액세스하는 데 사용됩니다. 하지만 도메인 전체 권한 위임과 함께 사용하면 사용자 데이터에 액세스할 수 있습니다.
- 범위
앱에 부여된 리소스 또는 작업에 대한 액세스 수준을 정의하는 OAuth 2.0 URI 문자열입니다. Google Workspace의 경우 승인 범위 URI에 Google Workspace 앱 이름, 액세스하는 데이터의 종류, 액세스 수준이 포함됩니다. 앱 사용자는 요청된 범위를 검토하고 부여할 액세스 권한을 선택할 수 있습니다. 그러면 Google의 인증 서버가 액세스 토큰에 허용된 범위를 앱에 반환합니다. 자세한 내용은 앱 범위를 선택하는 방법을 참고하세요.
- 승인 서버
액세스 토큰을 사용하여 앱의 요청된 데이터 및 작업에 대한 액세스 권한을 부여하는 Google 서버
- 승인 코드
액세스 토큰을 얻는 데 사용되는 승인 서버에서 전송된 코드입니다. 애플리케이션 유형이 웹 서버 앱 또는 설치된 앱인 경우에만 코드가 필요합니다.
- 액세스 토큰
Google Workspace API에 대한 액세스 권한을 부여하는 토큰입니다. 단일 액세스 토큰은 여러 범위(범위라고 함)에 따라 여러 API에 대한 액세스 권한을 부여할 수 있습니다. 앱의 승인 코드는 액세스 토큰을 요청하고 이를 사용하여 Google Workspace API를 호출합니다.
- 리소스 서버
앱에서 호출하려는 API를 호스팅하는 서버입니다.
- OAuth 2.0 프레임워크
앱에서 '위임된 위임된 액세스 권한'을 제공하거나 앱 사용자 대신 데이터 및 작업에 액세스할 권한을 제공하는 데 사용할 수 있는 표준입니다. 앱에서 사용하는 인증 및 승인 메커니즘은 OAuth 2.0 프레임워크 구현을 나타냅니다.
- 주 구성원
리소스에 대한 액세스 권한을 부여할 수 있는 항목(ID라고도 함)입니다. Google Workspace API는 두 가지 유형의 주 구성원, 즉 사용자 계정과 서비스 계정을 지원합니다. 자세한 내용은 주 구성원을 참조하세요.
- 데이터 유형
인증 및 승인의 맥락에서 데이터 유형은 앱에서 액세스하려는 데이터를 소유한 항목을 의미합니다. 세 가지 데이터 유형이 있습니다.
- 공개 도메인 데이터
- 일부 Google 지도 데이터 등 누구나 액세스할 수 있는 데이터입니다. 이 데이터는 일반적으로 API 키를 사용하여 액세스됩니다.
- 최종 사용자 데이터
- 특정 최종 사용자 또는 그룹에 속하는 데이터(예: 특정 사용자의 Google Drive 파일) 이 데이터 유형은 일반적으로 OAuth 2 클라이언트 ID 또는 서비스 계정을 사용하여 액세스합니다.
- 클라우드 데이터
- Google Cloud 프로젝트 소유 데이터. 이 데이터 유형은 일반적으로 서비스 계정으로 액세스합니다.
- 사용자 동의
앱 사용자에게 앱이 사용자 대신 데이터에 액세스하고 작업을 수행하도록 승인할 것을 요구하는 승인 단계입니다.
- 애플리케이션 유형
만들려는 앱의 유형입니다. Google Cloud 콘솔을 사용하여 사용자 인증 정보를 만들 때 애플리케이션 유형을 선택하라는 메시지가 표시됩니다. 애플리케이션 유형에는 웹 애플리케이션 (자바스크립트), Android, Chrome 앱, iOS, TV 및 제한된 입력 기기, 데스크톱 앱('설치된 앱'이라고도 함), 범용 Windows 플랫폼 (UWP)이 있습니다.
- 서비스 계정
인증하고 데이터에 액세스하도록 승인되어야 하는 사람이 아닌 사용자를 나타내는 특별한 유형의 Google 계정입니다. 애플리케이션에서는 서비스 계정의 ID가 Google API를 호출한다고 가정하므로 사용자가 직접 관여하지 않습니다. 그 자체로 서비스 계정은 사용자 데이터에 액세스하는 데 사용할 수 없습니다. 데이터는 Workspace API를 사용하여 일반적으로 액세스됩니다. 하지만 서비스 계정은 도메인 전체 권한 위임을 구현하여 사용자 데이터에 액세스할 수 있습니다. 자세한 내용은 서비스 계정 이해를 참조하세요.
- 도메인 전체 권한 위임
애플리케이션에서 Google Workspace 조직의 사용자를 대신하여 사용자 데이터에 액세스하도록 승인할 수 있는 관리 기능입니다. 도메인 차원 위임을 사용하여 사용자 데이터에 대한 관리자 관련 작업을 실행할 수 있습니다. 이 방법으로 권한을 위임하기 위해 Google Workspace 관리자는 OAuth 2.0이 적용된 서비스 계정을 사용합니다. 이 기능의 힘이 있으므로 최고 관리자만 도메인 전체 권한 위임을 사용 설정할 수 있습니다. 자세한 내용은 서비스 계정에 도메인 전체 권한 위임을 참조하세요.
다음 단계
사용자가 앱의 데이터 액세스 권한을 이해하고 승인할 수 있도록 앱의 OAuth 동의 화면을 구성합니다.