Configurar um autorizador do Lambda usando o console do API Gateway - Amazon API Gateway

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar um autorizador do Lambda usando o console do API Gateway

Depois de criar a função do Lambda e verificar se ela funciona, use as etapas a seguir para configurar o autorizador do Lambda do API Gateway (anteriormente conhecido como o autorizador personalizado) no console do API Gateway.

Como configurar um autorizador do Lambda usando o console do API Gateway
  1. Inicie uma sessão no console do API Gateway.

  2. Crie uma API ou selecione uma API existente e escolha Autorizadores.

  3. Selecione Criar autorizador.

  4. Em Nome do autorizador, insira um nome para o autorizador.

  5. Em Tipo de autorizador, selecione Lambda.

  6. Para a função Lambda, selecione Região da AWS onde você criou sua função autorizadora do Lambda e, em seguida, insira o nome da função.

  7. Mantenha o campo Função Lambda de invocação em branco para permitir que o console do API Gateway defina uma política baseada em recursos. A política concede permissões de API Gateway para invocar a função do Lambda do autorizador. Você também pode optar por inserir o nome de um perfil do IAM para permitir que o API Gateway invoque a função do Lambda do autorizador. Para obter um exemplo dessa função, consulte Criar uma função do IAM que pode ser assumida.

  8. Em Carga de evento do Lambda, escolha Token para um autorizador TOKEN ou Solicitação para um autorizador REQUEST. (Isso é o mesmo que definir a propriedade type como TOKEN ou REQUEST.)

  9. Dependendo da opção da etapa anterior, siga um destes procedimentos:

    1. Para a opção Token, faça o seguinte:

      • Em Origem do token, insira o nome do cabeçalho que contém o token de autorização. O cliente da API deve incluir um cabeçalho desse nome para enviar o token de autorização ao autorizador do Lambda.

      • Opcionalmente, para validação do Token, insira uma RegEx declaração. O API Gateway executa a validação inicial do token de entrada em relação a esta expressão e invoca o autorizador mediante a validação com êxito. Isso ajuda a reduzir as chamadas para a API.

      • Para armazenar em cache a política de autorização gerada pelo autorizador, mantenha Armazenamento em cache de autorização ativado. Quando o armazenamento em cache de políticas está habilitado, você pode optar por modificar o valor TTL. A definição de TTL como zero desabilita o armazenamento em cache de políticas. Quando o armazenamento em cache de políticas está habilitado, o nome de cabeçalho especificado em Origem do token se torna a chave de cache. Se vários valores forem passados para esse cabeçalho na solicitação, todos os valores se tornarão a chave de cache, com a ordem preservada.

        nota

        O valor de TTL padrão é de 300 segundos. O valor máximo é de 3600 segundos. Não é possível aumentar esse limite.

    2. Para a opção de Request (Solicitação), faça o seguinte:

      • Em Tipo de origem de identidade, selecione um tipo de parâmetro. Os tipos de parâmetros com suporte são Header, Query string, Stage variable e Context. Para adicionar mais origens de identidade, escolha Adicionar parâmetro.

      • Para armazenar em cache a política de autorização gerada pelo autorizador, mantenha Armazenamento em cache de autorização ativado. Quando o armazenamento em cache de políticas está habilitado, você pode optar por modificar o valor TTL. A definição de TTL como zero desabilita o armazenamento em cache de políticas.

        O API Gateway usa as origens de identidade especificadas como a chave de cache do autorizador de solicitação. Quando o armazenamento em cache é ativado, o API Gateway chama a função do Lambda do autorizador somente depois de verificar com sucesso que todas as origens de identidade especificadas estão presentes em tempo de execução. Se uma origem de identidade especificada estiver ausente, for nula ou vazia, o API Gateway retornará uma resposta 401 Unauthorized sem chamar a função do Lambda do autorizador.

        Quando várias origens de identidade são definidas, todas são usadas para derivar a chave de cache do autorizador. A alteração de qualquer parte da chave de cache faz com que o autorizador descarte o documento de política armazenado em cache e gere um novo. Se um cabeçalho com vários valores for passado na solicitação, todos os valores farão parte da chave de cache, com a ordem preservada.

      • Quando o armazenamento em cache está desativado, não é necessário especificar uma origem de identidade. O API Gateway passa diretamente a solicitação para a função Lambda do autorizador.

    nota

    Para habilitar o armazenamento em cache, o autorizador deve retornar uma política que seja aplicável a todos os métodos em uma API. Para aplicar uma política de método específico, você pode desativar Armazenamento em cache de autorização.

  10. Selecione Criar autorizador.

  11. Depois que o autorizador é criado para a API, você pode testá-lo antes de configurá-lo em um método. Para testar um autorizador, selecione o nome dele.

    1. Para o autorizador TOKEN, em Valor do token, insira um token válido. Escolha Testar autorizador. O token será transmitido para a função do Lambda como o cabeçalho que você especificou na configuração Origem do token do autorizador.

    2. Para o autorizador REQUEST, em Tipo de origem de identidade, selecione um tipo de parâmetro e insira um valor. Para adicionar mais parâmetros, selecione Adicionar parâmetro. Escolha Testar autorizador.

    Além de usar o console do API Gateway, você pode usar AWS CLI ou um AWS SDK para o API Gateway para testar a invocação de um autorizador. Para fazer isso usando o AWS CLI, consulte test-invoke-authorizer.

    nota

    O teste de invocação de um método e o teste de invocação de um autorizador são processos independentes.

    Para testar a invocação de um método usando o console do API Gateway, consulte Usar o console para testar um método de API REST. Para testar a invocação de um método usando o AWS CLI, consulte test-invoke-method.

    Para testar a invocação de um método e de um autorizador configurado, implante a API e, em seguida, use cURL ou Postman para chamar o método fornecendo o token ou os parâmetros de solicitação necessários.

O procedimento a seguir mostra como configurar um método de API para usar o autorizador do Lambda.

Para configurar um método de API para usar um autorizador do Lambda
  1. Escolha atributos. Selecione um novo método ou escolha um método existente. Se necessário, crie um novo recurso.

  2. Na guia Solicitação de método, em Configurações de solicitação de método, escolha Editar.

  3. Em Autorizador, no menu suspenso, selecione o autorizador do Lambda que você acabou de criar.

  4. (Opcional) Se você quiser passar o token de autorização para o back-end, escolha Cabeçalhos de solicitação HTTP. Escolha Adicionar cabeçalho e adicione o nome do cabeçalho de autorização. Em Nome, insira um nome de cabeçalho que corresponda ao nome de Origem do token especificado quando você criou o autorizador do Lambda para a API. Esta etapa não se aplica a autorizadores REQUEST.

  5. Escolha Salvar.

  6. Escolha Deploy API (Implantar API) para implantar a API em um estágio. Observe o valor Invoke URL (Invocar URL). Você precisará dele quando chamar a API. Para um autorizador REQUEST que usa variáveis de estágio, você também deve definir as variáveis de estágio necessárias e especificar os respectivos valores enquanto estiver na página Estágio.