Casos de uso de autenticação e autorização

Nesta página, listamos alguns casos de uso comuns de autenticação e autorização, com links para mais informações sobre como implementar cada caso de uso.

Para ter uma visão geral da autenticação no Google, consulte Autenticação no Google.

Autentique para APIs do Google

As APIs do Google exigem um token de acesso ou uma chave de API válidos a cada solicitação. O modo como você fornece essas credenciais necessárias depende de onde seu código está sendo executado e dos tipos de credenciais que a API aceita.

Usar as bibliotecas de cliente e o Application Default Credentials

A maneira recomendada de usar as APIs do Google é usar uma biblioteca de cliente e o Application Default Credentials (ADC). O Application Default Credentials (ADC) é uma estratégia usada pelas bibliotecas de autenticação do Google para encontrar credenciais automaticamente com base no ambiente do aplicativo. As bibliotecas de autenticação disponibilizam essas credenciais para as bibliotecas de cliente do Cloud e as bibliotecas de cliente da API do Google. Ao usar o ADC, o código pode ser executado em um ambiente de desenvolvimento ou produção sem mudar a forma como o aplicativo é autenticado nos serviços e nas APIs do Google Cloud.

A forma de configurar o ADC depende de onde seu código está sendo executado. O ADC é compatível com autenticação como conta de serviço e autenticação como usuário.

Autenticar no Google Kubernetes Engine (GKE)

Use a Identidade da carga de trabalho para permitir que suas cargas de trabalho em execução no GKE acessem com segurança as APIs do Google. A Identidade da carga de trabalho permite que uma conta de serviço do GKE no cluster do GKE atue como uma conta de serviço do Identity and Access Management (IAM).

Autenticar do Cloud Run for Anthos

Você autentica os serviços do Cloud Run for Anthos usando a Identidade da carga de trabalho, que permite acessar as APIs do Google.

Usar uma API que aceite chaves de API

As chaves de API associam uma solicitação de API a um projeto do Google Cloud para fins de faturamento e cota. Se uma API for compatível com chaves de API, uma chave poderá ser fornecida com a solicitação da API em vez do token. Para determinar se uma API é compatível com chaves, consulte a documentação da sua API.

Use JSON Web Tokens (JWTs) autoassinados

Algumas APIs do Google são compatíveis com JSON Web Tokens (JWTs) autoassinados, em vez de tokens de acesso. Com o uso de um JWT autoassinado, você evita a solicitação de rede ao servidor de autorização do Google. Essa abordagem exige que você crie seu próprio JWT assinado. Para mais informações sobre tokens, consulte Tipos de tokens.

Usar as bibliotecas e os pacotes de autenticação

Se o ADC e a implementação do OAuth fornecida pelas Bibliotecas de cliente do Cloud ou da API do Google não estiverem disponíveis no seu ambiente, use as bibliotecas e os pacotes de autenticação.

As seguintes bibliotecas e pacotes de autenticação estão disponíveis:

Você também pode implementar o fluxo do OAuth 2.0 usando endpoints do OAuth 2.0 do Google. Essa abordagem requer uma compreensão mais detalhada de como o OAuth 2.0 e o OpenID Connect funcionam. Para mais informações, consulte Usar o OAuth 2.0 para aplicativos de servidor da Web (em inglês).

Casos de uso específicos dos serviços do Google Cloud

Alguns serviços do Google Cloud oferecem suporte a fluxos de autenticação específicos.

Fornecer acesso por tempo limitado a um recurso do Cloud Storage usando URLs assinados

Os URLs assinados fornecem acesso por tempo limitado a um recurso específico do Cloud Storage.

Autenticar para clusters do GKE Enterprise

É possível se autenticar nos clusters do GKE Enterprise usando identidades do Google Cloud ou um provedor de identidade de terceiros:

Configurar uma API implantada com o gateway de API ou o Cloud Endpoints para autenticação

o gateway de API e o Cloud Endpoints são compatíveis com a autenticação serviço a serviço e autenticação de usuários com o Firebase, tokens de ID assinados pelo Google, Okta, Auth0 e JWTs.

Para mais informações, consulte a documentação do produto:

Autenticação de aplicativos hospedados no Cloud Run ou no Cloud Functions

Os aplicativos hospedados no Cloud Run e no Cloud Functions exigem tokens do OpenID Connect (OIDC), ou tokens de ID, para autenticação.

Para mais informações, consulte a documentação do produto para os serviços de hospedagem listados abaixo. Para saber mais sobre outras formas de adquirir um token de ID, consulte Receber um token de ID. Para mais informações sobre tokens de ID, incluindo validação de tokens de ID, consulte Tokens de ID.

Cloud Run

