OAuth 2.0 정책 준수

구현된 솔루션을 개발 환경을 넘어 앱 사용자에게 배포할 준비가 되면 Google의 OAuth 2.0 정책을 준수하기 위해 추가 조치를 취해야 할 수도 있습니다. 이 가이드에서는 프로덕션용으로 앱을 준비할 때 발생하는 가장 일반적인 개발자 문제를 준수하는 방법을 설명합니다. 이렇게 하면 오류를 제한하면서 최대한 많은 잠재고객에게 도달할 수 있습니다.

테스트와 프로덕션에 별도의 프로젝트 사용

Google의 OAuth 정책에는 테스트와 프로덕션을 위한 별도의 프로젝트가 필요합니다. 일부 정책과 요구사항은 프로덕션 앱에만 적용됩니다. 모든 Google 계정에서 사용할 수 있는 앱의 프로덕션 버전에 해당하는 OAuth 클라이언트를 포함하는 별도의 프로젝트를 만들고 구성해야 할 수 있습니다.

프로덕션에 사용되는 Google OAuth 클라이언트는 동일한 애플리케이션을 테스트하거나 디버그하는 유사한 OAuth 클라이언트보다 더 안정적이고 예측 가능하며 안전한 데이터 수집 및 스토리지 환경을 제공합니다. 프로덕션 프로젝트는 인증을 위해 제출할 수 있으므로 서드 파티 보안 평가가 포함될 수 있는 특정 API 범위에 대한 추가 요구사항이 적용됩니다.

  1. Go to the Google API Console. Click Create project, enter a name, and click Create.
  2. 테스트 등급과 연결되었을 수 있는 이 프로젝트의 OAuth 클라이언트를 검토합니다. 해당하는 경우 프로덕션 프로젝트 내의 프로덕션 클라이언트에 대해 유사한 OAuth 클라이언트를 만듭니다.
  3. 클라이언트에서 사용 중인 모든 API를 사용 설정합니다.
  4. 새 프로젝트의 OAuth 동의 화면 구성을 검토합니다.

프로덕션에 사용되는 Google OAuth 클라이언트에는 사용자나 개발팀만 사용할 수 있는 테스트 환경, 리디렉션 URI 또는 자바스크립트 원본이 포함되어서는 안 됩니다. 다음은 몇 가지 예입니다.

  • 개별 개발자의 테스트 서버
  • 앱의 테스트 버전 또는 출시 전 버전

프로젝트와 관련된 연락처 목록을 유지합니다.

서비스 변경사항 또는 프로젝트 및 클라이언트 사용에 필요한 새 구성에 대해 Google 및 개발자가 사용 설정한 개별 API에서 사용자에게 연락해야 할 수 있습니다. 프로젝트의 IAM 목록을 검토하여 팀의 관련 담당자에게 프로젝트 구성을 수정하거나 볼 수 있는 액세스 권한이 있는지 확인하세요. 이러한 계정으로 프로젝트에 필요한 변경사항에 대한 이메일이 전송될 수도 있습니다.

역할에는 프로젝트 리소스에서 특정 작업을 수행할 수 있게 해주는 권한 집합이 포함됩니다. 프로젝트 편집자는 프로젝트의 OAuth 동의 화면을 변경하는 등 상태를 수정하는 작업에 대한 권한이 있습니다. 모든 편집자 권한을 가진 프로젝트 소유자는 프로젝트와 연결된 계정을 추가 또는 삭제하거나 프로젝트를 삭제할 수 있습니다. 프로젝트 소유자는 결제 정보가 설정되는 이유에 대한 배경 정보를 제공할 수도 있습니다. 프로젝트 소유자는 유료 API를 사용하는 프로젝트의 결제 정보를 설정할 수 있습니다.

프로젝트 소유자 및 편집자는 최신 상태를 유지해야 합니다. 프로젝트에 관련 계정을 여러 개 추가하여 프로젝트 및 관련 유지보수에 계속 액세스할 수 있습니다. 프로젝트 또는 Google 서비스 업데이트에 대한 알림이 있으면 해당 계정으로 이메일이 전송됩니다. Google Cloud 조직 관리자는 연결 가능한 연락처가 조직의 모든 프로젝트와 연결되어 있는지 확인해야 합니다. 프로젝트에 대한 최신 연락처 정보가 없으면 조치가 필요한 중요한 메시지를 놓칠 수 있습니다.

신원을 정확하게 표시

사용자에게 표시할 유효한 앱 이름과 로고(선택사항)를 제공합니다. 이 브랜드 정보는 애플리케이션의 ID를 정확하게 나타내야 합니다. 앱 브랜드 정보는 OAuth Consent Screen page에서 구성됩니다.

프로덕션 앱의 경우 OAuth 동의 화면에 정의된 브랜드 정보를 사용자에게 표시하기 전에 확인해야 합니다. 브랜드 인증이 완료된 후 사용자가 앱에 액세스 권한을 부여할 가능성이 높습니다. 앱 이름, 홈페이지, 서비스 약관, 개인정보처리방침을 포함한 기본 애플리케이션 정보는 사용자가 기존 권한 부여를 검토할 때 권한 부여 화면에서 사용자 또는 조직의 앱 사용을 검토하는 Google Workspace 관리자에게 표시됩니다.

