특정 Google API(민감한 또는 제한된 범위를 허용하는 API)에는 소비자 데이터에 액세스할 수 있는 권한을 요청하는 앱에 대한 요구사항이 있습니다. 이러한 제한된 범위에 대한 추가 요구사항에 따라 앱은 허용된 애플리케이션 유형임을 입증하고 보안 평가를 포함한 추가 검토를 받아야 합니다.
API 내에서 제한된 범위의 적용 가능성은 대부분 앱에서 관련 기능을 제공하는 데 필요한 액세스 수준(읽기 전용, 쓰기 전용, 읽기 및 쓰기 등)에 따라 달라집니다.
OAuth 2.0을 사용하여 Google 계정에서 이 데이터에 액세스할 수 있는 권한을 얻을 때 범위라는 문자열을 사용하여 액세스하려는 데이터 유형과 필요한 액세스 권한을 지정합니다. 앱에서 민감한 범위 또는 제한된 범위를 요청하는 경우 앱 사용이 예외에 해당하지 않는 한 인증 절차를 완료해야 합니다.
제한된 범위는 민감한 범위에 비해 수가 적습니다. OAuth API 인증 FAQ에는 현재 민감한 범위 및 제한된 범위 목록이 포함되어 있습니다. 이러한 범위는 Google 사용자 데이터에 대한 광범위한 액세스를 제공하며 Google 계정에서 범위를 요청하기 전에 범위 인증 절차를 거쳐야 합니다. 이 요구사항에 대한 자세한 내용은 Google API 서비스 사용자 데이터 정책 및 특정 API 범위에 대한 추가 요구사항 또는 제품별 Google Developers 페이지를 참조하세요. 서버에 제한된 범위 데이터를 저장하거나 전송하는 경우 보안 평가를 완료해야 합니다.
제한된 범위 이해하기
앱에서 제한된 범위를 요청하고 예외에 해당하지 않는 경우 Google API 서비스 사용자 데이터 정책의 특정 API 범위에 대한 추가 요구사항 또는 제품의 Google Developers 페이지에 있는 제품별 요구사항을 충족해야 하며, 이 경우 더 광범위한 검토 프로세스가 필요합니다.
범위 사용 이해하기
- 앱에서 사용 중이거나 사용하려는 범위를 검토합니다. 기존 범위 사용을 찾으려면 앱의 소스 코드에서 승인 요청과 함께 전송된 범위를 검사합니다.
- 요청된 각 범위가 앱 기능의 의도된 작업에 필요하고 기능을 제공하는 데 필요한 최소 권한을 사용하는지 확인합니다. Google API에는 일반적으로 제품의 Google Developers 페이지에 엔드포인트 또는 특정 속성을 호출하는 데 필요한 범위를 포함하는 엔드포인트에 대한 참고 문서가 있습니다. 앱에서 호출하는 API 엔드포인트에 필요한 액세스 범위에 관한 자세한 내용은 해당 엔드포인트의 참고 문서를 읽어보세요. 예를 들어 Gmail API만 사용하여 사용자를 대신해 가끔 이메일을 전송하는 앱의 경우 사용자의 이메일 데이터에 대한 전체 액세스 권한을 제공하는 범위를 요청하지 마세요.
- Google API에서 수신하는 데이터는 API 정책을 준수하고 앱의 작업 및 개인정보처리방침에서 사용자에게 표시하는 방식으로만 사용해야 합니다.
- API 문서를 참고하여 잠재적인 민감한 상태 또는 제한된 상태를 비롯한 각 범위에 대해 자세히 알아보세요.
- Cloud 콘솔의 데이터 액세스 페이지에서 앱이 사용하는 모든 범위를 선언합니다. 지정한 범위는 민감한 카테고리 또는 제한된 카테고리로 그룹화되어 필요한 추가 인증을 강조 표시합니다.
- 통합에 사용되는 데이터와 일치하는 최적의 범위를 찾고, 사용을 이해하고, 테스트 환경에서 모든 것이 여전히 작동하는지 다시 확인한 다음 확인을 위해 제출할 준비를 합니다.
앱 출시 계획 또는 새 범위가 필요한 새로운 기능의 출시 계획에 인증을 완료하는 데 필요한 시간을 고려해야 합니다. 이러한 추가 요구사항 중 하나는 앱이 서버에서 또는 서버를 통해 Google 사용자 데이터에 액세스하거나 액세스할 수 있는 경우에 발생합니다. 이러한 경우 시스템은 Google에서 승인한 독립적인 서드 파티 평가자의 연간 보안 평가를 받아야 합니다. 따라서 제한된 범위 인증 절차를 완료하는 데 몇 주가 걸릴 수 있습니다. 마지막으로 승인된 OAuth 동의 화면 인증 이후 브랜드 정보가 변경된 경우 모든 앱은 먼저 브랜드 인증 단계를 완료해야 하며, 이 단계는 일반적으로 영업일 기준 2~3일이 소요됩니다.
허용되는 애플리케이션 유형
특정 애플리케이션 유형은 각 제품의 제한된 범위에 액세스할 수 있습니다. 제품별 Google Developers 페이지 (예: Gmail API 정책)에서 애플리케이션 유형을 확인할 수 있습니다.
애플리케이션 유형을 이해하고 결정하는 것은 개발자의 책임입니다. 하지만 앱의 애플리케이션 유형을 확실히 알 수 없는 경우 확인을 위해 앱을 제출할 때 어떤 기능을 사용하시겠습니까? 질문에 대한 옵션을 선택하지 않아도 됩니다. 그러면 Google API 인증팀에서 애플리케이션 유형을 결정합니다.
Security assessment
Google 사용자의 제한된 데이터에 대한 액세스를 요청하고 서드 파티 서버에서 또는 서드 파티 서버를 통해 데이터에 액세스할 수 있는 모든 앱은 Google에서 뽑은 보안 평가자의 보안 평가를 거쳐야 합니다. 이 평가는 Google 사용자 데이터에 액세스하는 모든 앱이 데이터를 안전하게 처리하고 사용자의 요청에 따라 사용자 데이터를 삭제할 수 있는 기능을 입증하도록 하여 Google 사용자의 데이터를 안전하게 보호하는 데 도움이 됩니다.
보안 평가를 표준화하기 위해 앱 방어 동맹 및 클라우드 애플리케이션 보안 평가 프레임워크 (CASA)를 사용합니다.
앞서 언급했듯이 확인된 제한된 범위에 대한 액세스 권한을 유지하려면 앱은 평가자의 평가서 (LOA) 승인일로부터 최소 12개월마다 규정 준수 여부를 재확인하고 보안 평가를 완료해야 합니다. 앱에 새로운 제한된 범위가 추가되는 경우, 이전 보안 평가에 포함되지 않은 추가 범위를 포함하도록 앱을 재평가해야 할 수 있습니다.
앱을 재인증할 때가 되면 Google 검토팀에서 이메일을 보냅니다. 이 연간 시정 조치를 팀의 올바른 구성원에게 알리려면 추가 Google 계정을 소유자 또는 편집자로 Cloud 콘솔 프로젝트에 연결하세요. 또한 Google Cloud 콘솔 OAuth 브랜딩 페이지에 지정된 사용자 지원 및 개발자 연락처 이메일을 최신 상태로 유지하는 데 도움이 됩니다.
인증 준비 단계
Google API를 사용하여 데이터 액세스를 요청하는 모든 앱은 다음 단계를 수행하여 브랜드 확인을 완료해야 합니다.
- 앱이 인증 요구사항 예외 섹션의 사용 사례에 해당하지 않는지 확인합니다.
- 앱이 관련 API 또는 제품의 브랜딩 요구사항을 준수하는지 확인합니다. 예를 들어 Google 로그인 범위의 브랜드 가이드라인을 참고하세요.
- Google Search Console에서 프로젝트의 승인된 도메인 소유권을 확인합니다. API 콘솔 프로젝트와 연결된 Google 계정을 소유자 또는 편집자로 사용합니다.
- 앱 이름, 지원 이메일, 홈페이지 URI, 개인정보처리방침 URI 등 OAuth 동의 화면의 모든 브랜딩 정보가 앱의 ID를 정확하게 나타내는지 확인합니다.
애플리케이션 홈페이지 요구사항
홈페이지가 다음 요구사항을 충족하는지 확인하세요.
- 홈페이지는 사이트에 로그인한 사용자뿐만 아니라 공개적으로 액세스할 수 있어야 합니다.
- 검토 중인 앱과 홈페이지의 관련성이 명확해야 합니다.
- Google Play 스토어의 앱 등록정보 또는 Facebook 페이지로 연결되는 링크는 유효한 애플리케이션 홈페이지로 간주되지 않습니다.
애플리케이션 개인정보처리방침 링크 요구사항
앱의 개인정보처리방침이 다음 요구사항을 충족하는지 확인하세요.
- 개인정보처리방침은 사용자에게 표시되어야 하고, 애플리케이션 홈페이지와 동일한 도메인 내에서 호스팅되어야 하며, Google API 콘솔의 OAuth 동의 화면에 연결되어야 합니다. 홈페이지에는 앱 기능에 대한 설명과 개인정보처리방침 및 선택적 서비스 약관 링크가 포함되어야 합니다.
- 개인정보처리방침에는 애플리케이션이 Google 사용자 데이터에 액세스하거나 이를 사용, 저장 또는 공유하는 방식이 공개되어야 합니다. 개인정보처리방침은 Google API 서비스 사용자 데이터 정책 및 제한된 범위에 대한 제한적 사용 요구사항을 준수해야 합니다. Google 사용자 데이터 사용은 게시된 개인정보처리방침에 공개된 관행으로 제한해야 합니다.
- 제한된 사용 요구사항을 충족하지 않는 개인정보처리방침의 예시를 검토합니다.
브랜드 인증을 위해 앱을 제출하는 방법
Google Cloud 콘솔 프로젝트는 모든 Cloud 콘솔 리소스를 구성합니다. 프로젝트는 프로젝트 작업을 수행할 권한이 있는 연결된 Google 계정 집합, 사용 설정된 API 집합, 해당 API에 대한 결제, 인증, 모니터링 설정으로 구성됩니다. 예를 들어 프로젝트에는 하나 이상의 OAuth 클라이언트가 포함될 수 있고, 해당 클라이언트가 사용할 API를 구성할 수 있으며, 사용자가 앱에 대한 액세스를 승인하기 전에 표시되는 OAuth 동의 화면을 구성할 수 있습니다.
프로덕션에 사용할 준비가 되지 않은 OAuth 클라이언트가 있는 경우 확인을 요청하는 프로젝트에서 해당 클라이언트를 삭제하는 것이 좋습니다. 고객 페이지에서 이 작업을 수행할 수 있습니다.
인증을 위해 제출하려면 다음 단계를 따르세요.
- 앱이 Google API 서비스 약관 및 Google API 서비스 사용자 데이터 정책을 준수하는지 확인합니다.
- Cloud 콘솔에서 프로젝트의 연결된 계정의 소유자 및 편집자 역할과 OAuth 동의 화면의 사용자 지원 이메일 및 개발자 연락처 정보를 최신 상태로 유지합니다. 이렇게 하면 팀의 적절한 구성원에게 새로운 요구사항이 알림으로 전송됩니다.
- Cloud 콘솔 OAuth 브랜딩 페이지로 이동합니다.
- 프로젝트 선택기 버튼을 클릭합니다.
선택 대화상자가 나타나면 프로젝트를 선택합니다. 프로젝트를 찾을 수 없지만 프로젝트 ID를 알고 있는 경우 브라우저에서 다음 형식으로 URL을 구성할 수 있습니다.
https://console.developers.google.com/auth/branding?project=[PROJECT_ID]
[PROJECT_ID]를 사용하려는 프로젝트 ID로 바꿉니다.
브랜딩 페이지에서 앱 이름, 로고, 개발자 연락처 정보, 관련 링크를 포함한 앱의 브랜딩 정보를 제공합니다. 변경사항은 브랜딩 초안으로 저장됩니다.
브랜딩 확인 버튼을 클릭하여 평가 프로세스를 시작합니다. 자동 검토는 일반적으로 몇 분 이내에 완료됩니다.
평가가 완료되면 상태를 검토합니다. 성공하면 상태가 게시 준비 완료로 변경됩니다. 자동 확인이 실패하면 감지된 문제를 확인하고 이를 수정하거나 수동 검토를 요청할 수 있습니다.
브랜딩 게시 버튼을 클릭하여 새 브랜딩을 게시합니다.
앱에서 민감한 범위 또는 제한된 범위에 대한 인증도 필요한 경우 OAuth 인증 센터로 이동하여 데이터 액세스 상태를 추적하고 데모 동영상과 같은 요청된 추가 정보를 제공합니다. 데이터 액세스 인증을 요청하려면 먼저 브랜딩 상태가 게시되어 있어야 합니다.
범위 추가 또는 삭제 버튼을 사용하여 앱에서 요청하는 모든 범위를 선언합니다. Google 로그인에 필요한 초기 범위 집합은 민감하지 않은 범위 섹션에 자동 입력됩니다. 추가된 범위는 민감하지 않음, 민감함 또는 제한됨으로 분류됩니다.
앱의 관련 기능에 관한 관련 문서 링크를 최대 3개까지 제공합니다.
다음 단계에서 앱에 관해 요청된 추가 정보를 제공합니다.
- 앱이 특정 API 범위에 대한 추가 요구사항을 준수하는지 확인합니다. 여기에는 앱이 서드 파티 서버에서 또는 서드 파티 서버를 통해 제한된 범위의 Google 사용자 데이터에 액세스하는 경우 연간 보안 평가를 받는 것이 포함됩니다.
- 앱이 특정 API 범위에 대한 추가 요구사항 페이지의 제한적 사용 섹션에 지정된 허용 유형 중 하나인지 확인합니다.
- 앱이 작업 자동화 플랫폼인 경우 시연 동영상에서 여러 API 워크플로가 생성 및 자동화되는 방식과 사용자 데이터가 흐르는 방향을 보여주어야 합니다.
- 사용자가 요청된 범위에 대한 액세스 권한을 시작하고 부여하는 방법을 완전히 보여주고 앱에서 부여된 민감한 범위 및 제한된 범위의 사용을 자세히 보여주는 동영상을 준비합니다. 동영상을 YouTube 스튜디오에 업로드하고 공개 상태를 일부 공개로 설정합니다. YouTube 링크 입력란에 시연 동영상 링크를 제공해야 합니다.
- 사용자가 경험하게 될 OAuth 권한 부여 프로세스를 영어로 표시합니다. 여기에는 동의 과정과 Google 로그인을 사용하는 경우 로그인 과정이 포함됩니다.
- OAuth 동의 화면에 앱 이름이 올바르게 표시되는지 확인합니다.
- OAuth 동의 화면의 브라우저 주소 표시줄에 앱의 OAuth 클라이언트 ID가 올바르게 포함되어 있는지 확인합니다.
- 데이터가 어떻게 사용되는지 보여주려면 요청하는 각 민감한 범위 및 제한된 범위에서 사용 설정되는 기능을 보여주세요.
- 여러 클라이언트를 사용하므로 OAuth 클라이언트 ID가 여러 개인 경우 각 OAuth 클라이언트에서 데이터에 액세스하는 방법을 보여줍니다.
- '어떤 기능을 사용하시겠습니까?' 목록에서 허용되는 애플리케이션 유형을 선택합니다.
- 앱에서 제한된 범위를 사용하는 방법과 제한된 범위를 추가하는 것만으로 충분하지 않은 이유를 설명합니다.
브랜딩을 게시하거나 데이터 액세스 요청을 제출하면 Google의 신용안전팀에서 필요한 추가 정보나 완료해야 하는 단계를 이메일로 안내할 수 있습니다. 개발자 연락처 정보 섹션의 이메일 주소와 OAuth 동의 화면의 지원 이메일에서 추가 정보 요청을 확인합니다. 프로젝트의 브랜딩 또는 인증 센터 페이지를 확인하여 프로젝트의 현재 검토 상태를 확인할 수도 있습니다. 여기에는 응답을 기다리는 동안 검토 프로세스가 일시중지되었는지 여부도 포함됩니다.
인증 요구사항 예외
앱이 다음 섹션에 설명된 시나리오에서 사용되는 경우 검토를 위해 제출할 필요가 없습니다.
개인 용도
한 가지 사용 사례는 개발자가 앱의 유일한 사용자이거나, 개발자가 개인적으로 알고 있는 소수의 사용자만 앱을 사용하는 경우입니다. 개발자와 제한된 수의 사용자는 확인되지 않은 앱 화면을 진행하고 개인 계정에 앱에 대한 액세스 권한을 부여하는 것이 편할 수 있습니다.
개발, 테스트 또는 스테이징 등급에 사용되는 프로젝트
Google OAuth 2.0 정책을 준수하려면 테스트 및 프로덕션 환경에 서로 다른 프로젝트를 사용하는 것이 좋습니다. Google 계정이 있는 모든 사용자가 앱을 사용할 수 있도록 하려는 경우에만 앱을 제출하여 확인을 받는 것이 좋습니다. 따라서 앱이 개발, 테스트 또는 스테이징 단계에 있는 경우 인증이 필요하지 않습니다.
앱이 개발 또는 테스트 단계에 있는 경우 게시 상태를 기본 설정인 테스트 중으로 둘 수 있습니다. 이 설정은 앱이 아직 개발 중이며 테스트 사용자 목록에 추가한 사용자만 사용할 수 있음을 의미합니다. 앱 개발 또는 테스트에 관련된 Google 계정 목록을 관리해야 합니다.
서비스 소유 데이터만 해당
앱이 서비스 계정을 사용하여 자체 데이터에만 액세스하고 Google 계정에 연결된 사용자 데이터에는 액세스하지 않는 경우 확인을 위해 제출할 필요가 없습니다.
서비스 계정이 무엇인지 알아보려면 Google Cloud 문서의 서비스 계정을 참조하세요. 서비스 계정 사용 방법에 대한 안내는 서버 간 애플리케이션에 OAuth 2.0 사용을 참조하세요.
내부 전용
즉, Google Workspace 또는 Cloud ID 조직의 사용자만 앱을 사용합니다. 프로젝트는 조직에서 소유해야 하며 OAuth 동의 화면은 내부 사용자 유형에 맞게 구성해야 합니다. 이 경우 앱에 조직 관리자의 승인이 필요할 수 있습니다. 자세한 내용은 Google Workspace 추가 고려사항을 참조하세요.
- 공개 및 내부 애플리케이션에 관해 자세히 알아보세요.
- FAQ(앱을 내부 전용으로 표시하려면 어떻게 해야 하나요?)에서 앱을 내부로 표시하는 방법을 알아보세요.
도메인 전체 설치
앱이 Google Workspace 또는 Cloud ID 조직의 사용자만 타겟팅하고 항상 도메인 전체 설치를 사용하도록 계획하는 경우 앱에 브랜드 인증이 필요하지 않습니다. 하지만 앱에서 제한되거나 민감한 범위를 사용하는 경우 앱 인증이 필요합니다. 도메인 전체 설치를 사용하면 도메인 관리자가 서드 파티 및 내부 애플리케이션에 사용자 데이터에 대한 액세스 권한을 부여할 수 있기 때문입니다. 조직 관리자는 도메인 내에서 사용할 수 있도록 허용 목록에 앱을 추가할 수 있는 유일한 계정입니다.
FAQ 내 애플리케이션에 다른 Google Workspace 도메인의 회사 계정을 사용하는 사용자가 있습니다에서 앱을 도메인 전체 설치로 설정하는 방법을 알아보세요.