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
| 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.
- Configure o acesso à função Lambda no AWS conforme explicado na seção Configurando permissões e confiança no AWS deste tópico.
- Defina uma política de API em API Connect usando as propriedades da política na seção Properties deste tópico.
- 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
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:
- Faça login no Console de gerenciamento AWS e abra o console do IAM.
- No console do IAM do AWS , clique em Usuários na lista de navegação e, em seguida, clique em Incluir usuários
- 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.
- Na página "Configurar detalhes do usuário", clique em Avançar: Tags sem fazer nenhuma mudança na nova conta do Usuário.
- Crie as Tags desejadas e clique em Avançar: Revisar.
- Revise suas configurações e depois clique em Criar usuário.
Ignore o aviso que
This user has no permissionsporque você designará permissões nas etapas restantes. - 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.
- Atualize a função Lambda para fornecer permissões para o novo usuário:
- No console Lambda, abra a página Funções .
- Selecione a função que API Connect invocará.
- Clique em Configuração..
- Na seção Instruções de política baseadas em recursos , clique em Incluir Permissões
- Selecione AWS e inclua um ID de instruçãoexclusivo.
- Configure Principal para o ARN do novo usuário..
arn:aws:iam::<AWS_account_ID>:user/<username>, available on the page. - Configure a Ação como
lambda:InvokeFunction - 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.
| 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:
Para obter mais informações, consulte |
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 |
sequência |