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 comandogcloud 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.