Este tópico explica como acessar as APIs do Google Cloud em nome de um usuário final. Para informações gerais sobre a autenticação em APIs do Google Cloud, consulte Visão geral da autenticação.
Fluxo de autenticação
Quando um aplicativo precisa acessar as APIs do Google Cloud em nome de um usuário final, ele inicia um fluxo de consentimento do OAuth. Depois que o usuário concluir o fluxo, seu aplicativo receberá as credenciais do usuário. Com essas credenciais, seu aplicativo pode chamar as APIs do Google Cloud em nome do usuário.
Este processo é um protocolo chamado OAuth 2.0.
Para saber mais sobre o OAuth 2.0, consulte OAuth 2.0.
Como especificar escopos do OAuth
Ao autenticar como um usuário final, você precisa especificar explicitamente os escopos do OAuth. Eles limitam as ações que o aplicativo pode executar em nome do usuário final. Por exemplo, essas ações talvez incluam a leitura de arquivos do Cloud Storage ou o gerenciamento de projetos do Google Cloud.
Consulte a página da API específica para mais informações sobre quais escopos do OAuth estão
disponíveis. Por exemplo, se você planeja usar o método disks.get()
para a
API Compute Engine, será necessário definir
um desses escopos do OAuth.
Defina o escopo mínimo necessário com base no seu caso de uso.
Como conceder e limitar o acesso a recursos do projeto
Se você estiver usando credenciais de usuário final para acessar recursos dentro do seu projeto, precisará conceder ao usuário acesso a eles. Faça isso no Google Cloud definindo um papel no gerenciamento de identidade e acesso (IAM).
Delimite o acesso do usuário a alguns recursos, especialmente quando ele tem permissão para acessar recursos em um projeto seu. Defina os papéis de acordo com o privilégio mínimo que o usuário precisa.
Cada serviço tem um conjunto de papéis do IAM, mas é possível criar papéis personalizados. Para mais informações, consulte Como entender os papéis e Como criar e gerenciar papéis personalizados.
Exemplo de autenticação do usuário final
Conclua as seções a seguir para receber credenciais para um usuário final. As etapas a seguir usam a API BigQuery, mas é possível replicar esse processo com qualquer API do Google Cloud que tenha uma biblioteca de cliente.
Como configurar o projeto
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.
- Ative a API BigQuery.
- Instale as bibliotecas de cliente do BigQuery.
- Se estiver usando Python ou Node.js, você deverá instalar uma biblioteca de autenticação adicional.
Python
Instale a integração oauthlib para o Google Auth.pip install --upgrade google-auth-oauthlib
Como criar as credenciais de cliente
Crie suas credenciais de cliente no Console do Google Cloud.
Acesse a página Tela de consentimento OAuth no Console do Cloud.
Na página Credenciais, selecione o botão Criar credenciais e selecione o ID do cliente do OAuth.
Selecione Outro e clique no botão Criar. Selecione o botão OK quando a caixa de diálogo de sucesso for exibida.
Para fazer o download das credenciais, clique no botão Fazer o download do JSON referente ao ID do cliente.
Salve o arquivo de credenciais em
client_secrets.json
. Esse arquivo precisa ser distribuído com seu aplicativo.
Como autenticar e chamar a API
Use as credenciais do cliente para executar o fluxo do OAuth 2.0.
Python
Use as credenciais autenticadas para se conectar à API BigQuery.
Python
Quando você executar o código de amostra, ele iniciará um navegador solicitando acesso ao projeto associado às chaves secretas do cliente. As credenciais resultantes poderão ser usadas para acessar os recursos do BigQuery do usuário, porque a amostra solicitou o escopo do BigQuery.
Em um caso de uso diferente, conceda papéis do IAM para determinar o que o usuário pode acessar.
A seguir
- Saiba mais sobre a autenticação em uma API do Google Cloud.
- Saiba mais sobre como se autenticar como uma conta de serviço.
- Aprenda a usar chaves de API
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também ganham US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Comece gratuitamente