Verificação de escopo restrito

Certas APIs do Google (aquelas que aceitam escopos Confidencial ou Restrito ) têm requisitos para apps que buscam permissão para acessar dados do consumidor. Esses requisitos adicionais para escopos restritos exigem que o app demonstre que é um tipo de aplicativo permitido e o envie para revisões adicionais, que incluem uma possível avaliação de segurança.

A aplicabilidade de escopos restritos em uma API depende principalmente do grau de acesso necessário para fornecer um recurso relevante no app: somente leitura, somente gravação, leitura e gravação etc.

Ao usar o OAuth 2.0 para receber permissão de uma Conta do Google e acessar esses dados, você usa strings chamadas escopos para especificar o tipo de dados que você quer acessar e a quantidade de acesso necessária. Se o app solicitar escopos confidenciais ou restritos, conclua o processo de verificação, a menos que o uso do app se qualifique para uma exceção.

Há um número menor de escopos restritos em comparação com os confidenciais. As Perguntas frequentes sobre a verificação da API OAuth da Verificação contêm a lista atual de escopos sensíveis e restritos. Esses escopos oferecem amplo acesso aos dados dos usuários do Google e exigem que você passe por um processo de verificação antes de solicitar os escopos de qualquer Conta do Google. Para informações sobre esse requisito, consulte a Política de dados do usuário dos serviços de API do Google e os Requisitos adicionais para escopos específicos da API ou a Página do Google Developers específica do produto. Se você armazenar ou transmitir dados de escopo restrito em servidores, será necessário concluir uma avaliação de segurança.

Entender os escopos restritos

Se o app solicitar qualquer escopo restrito e não se qualificar para uma exceção, será necessário atender aos Requisitos adicionais para escopos específicos da API da política de dados do usuário dos serviços de API do Google ou aos requisitos específicos do produto na Página do desenvolvedor do Google, o que exige um processo de análise mais abrangente.

Entenda o uso do escopo

  • Revise os escopos que o app usa ou que você quer usar. Para encontrar o uso de escopo atual, examine o código-fonte do app em busca de todos os escopos enviados com solicitações de autorização.
  • Determine se cada escopo solicitado é necessário para as ações pretendidas do recurso do app e usa o privilégio mínimo necessário para fornecer o recurso. Uma API do Google normalmente tem a documentação de referência na Página do Google Developers do produto para endpoints que inclui o escopo necessário para chamar o endpoint ou propriedades específicas. Para mais informações sobre os escopos necessários de acesso para os endpoints da API que seu app chama, leia a documentação de referência desses endpoints. For example, for an app that only uses Gmail APIs to occasionally send emails on a user's behalf, don't request the scope that provides full access to the user's email data.
  • Os dados que você recebe de uma API do Google só podem ser usados em conformidade com as políticas da API e da maneira que você os representa para os usuários nas ações do seu app e na sua Política de Privacidade.
  • Consulte a documentação da API para saber mais sobre cada escopo, incluindo o possível sensitive or restricted status.
  • Declare todos os escopos usados pelo app na página de escopos de configuração da tela de consentimento do OAuth do API Console. Os escopos especificados são agrupados em categorias sensíveis ou restritas para destacar outras verificações necessárias.
  • Encontre o melhor escopo que corresponda aos dados usados pela sua integração, entenda o uso dela, confirme novamente que tudo ainda funciona em um ambiente de teste e prepare-se para enviar para verificação.

Considere o tempo necessário para concluir a verificação no plano de lançamento do app ou para novos recursos que exijam um novo escopo. Um desses requisitos extras ocorre se o app acessa ou tem a capacidade de acessar os dados do usuário do Google de ou por meio de um servidor. Nesses casos, o sistema precisa passar por uma avaliação de segurança anual realizada por um avaliador terceirizado independente aprovado pelo Google. Por isso, o processo de verificação de escopos restritos pode levar várias semanas para ser concluído. Todos os apps precisam concluir a etapa de verificação de marca primeiro, o que normalmente leva de dois a três dias úteis, se as informações de marca tiverem mudado desde a última verificação de tela de consentimento do OAuth aprovada.

Tipos de aplicativos permitidos

Certos tipos de aplicativos podem acessar escopos restritos para cada produto. É possível encontrar os tipos de aplicativos na página do Google para desenvolvedores específica do produto (por exemplo, a Política da API Gmail).

É sua responsabilidade entender e determinar o tipo de app. No entanto, se você não tiver certeza sobre o tipo de aplicativo do seu app, selecione "Nenhuma opção" para a pergunta Quais recursos você usará? ao enviar o app para verificação. A equipe de verificação da API do Google vai determinar o tipo de aplicativo.

Avaliação de segurança

Todos os apps que solicitam acesso a dados restritos dos usuários do Google e podem acessar dados de ou por um servidor de terceiros precisam passar por uma avaliação de segurança realizada por avaliadores integrados ao Google. Essa avaliação ajuda a manter os dados dos usuários do Google seguros, verificando se todos os apps que acessam os dados do usuário do Google demonstram a capacidade de lidar com os dados com segurança e excluir os dados do usuário mediante solicitação.