Google은 앱의 신원을 허위로 표시하거나 사용자를 속이려고 시도하는 경우 Google API 서비스와 기타 Google 제품 및 서비스에 대한 액세스 권한을 취소하거나 정지할 수 있습니다.

필요한 범위만 요청

애플리케이션을 개발하는 동안 API에서 제공하는 예시 범위를 사용하여 애플리케이션 내에 개념 증명을 만들어 API의 기능에 대해 자세히 알아볼 수 있습니다. 이러한 예시 범위는 특정 API에 대해 가능한 모든 작업을 포괄적으로 포괄하기 때문에 앱 요구사항의 최종 구현보다 더 많은 정보를 요청하는 경우가 많습니다. 예를 들어 예시 범위에서는 읽기, 쓰기, 삭제 권한을 요청할 수 있지만 애플리케이션에는 읽기 권한만 필요할 수 있습니다. 애플리케이션을 구현하는 데 필요한 중요한 정보로 제한된 관련 권한을 요청합니다.

앱이 호출하는 API 엔드포인트의 참조 문서를 검토하고 앱에 필요한 관련 데이터에 액세스하는 데 필요한 범위를 확인합니다. API에서 제공하는 승인 가이드를 검토하고 가장 일반적인 사용법을 포함하도록 범위를 자세히 설명합니다. 애플리케이션에서 관련 기능을 구동하는 데 필요한 최소한의 데이터 액세스를 선택하세요.

이 요구사항에 대한 자세한 내용은 OAuth 2.0 정책의 필요한 범위만 요청 섹션과 Google API 서비스 사용자 데이터 정책의 관련 권한 요청 섹션을 참조하세요.

확인을 위해 민감하거나 제한된 범위를 사용하는 프로덕션 앱 제출

특정 범위는 '민감' 또는 '제한됨'으로 분류되며 검토 없이 프로덕션 앱에서 사용할 수 없습니다. OAuth 동의 화면 구성에 프로덕션 앱에서 사용하는 모든 범위를 입력합니다. 프로덕션 앱에서 민감하거나 제한된 범위를 사용하는 경우 해당 범위를 승인 요청에 포함하기 전에 확인을 위해 해당 범위 사용을 제출해야 합니다.

내가 소유한 도메인만 사용

Google의 OAuth 동의 화면 확인 절차에서는 프로젝트의 홈페이지, 개인정보처리방침, 서비스 약관, 승인된 리디렉션 URI 또는 승인된 JavaScript 출처와 연결된 모든 도메인을 확인해야 합니다. OAuth 동의 화면 편집기의 승인된 도메인 섹션에 요약된 앱에서 사용 중인 도메인 목록을 검토하고 소유하지 않아 확인할 수 없는 도메인을 식별합니다. 프로젝트의 승인된 도메인의 소유권을 확인하려면 Google Search Console을 사용합니다. 프로젝트와 연결된 Google 계정을 API Console 소유자나 편집자로 사용하세요.

프로젝트에서 공통 공유 도메인을 가진 서비스 제공업체를 사용하는 경우 자체 도메인을 사용할 수 있는 구성을 사용 설정하는 것이 좋습니다. 일부 제공업체는 이미 소유하고 있는 도메인의 하위 도메인에 서비스를 매핑할 수 있도록 제공합니다.

프로덕션 앱의 홈페이지 호스팅

OAuth 2.0을 사용하는 모든 프로덕션 앱에는 공개적으로 액세스할 수 있는 홈페이지가 있어야 합니다. 앱의 잠재적 사용자는 홈페이지를 방문하여 앱에서 제공하는 기능에 관해 자세히 알아볼 수 있습니다. 기존 사용자는 기존 권한 부여 목록을 검토하고 앱의 홈페이지를 방문하여 서비스를 계속 사용하고 있음을 상기할 수 있습니다.

애플리케이션의 홈페이지에는 앱 기능에 관한 설명과 개인정보처리방침 및 서비스 약관(선택사항)으로 연결되는 링크가 포함되어야 합니다. 홈페이지가 본인의 소유권으로 확인된 도메인에 있어야 합니다.

보안 리디렉션 URI 및 자바스크립트 출처 사용

웹 앱용 OAuth 2.0 클라이언트는 일반 HTTP가 아닌 HTTPS 리디렉션 URI 및 자바스크립트 원본을 사용하여 데이터를 보호해야 합니다. Google은 보안 컨텍스트에서 시작되거나 보안 컨텍스트로 확인되지 않는 OAuth 요청을 거부할 수 있습니다.

페이지로 반환되는 토큰 및 기타 사용자 인증 정보에 액세스할 수 있는 서드 파티 애플리케이션과 스크립트를 고려하세요. 토큰 데이터 확인 및 저장으로 제한되는 리디렉션 URI 위치를 사용하여 민감한 정보에 대한 액세스를 제한합니다.

다음 단계

앱이 이 페이지의 OAuth 2.0 정책을 준수하는지 확인한 후 브랜드 인증을 위해 제출에서 인증 절차에 대한 자세한 내용을 확인하세요.