Saiba mais sobre autenticação e autorização

Stay organized with collections Save and categorize content based on your preferences.

Autenticação e autorização são mecanismos usados para verificar a identidade e o acesso aos recursos, respectivamente. Este documento identifica os principais termos que você precisa conhecer antes de implementar a autenticação e a autorização no app.

Observação: esta visão geral se concentra na autenticação e autorização para as APIs do Google Workspace. Algumas informações deste documento podem não pertencer a outras APIs do Google.

Visão geral do processo

O diagrama a seguir mostra as etapas de alto nível de autenticação e autorização para as APIs do Google Workspace:

Etapas de alto nível em uma implementação de autenticação e autorização
Figura 1. Etapas de alto nível em uma implementação de autenticação e autorização
  1. Configurar o projeto e o app do Google Cloud: durante o desenvolvimento, você registra o app no Console do Google Cloud, definindo escopos de autorização e credenciais de acesso para autenticar o app com uma chave de API, credencial do usuário final ou credencial da conta de serviço.

  2. Autenticar o app para acesso: quando o app é executado, as credenciais de acesso registradas são avaliadas. Se o app estiver sendo autenticado como usuário final, um prompt de login poderá ser exibido.

  3. Solicitar recursos: quando o app precisa acessar os recursos do Google, ele solicita ao Google o uso dos escopos de acesso relevantes registrados anteriormente.

  4. Solicitar consentimento do usuário: se o app estiver sendo autenticado como usuário final, o Google exibirá a tela de permissão OAuth para que o usuário decida se quer conceder ao app acesso aos dados solicitados.

  5. Enviar solicitação aprovada de recursos: se o usuário consentir com os escopos de acesso, o app agrupa as credenciais e os escopos de acesso aprovados pelo usuário em uma solicitação. A solicitação é enviada ao servidor de autorização do Google para receber um token de acesso.

  6. O Google retorna um token de acesso:o token de acesso contém uma lista de escopos de acesso concedidos. Se a lista retornada de escopos for mais limitada que os escopos de acesso solicitados, o app desativará todos os recursos limitados pelo token.

  7. Acessar recursos solicitados: o app usa o token de acesso do Google para invocar as APIs relevantes e acessar os recursos.

  8. Receber um token de atualização (opcional): se o app precisar de acesso a uma API do Google durante o ciclo de vida de um único token de acesso, ele poderá receber um token de atualização.

  9. Solicitar mais recursos: se seu app precisar de mais acesso, solicite que o usuário conceda novos escopos de acesso, resultando em uma nova solicitação para receber um token de acesso (etapas 3 a 6).

Terminologia importante

Esta é uma lista de termos relacionados à autenticação e autorização:

Authentication

O ato de garantir que um principal, que pode ser um usuário ou um app agindo em nome de um usuário, seja quem diz que é. Ao criar apps do Google Workspace, você precisa conhecer estes tipos de autenticação:

Autenticação de usuário
O ato de um usuário fazer a autenticação (login) no seu app. A autenticação do usuário geralmente é realizada por um processo de login em que o usuário usa uma combinação de nome de usuário e senha para verificar a identidade no app. A autenticação do usuário pode ser incorporada a um app usando o método Fazer login com o Google.
Autenticação de apps
O ato de um app se autenticar diretamente nos Serviços do Google em nome do usuário que o executa. A autenticação do app geralmente é realizada usando credenciais pré-criadas no código do app.
Autorização

As permissões ou "autoridade" o principal precisa acessar dados ou realizar operações. O ato de autorização é realizado pelo código que você escreve no seu aplicativo. Esse código informa ao usuário que o aplicativo quer agir em nome dele e, se permitido, usa as credenciais exclusivas do seu aplicativo para receber um token de acesso do Google usado para acessar dados ou realizar operações.

Credential

Um tipo de identificação usado na segurança de software. Em termos de autenticação, uma credencial geralmente é uma combinação de nome de usuário/senha. Em termos de autorização para as APIs do Google Workspace, uma credencial geralmente é alguma forma de identificação, como uma string secreta exclusiva conhecida apenas entre o desenvolvedor do app e o servidor de autenticação. O Google oferece suporte a estas credenciais de autenticação: chave de API, ID do cliente do OAuth 2.0 e contas de serviço.