Para padronizar nossa avaliação de segurança, utilizamos a App Defense Alliance e o framework de avaliação de segurança de aplicativos na nuvem (CASA, na sigla em inglês).

Conforme mencionado anteriormente, para manter o acesso a todos os escopos restritos verificados, os apps precisam ser verificados novamente para garantir a conformidade e fazer uma avaliação de segurança pelo menos a cada 12 meses após a data de aprovação da Carta de Avaliação (LOA) do avaliador. Se o app adicionar um novo escopo restrito, ele talvez precise ser reavaliado para abranger o escopo extra caso não tenha sido incluído em uma avaliação de segurança anterior.

A equipe de revisão do Google envia um e-mail para você quando chegar a hora de renovar a certificação do app. Para garantir que os membros corretos da sua equipe sejam notificados sobre essa exigência anual, associe outras Contas do Google ao seu API Console projeto como proprietário ou editor. Isso também ajuda a manter atualizados os e-mails de suporte ao usuário e contato do desenvolvedor especificados no Consent Screen pagedo Google API Console OAuth.

Como se preparar para a verificação

Todos os apps que usam APIs do Google para solicitar acesso aos dados precisam seguir estas etapas para concluir a verificação de marca:

  1. Confirme se o app não se enquadra em nenhum dos casos de uso da seção Exceções aos requisitos de verificação.
  2. Verifique se o app obedece aos requisitos de marca das APIs ou dos produtos associados. Por exemplo, consulte as diretrizes da promoção de marca para os escopos do Login do Google.
  3. Verifique a propriedade dos domínios autorizados do seu projeto no Google Search Console. Use uma Conta do Google associada ao seu API Console projeto como Proprietário ou Editor.
  4. Verifique se todas as informações de marca na tela de permissão OAuth, como nome do aplicativo, e-mail de suporte, URI da página inicial, URI da Política de Privacidade etc., representam com precisão a identidade do app.

Requisitos da página inicial do aplicativo

Verifique se a página inicial atende aos seguintes requisitos:

  • Sua página inicial precisa ser acessível publicamente, e não apenas acessível aos usuários conectados ao seu site.
  • A relevância da sua página inicial para o app que está em revisão precisa ser clara.
  • Links para os detalhes do app na Google Play Store ou na página do Facebook dele não são considerados páginas iniciais válidas.

Requisitos do link da Política de Privacidade do aplicativo

Verifique se a Política de Privacidade do app atende aos seguintes requisitos:

  • A Política de Privacidade precisa estar visível para os usuários, hospedada no mesmo domínio da página inicial do aplicativo e vinculada à tela de permissão OAuth do Google API Console. A página inicial precisa incluir uma descrição da funcionalidade do app, além de links para a Política de Privacidade e os Termos de Serviço opcionais.
  • A Política de Privacidade precisa divulgar a maneira como seu app acessa, usa, armazena ou compartilha os dados do usuário do Google. The privacy policy must comply with the Google API Services User Data Policy and the Limited Use requirements for restricted scopes. O uso de dados do usuário do Google precisa ser limitado às práticas divulgadas na sua Política de Privacidade.
  • Review example cases of privacy policies that don't meet the Limited Use requirements.

Como enviar seu app para verificação

Um Google API Console projeto organiza todos os seus API Console recursos. Um projeto consiste em um conjunto de Contas do Google associadas que têm permissão para executar operações do projeto, um conjunto de APIs ativadas e configurações de faturamento, autenticação e monitoramento dessas APIs. Por exemplo, um projeto pode conter um ou mais clientes OAuth, configurar APIs para uso por esses clientes e configurar uma tela de permissão OAuth que é mostrada aos usuários antes de autorizarem o acesso ao app.

Se algum dos seus clientes OAuth não estiver pronto para produção, sugerimos que você o exclua do projeto que está solicitando a verificação. Faça isso no Google API Console.

