인증 및 승인 알아보기

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

인증 및 승인은 각각 ID와 리소스에 대한 액세스를 확인하는 데 사용되는 메커니즘입니다. 이 문서에서는 앱에서 인증 및 승인을 구현하기 전에 알아야 할 주요 용어를 설명합니다.

참고: 이 개요에서는 Google Workspace API의 인증 및 승인에 중점을 둡니다. 이 문서의 일부 정보는 다른 Google API와는 관련이 없을 수 있습니다.

프로세스 개요

다음 다이어그램은 Google Workspace API의 인증 및 승인 단계를 대략적으로 보여줍니다.

인증 및 승인 구현의 대략적인 단계
그림 1. 인증 및 승인 구현의 대략적인 단계
  1. Google Cloud 프로젝트 및 앱 구성: 개발 중에 Google Cloud Console에서 앱을 등록하고, API 키, 최종 사용자 인증 정보 또는 서비스 계정 사용자 인증 정보로 앱을 인증하기 위해 승인 범위와 액세스 사용자 인증 정보를 정의합니다.

  2. 액세스할 수 있도록 앱 인증: 앱이 실행되면 등록된 액세스 사용자 인증 정보가 평가됩니다. 앱이 최종 사용자로 인증하는 경우 로그인 메시지가 표시될 수 있습니다.

  3. 리소스 요청: 앱에서 Google 리소스에 액세스해야 하는 경우 이전에 등록한 관련 액세스 범위를 사용하여 Google에 요청합니다.

  4. 사용자 동의 요청: 앱이 최종 사용자로 인증하는 경우 Google에서 OAuth 동의 화면을 표시하여 사용자가 요청된 데이터에 대한 앱 액세스 권한을 부여할지 결정할 수 있도록 합니다.

  5. 승인된 리소스 요청 전송: 사용자가 액세스 범위에 동의하면 앱이 사용자 인증 정보와 사용자가 승인한 액세스 범위를 요청에 번들로 포함합니다. 액세스 토큰을 얻기 위한 요청이 Google 승인 서버로 전송됩니다.

  6. Google에서 액세스 토큰 반환: 액세스 토큰에는 부여된 액세스 범위 목록이 포함됩니다. 반환된 범위 목록이 요청된 액세스 범위보다 더 많은 경우 앱은 토큰으로 제한된 모든 기능을 사용 중지합니다.

  7. 요청된 리소스 액세스: 앱은 Google의 액세스 토큰을 사용하여 관련 API를 호출하고 리소스에 액세스합니다.

  8. 갱신 토큰 받기 (선택사항): 앱이 단일 액세스 토큰의 전체 기간을 초과하는 Google API에 액세스해야 하는 경우 갱신 토큰을 가져올 수 있습니다.

  9. 추가 리소스 요청: 추가 액세스 권한이 필요한 경우 앱에서 새로운 액세스 범위를 부여하도록 사용자에게 요청합니다. 그 결과 액세스 토큰을 가져오는 새 요청이 생성됩니다 (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 동의 화면을 구성합니다.