Há várias maneiras de configurar um serviço do Cloud Run, dependendo de como o serviço vai ser invocado. Talvez você também precise se autenticar em outros serviços de um serviço do Cloud Run, que requer um token de ID do OIDC.

Para autenticar os usuários no seu serviço com um app da Web ou para dispositivos móveis, use o Identity Platform ou o Firebase Authentication. Também é possível usar o Identity-Aware Proxy (IAP) para autenticar usuários internos.

Cloud Functions

Ao invocar uma função, você precisa autenticar a invocação. Use credenciais do usuário ou um token de ID do OIDC.

Autenticar usuários do aplicativo

Há várias opções para autenticar os usuários finais do seu aplicativo, dependendo do restante do ambiente do seu aplicativo. Use as descrições abaixo para entender a melhor opção para seu aplicativo.

Serviço de autenticação Descrição
Serviços de Identificação do Google

Os Serviços de Identificação do Google incluem o recurso Fazer login com o Google, o botão de login do usuário do Google, o SDK e as APIs de Serviços de Identidade. Os serviços de identidade do Google são baseados nos protocolos OAuth 2.0 e OpenID Connect (OIDC).

Se você está criando um aplicativo para dispositivos móveis e quer autenticar usuários utilizando contas do Gmail e do Google Workspace, o recurso Fazer login com o Google pode ser uma boa opção. O recurso Fazer login com o Google também é compatível com o uso de Contas do Google com um sistema de login existente.

Mais informações

O Fazer login com o Google oferece login na conta do Gmail e do Google Workspace e compatibilidade com senhas únicas (OTP, na sigla em inglês). O recurso Fazer login com o Google é destinado a contas exclusivas do Google ou a Contas do Google em um sistema de login existente, em aplicativos para dispositivos móveis.

O recurso Fazer login com o Google está disponível para iOS, Android e apps da Web.

Firebase Authentication

O Firebase Authentication fornece serviços e bibliotecas de autenticação para autenticar usuários no seu aplicativo para uma ampla variedade de tipos de conta de usuário.

Se você quer aceitar logins de usuários de várias plataformas, o Firebase Authentication pode ser uma boa opção.

Mais informações

O Firebase Authentication fornece funcionalidade de autenticação para muitos tipos de contas de usuário. O Firebase Authentication é compatível com autenticação por senha e login federado com o Google, Facebook, Twitter e outras plataformas.

O Identity Platform e o Firebase Authentication se baseiam no Serviços de Identificação do Google. O Firebase Authentication é destinado a aplicativos para consumidores. O Identity Platform é ideal para usuários que querem ser o próprio provedor de identidade ou precisam das funcionalidades prontas para empresas que o Identity Platform oferece. Para mais informações sobre as diferenças entre esses produtos, consulte Diferenças entre o Identity Platform e o Firebase Authentication.

Os links a seguir fornecem mais informações:

Identity Platform

O Identity Platform é uma plataforma de gerenciamento de identidade e acesso do cliente (CIAM) que ajuda as organizações a adicionar essa funcionalidade aos aplicativos.

Se você estiver criando um aplicativo para uso com um provedor de identidade do Google, como o Google Workspace, ou seu próprio serviço de gerenciamento de identidade e acesso, o Identity Platform pode ser uma boa opção.

Mais informações

O Identity Platform oferece um serviço de identidade e autenticação simples e personalizável para inscrição e login dos usuários. O Identity Platform é compatível com vários métodos de autenticação: SAML, OIDC, e-mail/senha, redes sociais, telefone e opções personalizadas.

O Identity Platform e o Firebase Authentication se baseiam no Serviços de Identificação do Google. O Firebase Authentication é destinado a aplicativos para consumidores. O Identity Platform é ideal para usuários que querem ser o próprio provedor de identidade ou precisam das funcionalidades prontas para empresas que o Identity Platform oferece. Para mais informações sobre as diferenças entre esses produtos, consulte Diferenças entre o Identity Platform e o Firebase Authentication.

OAuth 2.0 e OpenID Connect

O OpenID Connect permite processar e usar tokens de autenticação com mais personalização.

Se você quiser controle máximo sobre a implementação do OAuth 2.0 e estiver confortável com a implementação de fluxos do OAuth 2.0, considere essa opção.

Mais informações

A implementação do OAuth 2.0 do Google está em conformidade com as especificações do OpenID Connect e é certificada pelo OpenID. O serviço OpenID Connect é uma camada de identidade sobre o protocolo OAuth 2.0. Seu aplicativo pode usar o OpenID Connect para validar o token de ID e recuperar informações do perfil de usuário.

O OAuth 2.0 pode ser usado para implementar a autenticação programática em um recurso protegido por Identity-Aware Proxy (IAP).

