Como autorizar aplicativos

Para autorizar um aplicativo no App Engine, é necessário ter uma conta de serviço, que é uma conta que pertence ao aplicativo e não a um usuário final individual. As contas de serviço são usadas para autorizar chamadas às APIs do Google e a outros serviços.

O Google oferece três métodos para autorizar a chamada de uma conta de serviço para APIs do Google:

Serviço de autorização Finalidade
Application Default Credentials O Application Default Credentials usa a conta de serviço integrada em um projeto do Google Cloud Platform. É a maneira mais fácil de se conectar às APIs do Google Cloud Platform.
Autorização do OAuth 2.0 A autorização do OAuth 2.0 é a melhor maneira de autorizar hosts de apps, VMs ou serviços externos ao Google Cloud. Crie seus próprios tokens de autorização do OAuth 2.0 para acessar as APIs do Google.
Delegação de autoridade em todo o domínio do G Suite A delegação de autoridade em todo o domínio permite conceder a aplicativos de terceiros acesso a dados do aplicativo em todo o domínio. A base do serviço para autorizar o acesso em um domínio inteiro de contas do G Suite é o OAuth 2.0.

Application Default Credentials

O serviço Application Default Credentials oferece a maneira mais fácil de receber e usar as credenciais da conta de serviço para chamar outras APIs do Google Cloud Platform. Ele usa a conta de serviço integrada para um projeto em execução no App Engine ou Compute Engine.

O Application Default Credentials é ideal quando a chamada precisa ter o mesmo nível de identidade e autorização para o aplicativo, seja qual for o usuário. Essa é a abordagem recomendada para autorizar chamadas às APIs do Google Cloud Platform, especialmente quando você está criando um aplicativo implantado em máquinas virtuais do App Engine, do Kubernetes Engine ou do Compute Engine.

Exemplos de uso do Application Default Credentials estão disponíveis na documentação do Google Identity Platform.

Autorização do OAuth 2.0

Se você estiver usando hosts de apps ou VMs externos ao Google Cloud Platform, poderá criar seus próprios tokens de autorização do OAuth 2.0 para acessar as APIs do Google. O guia Como usar o OAuth 2.0 para acessar as APIs do Google descreve como usar as bibliotecas do OAuth 2.0 fornecidas pelo Google para chamar as APIs. Para uma demonstração interativa do uso do OAuth 2.0 com o Google (incluindo a opção de usar suas próprias credenciais de clientes), acesse o OAuth 2.0 Playground.

A biblioteca de cliente de APIs do Google para Python tem suporte especial para aplicativos do App Engine. Em especial, há decoradores e classes que simplificam as etapas do protocolo OAuth 2.0.

Se você quiser que seu aplicativo chame dados de usuários de outro serviço do Google, precisará configurar o OAuth 2.0 para aplicativos de servidor da Web. Por exemplo, se você quiser extrair os dados de um usuário do Google Drive e trazê-los para seu aplicativo, use o OAuth 2.0 para aplicativos de servidor da Web para compartilhar dados específicos enquanto mantém outros dados privados, como nomes de usuário e senhas.

Delegação de autoridade em todo o domínio do G Suite

Um administrador do domínio do G Suite pode autorizar um aplicativo a acessar dados de usuários em nome dos usuários no domínio. Por exemplo, um aplicativo que usa a API do Google Agenda para adicionar eventos às agendas de todos os usuários em um domínio do G Suite usa uma conta de serviço para acessar essa API em nome dos usuários.

Autorizar uma conta de serviço a acessar dados em nome de usuários em um domínio é, às vezes, denominado "delegar autoridade em todo o domínio" a uma conta de serviço. Esse tipo de serviço também usa o OAuth 2.0 e requer que um administrador do domínio do G Suite autorize a autoridade em todo o domínio para a conta de serviço.

A página Delegação de autoridade em todo o domínio do G Suite contém exemplos de como implementar isso. Para mais informações sobre como usar o OAuth 2.0 para configurar cenários de consumidor de domínio, consulte Autenticação e autorização de Contas do Google.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentos do ambiente flexível do App Engine para Python