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 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 aceita, 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, o GCP autentica automaticamente a conta de serviço com acesso total à API. Ao autenticar como usuário final, você precisa especificar os escopos do OAuth manualmente. Os escopos do OAuth limitam as ações que seu aplicativo pode executar em nome do usuário final. Por exemplo, essas ações podem incluir a leitura de arquivos do Cloud Storage ou o gerenciamento de projetos do GCP.

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 API Compute Engine, 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, precisará conceder ao usuário acesso a eles. Para isso, acesse o GCP e defina um papel no Google Cloud Identity and Access Management (Cloud IAM).

Pode ser necessário limitar 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 funções Cloud IAM, e você pode escolher criar papéis personalizados em vez disso. Para saber mais, consulte noções básicas sobre papéis e como criar e gerenciar papéis personalizados.

Próximas etapas

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

Enviar comentários sobre…