Somente DataPower API Gateway

Lambda

Use a política do Lambda para acionar diretamente as funções do Lambda do AWS da API sem usar o Amazon API Gateway.

Suporte de gateway

Tabela 1. Tabela mostrando quais gateways suportam a política e a versão da política correspondente
Gateway Versão da política
DataPower® API Gateway 1.3.0

Este tópico descreve como configurar a política na interface com o usuário do conjunto; para obter detalhes sobre como configurar a política na origem OpenAPI , consulte Lambda.

Sobre

A política do Lambda permite que você acione as funções do AWS Lambda de dentro do assembly de uma API sem precisar usar o Amazon API Gateway. Ao incluir a política em um conjunto de API, é possível especificar a função Lambda para chamar e fornecer credenciais para usá-lo. As credenciais podem ser uma função IAM AWS ou um par de ID de chave de acesso/chave de acesso secreta. Você pode fazer o download da política lambda em Lambda policy fix pack.

Para permitir que API Connect invoque uma função Lambda, conclua as seguintes tarefas:
  1. Configure o acesso à função Lambda no AWS conforme explicado na seção Configurando permissões e confiança no AWS deste tópico.
  2. Defina uma política de API em API Connect usando as propriedades da política na seção Properties deste tópico.
Nota:
  • A política do Lambda usa endpoints VPC para garantir que a comunicação do gateway com o serviço Lambda seja feita pelo backbone privado AWS.
  • Para obter informações sobre o Lambda e instruções para usar os recursos do Lambda, consulte a documentação do AWS Lambda.

Configurando permissões e confiança no AWS

Para usar uma política Lambda, você deve configurar uma função em sua conta do AWS, especificando uma política de permissões e uma relação de confiança, para que API Connect possa invocar a função Lambda do AWS. Há uma opção de autenticação ao usar a política AWS Lambda:

Use as instruções para a opção que melhor se adapta às suas necessidades.

ID da chave de acesso / Chave de acesso secreta
Forneça o par de Chaves de acesso secretas do AWS Access Key ID/AWS de uma conta com permissão para chamar uma ou mais funções Lambda. As permissões dessa conta devem ter o escopo mais restrito possível; a conta deve ser uma conta de serviço sem nenhuma outra permissão além da capacidade de chamar uma ou mais funções do Lambda. Para obter mais informações, consulte a documentação Políticas de IAM baseadas em identidade para o Lambda.

Para usar a opção de autenticação ID da chave de acesso/chave de acesso secreta, conclua as etapas a seguir para usar o serviço IAM da sua conta e criar uma conta de serviço IAM com as permissões apropriadas para facilitar a comunicação limitada com API Connect:

  1. Faça login no Console de gerenciamento AWS e abra o console do IAM.
  2. No console do IAM do AWS , clique em Usuários na lista de navegação e, em seguida, clique em Incluir usuários
  3. Quando solicitado a "Configurar detalhes do usuário", forneça um Nome do usuário (exclusivo em sua conta do AWS ) e selecione Chave de acesso-Acesso programático.

    Você pode selecionar a opção Senha - AWS Acesso ao console de gerenciamento, mas ela não é necessária para a interação com API Connect.

    Há uma variedade de opções para definir permissões para a nova conta do usuário Consulte o Guia do Usuário doAWS Identity and Access Management para obter informações sobre como adicionar o usuário a um grupo de usuários ou anexar uma política diretamente ao usuário.

    Um método direto de definir permissões de usuário que aderem ao princípio de privilégio mínimo é criar um usuário do IAM sem permissões e, em seguida, incluir esse usuário na configuração de permissões de uma função específica do Lambda, conforme demonstrado nas etapas a seguir.

  4. Na página "Configurar detalhes do usuário", clique em Avançar: Tags sem fazer nenhuma mudança na nova conta do Usuário.
  5. Crie as Tags desejadas e clique em Avançar: Revisar.
  6. Revise suas configurações e depois clique em Criar usuário.

    Ignore o aviso que This user has no permissions porque você designará permissões nas etapas restantes.

  7. Clique em Download .csv para salvar o ID da chave de acesso e a Chave de acesso secretado novo usuário e armazená-los em um local seguro. Esses valores serão usados como AWS ID da chave de acesso e AWS chave de acesso secreta ao configurar a política Lambda da sua API em API Connect.
  8. Atualize a função Lambda para fornecer permissões para o novo usuário:
    1. No console Lambda, abra a página Funções .
    2. Selecione a função que API Connect invocará.
    3. Clique em Configuração..
    4. Na seção Instruções de política baseadas em recursos , clique em Incluir Permissões
    5. Selecione AWS e inclua um ID de instruçãoexclusivo.
    6. Configure Principal para o ARN do novo usuário..

      arn:aws:iam::<AWS_account_ID>:user/<username>, available on the Usuários > <username> page.

    7. Configure a Ação como lambda:InvokeFunction
    8. Clique em Salvar.

    Repita esta etapa para cada função do Lambda que a conta do usuário chamará

Propriedades

A tabela a seguir lista as propriedades de política, indica se uma propriedade é necessária, especifica os valores válidos e padrão para entrada e especifica o tipo de dados dos valores.

Tabela 2. Propriedades da política Limite de Taxa.
Rótulo da propriedade Necessário Descrição Tipo de dados
Título Não O título da política. O valor padrão é lambda. sequência
Descrição Não Uma descrição da política. sequência
AWS Access Key ID Sim As chaves de acesso do AWS são credenciais de longo prazo para um usuário do IAM do AWS Necessário se o AWS Assume Role ARN não for fornecido.

Para obter instruções sobre como criar o par de chaves de acesso no AWS, consulte ID da Chave de Acesso / Chave de Acesso Secreta neste tópico

sequência
AWS Secret Access Key Sim A chave de acesso secreta que corresponde ao AWS Access Key IDespecificado. sequência
Function Sim O nome ou o Amazon Resource Name (ARN) da função do Lambda AWS para executar, usando um dos formatos a seguir:
  • Nome da função; por exemplo: my-function
  • Função ARN; por exemplo: arn:aws:lambda:us-east-a:123456789012:function:my-function
  • ARN parcial- 123456789012:function:my-function

Para obter mais informações, consulte FunctionName no Guia do desenvolvedor do AWS Lambda.

sequência
Região Sim A região AWS na qual a função Lambda está hospedada. sequência
Qualificador Não O alias ou a versão da função Lambda que você deseja executar.

Para obter mais informações, consulte Qualifier no Guia do desenvolvedor do AWS Lambda.

sequência