Identity-Aware Proxy (IAP)

Com o IAP, é possível controlar o acesso ao aplicativo antes que as solicitações cheguem aos recursos dele.

Ao contrário dos outros serviços de autenticação nesta tabela, que são implementados no aplicativo, o IAP executa a autenticação antes que o aplicativo possa ser acessado.

Mais informações

Com o IAP, você estabelece uma camada de autorização central para aplicativos e usa cabeçalhos assinados para proteger seu aplicativo. Os aplicativos protegidos por IAP podem ser acessados somente por principais que têm o papel do IAM correto. Quando um usuário final tenta acessar um recurso protegido pelo IAP, o IAP executa verificações de autenticação e autorização para você. O IAP não protege contra atividades dentro de um projeto, como outro serviço do App Engine dentro do mesmo projeto.

Para identidades do Google, o IAP usa tokens de ID. Para mais informações, consulte Autenticação programática.

Para informações sobre como o IAP protege os recursos do aplicativo, consulte a visão geral do IAP.

Os seguintes tutoriais específicos a idiomas estão disponíveis para o IAP:

API App Engine Users Para aplicativos executados no ambiente padrão do App Engine, a API de usuários está disponível para oferecer a funcionalidade de autenticação do usuário em algumas linguagens.
Autorização de acesso para recursos do usuário final Se o aplicativo acessa recursos que pertencem ao usuário final, você precisa garantir a permissão dele para fazer isso. Este caso de uso às vezes é chamado de OAuth de três etapas ou 3LO, porque há três entidades envolvidas: o aplicativo, o servidor de autorização e o usuário.

Opções de autenticação e autorização para o Google Cloud e o Google Workspace

O Google Cloud e o Google Workspace oferecem várias opções para configurar acesso, melhorar a segurança da conta e administrar contas.

Conceder acesso aos recursos do Google Cloud para cargas de trabalho externas

A federação de identidade da carga de trabalho permite conceder acesso às cargas de trabalho locais ou em várias nuvens aos recursos do Google Cloud. Anteriormente, esse caso de uso exigia o uso de chaves de conta de serviço, mas a federação de identidade da carga de trabalho evita a manutenção e a cobrança de segurança do uso de chaves de conta de serviço. A federação da identidade da carga de trabalho suporta muitos provedores de identidade compatíveis com OIDC ou SAML 2.0. Os provedores de identidade compatíveis incluem AWS, Azure Active Directory, Active Directory local, Okta, Ações do GitHub e clusters do Kubernetes.

Configurar um provedor de identidade

É possível usar o Google como provedor de identidade usando o Cloud Identity ou o Google Workspace. Também é possível federar uma conta do Cloud Identity ou do Google Workspace com um provedor de identidade externo. Essa abordagem usa SAML, permitindo que seus funcionários usem a identidade e as credenciais atuais para fazer login nos Serviços do Google.

Configure a autenticação de dois fatores.

Exigir a autenticação de dois fatores é uma prática recomendada que ajuda a evitar que usuários de má-fé acessem uma conta quando eles tiverem acesso às credenciais dessa conta. Com a autenticação de dois fatores, uma segunda informação ou identificação do usuário é necessária antes que ele seja autenticado. O Google oferece várias soluções compatíveis com o padrão FIDO (Fast IDentity Online).

O Identity Platform é compatível com a autenticação de dois fatores para apps da Web, iOS e Android.

Os Serviços de Identificação do Google oferecem suporte à autenticação FIDO (Fast IDentity Online).

O Google é compatível com várias soluções de hardware para autenticação de dois fatores, como chaves Titan.

Configurar o acesso baseado em certificado

Parte da solução de confiança zero BeyondCorp Enterprise, o acesso com base em certificados limita o acesso a usuários autenticados em um dispositivo confiável, identificando dispositivos por meio dos certificados X.509. O acesso baseado em certificado também pode ser chamado de segurança de camada de transporte (mTLS, na sigla em inglês).

Informações gerais da conta e autenticação

Receber ajuda para acessar uma Conta do Google

Se você precisar de ajuda para acessar ou gerenciar uma Conta do Google, consulte a página de suporte da Conta do Google.

Processar credenciais comprometidas

Se você acredita que suas credenciais foram comprometidas, há etapas que você ou o administrador pode seguir para reduzir a situação. Para mais informações, consulte Como gerenciar credenciais comprometidas do Google Cloud.

Ajuda com problemas da autoridade certificadora

Se você encontrar erros relacionados a um problema com seu certificado ou a autoridade de certificação (CA, na sigla em inglês), incluindo a CA raiz, consulte as Perguntas frequentes sobre o Google Trust Services para ver mais informações.