Como autenticar como usuário final

Na maioria das situações, recomendamos usar uma conta de serviço para autenticar uma API do Google Cloud Platform (GCP). No entanto, em algumas situações, pode ser necessário que seus usuários se autentiquem diretamente. Por exemplo:

  • Você precisa acessar os recursos em nome de um usuário final do seu aplicativo. Por exemplo, seu aplicativo precisa acessar conjuntos de dados de dados do Google BigQuery que pertencem aos próprios usuários do aplicativo.

  • Você precisa autenticar como você mesmo em vez de autenticar como seu aplicativo. Por exemplo, a Cloud Resource Manager API pode criar e gerenciar projetos de um usuário específico, então você precisará autenticar como um usuário para criar projetos em nome dele.

Este guia aborda as credenciais do usuário final. Não trata de como autenticar um usuário no seu aplicativo. Para esse assunto, recomendamos o Firebase Authentication.

Como acessar as credenciais para um usuário final

Quando um aplicativo precisa acessar recursos em nome de um usuário, é exibida uma tela de consentimento. Assim que o usuário aceitar, seu aplicativo solicita as credenciais de um servidor de autorização. Com elas, ele pode acessar recursos em nome do usuário.

Este processo é um protocolo chamado OAuth 2.0.

Fluxo do OAuth 2.0
Seu app
Consentimento do usuário
Dados do usuário

Para saber mais sobre o OAuth 2.0 e como configurar um aplicativo para este caso de uso, acesse OAuth 2.0.

Como solicitar acesso aos recursos do usuário

Quando você usa uma conta de serviço para se autenticar em uma API do GCP, ele autentica automaticamente a conta do serviço com acesso total à API. Ao autenticar como usuário final, é preciso determinar esses escopos do OAuth manualmente.

Consulte a página da API específica para ver 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 Compute Engine API, você precisará configurar um desses escopos do OAuth. Defina o escopo mínimo necessário com base no seu caso.

Como conceder e limitar o acesso aos recursos do projeto

Se você estiver usando credenciais de usuário final para acessar recursos dentro do seu projeto, você precisa conceder ao usuário acesso a eles. Para isso, acesse o GCP e defina uma função no Google Cloud Identity and Access Management (Cloud IAM).

Pode ser necessário limitar os recursos aos quais o usuário tem acesso, especialmente quando você permite que ele acesse recursos em um projeto seu. Defina as funções de acordo com o privilégio menos importante que o usuário precisa.

Cada serviço tem um conjunto de funções Cloud IAM, e você pode escolher criar papéis personalizados em vez disso. Para saber mais, consulte como compreender funções e como criar e gerenciar funções personalizadas.

Próximas etapas

Enviar comentários sobre…