Siga estas etapas para enviar para verificação:

  1. Verifique se o app obedece aos Termos de Serviço das APIs do Google e à Política de dados do usuário dos serviços de API do Google.
  2. Mantenha atualizados os papéis de proprietário e editor das contas associadas ao projeto, o e-mail de suporte ao usuário e os dados de contato do desenvolvedor da tela de consentimento do OAuth no API Console. Isso garante que os membros corretos da sua equipe sejam notificados sobre novos requisitos.
  3. Acesse o API Console OAuth Consent Screen page.
  4. Clique no botão Seletor de projetos.
  5. Na caixa de diálogo Selecionar de exibida, escolha seu projeto. Se você não conseguir encontrar o projeto, mas souber o ID dele, crie um URL no navegador no seguinte formato:

    https://console.developers.google.com/apis/credentials/consent?project=[PROJECT_ID]

    Substitua [PROJECT_ID] pelo ID do projeto que você quer usar.

  6. Selecione o botão Edit App.
  7. Insira as informações necessárias na página da tela de permissão OAuth e selecione o botão Salvar e continuar.
  8. Use o botão Adicionar ou remover escopos para declarar todos os escopos solicitados pelo app. Um conjunto inicial de escopos necessários para o Login do Google é preenchido na seção Escopos não confidenciais. Os escopos adicionados são classificados como não confidenciais, sensitive, or restricted.
  9. Forneça até três links para qualquer documentação relevante sobre recursos relacionados no app.
  10. Nas próximas etapas, forneça todas as informações adicionais sobre seu app.

    1. Ensure your app complies with the Additional requirements for specific API scopes, which includes undergoing an annual security assessment if your app accesses restricted scope Google users' data from or through a third-party server.
    2. Ensure your app is one of the allowed types specified in the Limited Use section of the Additional requirements for specific API scopes page.
    3. If your app is a task automation platform, your demonstration video must showcase how multiple API workflows are created and automated, and in which directions user data flows.
    4. Prepare a video that fully demonstrates how a user initiates and grants access to the requested scopes and shows, in detail, the usage of the granted sensitive and restricted scopes in the app. Upload the video to YouTube Studio and set Visibility as Unlisted. You need to provide a link to the demonstration video in the YouTube link field.

      1. Show the OAuth grant process that users will experience, in English. This includes the consent flow and, if you use Google Sign-In, the sign-in flow.
      2. Show that the OAuth consent screen correctly displays the App Name.
      3. Show that the browser address bar of the OAuth consent screen correctly includes your app's OAuth client ID.
      4. To show how the data will be used, demonstrate the functionality that's enabled by each sensitive and restricted scope that you request.
      5. If you use multiple clients, and therefore have multiple OAuth client IDs, show how the data is accessed on each OAuth client.
    5. Select your permitted application type from the "What features will you use?" list.
    6. Describe how you will use the restricted scopes in your app and why more limited scopes aren't sufficient.
  11. Se a configuração de app fornecida exigir verificação, você poderá enviá-lo para verificação. Preencha os campos obrigatórios e clique em Enviar para iniciar o processo de verificação.

Depois que você envia seu app, a Equipe de confiabilidade e segurança do Google faz o acompanhamento por e-mail com todas as informações adicionais necessárias ou as etapas que você precisa concluir. Verifique seus endereços de e-mail na seção Dados de contato do desenvolvedor e no e-mail de suporte da tela de permissão OAuth para pedidos de informações adicionais. Também é possível acessar a página da tela de permissão OAuth do seu projeto para confirmar o status de revisão atual dele, inclusive se o processo de revisão está pausado enquanto aguardamos sua resposta.

Exceções aos requisitos de verificação

Se o app for usado em algum dos cenários descritos nas seções a seguir, não é necessário enviá-lo para revisão.

Uso pessoal

Um caso de uso é se você for o único usuário do app ou se ele for usado somente por alguns usuários, que são conhecidos pessoalmente por você. Você e seu número limitado de usuários podem avançar pela tela do app não verificado e conceder às suas contas pessoais acesso ao app.

Projetos usados em níveis de desenvolvimento, teste ou preparo

Para obedecer às políticas do Google OAuth 2.0, recomendamos que você tenha projetos diferentes para ambientes de teste e produção. Recomendamos que você envie o app para verificação somente se quiser que ele seja disponibilizado a qualquer usuário que tenha uma Conta do Google. Portanto, se o app estiver nas fases de desenvolvimento, teste ou preparo, a verificação não será necessária.

Se o app estiver nas fases de desenvolvimento ou teste, deixe o Status de publicação na configuração padrão de Teste. Essa configuração significa que o app ainda está em desenvolvimento e só está disponível para usuários adicionados à lista de usuários de teste. Você precisa gerenciar a lista de Contas do Google envolvidas no desenvolvimento ou teste do app.

Mensagem de aviso informando que o Google não verificou um app que está em teste.
Figura 1. Tela de aviso do testador

Somente dados do serviço

Se o app usa uma conta de serviço para acessar apenas os próprios dados e não acessa dados do usuário (vinculados a uma Conta do Google), não é necessário enviá-la para verificação.

Para entender o que são contas de serviço, consulte Contas de serviço na documentação do Google Cloud. Para instruções sobre como usar uma conta de serviço, acesse Como usar o OAuth 2.0 para aplicativos de servidor para servidor.

Somente para uso interno

Isso significa que o app é usado apenas pelas pessoas na sua organização do Google Workspace ou do Cloud Identity. O projeto precisa pertencer à organização, e a tela de consentimento do OAuth precisa ser configurada para um tipo de usuário interno. Nesse caso, talvez o app precise da aprovação de um administrador da organização. Para mais informações, consulte Outras considerações para o Google Workspace.

Instalação em todo o domínio

Se você planeja que o app segmente apenas usuários de uma organização do Google Workspace ou do Cloud Identity e sempre use a instalação em todo o domínio, seu app não vai exigir a verificação de apps. Isso ocorre porque uma instalação em todo o domínio permite que um administrador de domínio conceda a aplicativos internos e de terceiros acesso aos dados dos seus usuários. Os administradores da organização são as únicas contas que podem adicionar o app a uma lista de permissões para uso nos domínios deles.

Saiba como tornar seu app uma instalação em todo o domínio nas perguntas frequentes Meu aplicativo tem usuários com contas empresariais de outro domínio do Google Workspace.