Chave de API
A credencial usada para solicitar acesso a dados públicos, como dados fornecidos usando a API Maps ou arquivos do Google Workspace compartilhados usando a configuração "Qualquer pessoa na Internet com este link" nas configurações de compartilhamento do Google Workspace.
ID do cliente OAuth 2
A credencial usada para solicitar acesso aos dados do usuário. Essa é a credencial principal usada para solicitar acesso aos dados usando as APIs do Google Workspace. Esta credencial exige o consentimento do usuário.
Chave secreta do cliente
Uma string de caracteres que só deve ser conhecida pelo aplicativo e pelo servidor de autorização. A chave secreta do cliente protege os dados do usuário concedendo apenas tokens aos solicitantes autorizados. Nunca inclua a chave secreta do cliente no seu app.
Chaves da conta de serviço
Usado por contas de serviço para receber autorização de um serviço do Google.
Conta de serviço
Uma credencial usada para interações entre servidores, como um app sem rosto que é executado como um processo para acessar alguns dados ou executar alguma operação. As contas de serviço costumam ser usadas para acessar operações e dados baseados na nuvem. No entanto, quando usados com a delegação de autoridade em todo o domínio, eles podem ser usados para acessar dados do usuário.
Escopo

Uma string de URI do OAuth 2.0 que define um nível de acesso a recursos ou ações concedidas a um app. No Google Workspace, os URIs do escopo de autorização contêm o nome do app, os tipos de dados acessados e o nível de acesso. Os usuários do seu app podem analisar os escopos solicitados e escolher qual acesso conceder, depois o servidor de autenticação do Google retorna os escopos permitidos ao app em um token de acesso. Para ter mais detalhes, consulte Como escolher escopos para seu app.

Servidor de autorização

Servidor do Google para conceder acesso, usando um token de acesso, aos dados e operações solicitados por um app.

Código de autorização

Um código enviado do servidor de autorização usado para receber um token de acesso. Um código só é necessário quando o tipo de aplicativo é um app de servidor da Web ou um app instalado.

Token de acesso

Um token que concede acesso a uma API Google Workspace. Um único token de acesso pode conceder diferentes graus, conhecidos como escopos, de acesso a várias APIs. O código de autorização do app solicita tokens de acesso e os usa para invocar as APIs do Google Workspace.

Servidor de recursos

O servidor que hospeda a API que o app quer chamar.

Framework do OAuth 2.0

Um padrão que o app pode usar para fornecer "acesso delegado seguro" ou acesso a dados e operações em nome do usuário do app. Os mecanismos de autenticação e autorização que você usa no seu app representam a implementação do framework OAuth 2.0.

Principal

Uma entidade, também conhecida como identidade, que pode receber acesso a um recurso. As APIs do Google Workspace são compatíveis com dois tipos de participantes: contas de usuário e contas de serviço. Para mais detalhes, consulte Participantes.

Tipo de dados

No contexto de autenticação e autorização, o tipo de dados se refere à entidade proprietária dos dados que seu app está tentando acessar. Há três tipos de dados:

Dados de domínio público
Dados acessíveis a qualquer pessoa, como alguns dados do Google Maps. Esses dados geralmente são acessados usando uma chave de API.
Dados do usuário final
Dados que pertencem a um usuário ou grupo final específico, como arquivos específicos do Google Drive de um usuário específico. Em geral, esse tipo de dados é acessado usando um ID do cliente ou uma conta de serviço do OAuth 2.
Dados na nuvem
Dados que pertencem a um projeto do Google Cloud. Geralmente, esse tipo de dado é acessado por uma conta de serviço.
Consentimento do usuário

Uma etapa de autorização que exige que o usuário do seu app autorize o acesso do app e a execução de operações em nome do usuário.

Tipo de aplicativo

O tipo de app que você criará. Ao criar credenciais usando o Console do Google Cloud, você precisa escolher o tipo de aplicativo. Os tipos de aplicativo são: aplicativo da Web (JavaScript), Android, app do Chrome, iOS, TVs e dispositivos de entrada limitada, app para computador (também chamado de "aplicativo instalado") e plataforma universal do Windows (UWP).

Conta de serviço

Um tipo especial de Conta do Google destinada a representar um usuário não humano que precisa ser autenticado e autorizado a acessar dados. O aplicativo assume a identidade da conta de serviço para chamar as APIs do Google, de modo que os usuários não se envolvam diretamente. As contas de serviço por si só não podem ser usadas para acessar dados do usuário. Dados acessados de modo personalizado usando as APIs do Workspace. No entanto, uma conta de serviço pode acessar os dados do usuário implementando a delegação de autoridade de todo o domínio. Para mais detalhes, consulte Noções básicas sobre contas de serviço.

Delegação de autoridade em todo o domínio

Um recurso de administração que pode autorizar um aplicativo a acessar dados de usuários em nome de usuários na organização do Google Workspace. A delegação em todo o domínio pode ser usada para executar tarefas relacionadas a administradores nos dados do usuário. Para delegar a autoridade dessa forma, os administradores do Google Workspace usam contas de serviço com o OAuth 2.0. Devido à capacidade desse recurso, apenas superadministradores podem ativar a delegação de autoridade em todo o domínio. Para mais detalhes, consulte Delegar autoridade em todo o domínio a uma conta de serviço.

Próxima etapa

Configure a tela de consentimento OAuth do seu app para garantir que os usuários entendam e aprovem qual acesso o app tem aos dados.