Escolher um método de autenticação

A API Gateway é compatível com vários métodos de autenticação que são adequados a diferentes aplicativos e casos de uso. O gateway de API usa o método de autenticação especificado na configuração do serviço para validar as solicitações recebidas antes de transmiti-las ao back-end da API. Nesta página, você encontra uma visão geral de cada método de autenticação compatível no gateway de API.

Chaves de API

Uma chave de API é uma string criptografada simples que identifica um projeto do Google Cloud para fins de cota, faturamento e monitoramento. Um desenvolvedor gera uma chave de API em um projeto no Console do Cloud e a incorpora em todas as chamadas para sua API como um parâmetro de consulta ou em um cabeçalho de solicitação

Se você especificar um requisito de chave de API na configuração da API, o gateway de API usará a chave de API para procurar o projeto do Google Cloud ao qual a chave de API está associada. O ESP rejeitará solicitações, a menos que a chave de API tenha sido gerada no seu projeto do Google Cloud ou em outros projetos em que a API foi ativada.

Diferentemente das credenciais que usam tokens de curta duração ou solicitações assinadas, as chaves de API fazem parte da solicitação. Portanto, elas são consideradas vulneráveis a ataques intermediários, ou seja, menos seguras. Você pode usar chaves de API juntamente com um dos métodos de autenticação descritos abaixo. Por motivos de segurança, não use as próprias chaves de API quando as chamadas de API contiverem dados do usuário.

Caso de uso

Para usar recursos do gateway de API, como cotas, é possível passar uma chave de API para que o gateway de API possa identificar o projeto do Google Cloud ao qual o aplicativo cliente está associado.

Sobre a autenticação de chave de API para o gateway de API

Se você estiver usando uma chave de API para autenticação, primeiro ative o suporte à chave de API no seu serviço. Digite o seguinte comando, em que:

  • MANAGED_SERVICE_NAME especifica o nome do serviço gerenciado criado quando você implantou a API. Esse nome está na coluna "Serviço gerenciado" da API na página de destino das APIs no console. Outra opção é encontrar esse nome na propriedade Managed service ao usar o comando gcloud api-gateway apis describe.
  • PROJECT_ID é o nome do projeto do Google Cloud.
gcloud services enable .apigateway.PROJECT_ID.cloud.goog

Exemplo:

gcloud services enable my-api-a12bcd345e67f89g0h.apigateway.my-project.cloud.goog

Contas de serviço

Para identificar um serviço que envia solicitações para sua API, use uma conta de serviço. O serviço de chamada usa a chave privada da conta de serviço para assinar um JSON Web Token (JWT) [link em inglês] seguro e enviá-lo na solicitação para a API.

Caso de uso

JWTs e contas de serviço são adequados para microsserviços. Para mais informações, consulte Autenticação entre serviços.