Integração entre Lambda & Cognito

Michelle Mesquita
3 min readDec 12, 2024

--

Olá, pessoal

Como vocês estão? 😊

Nesse post, resolvi trazer um pouco da integração entre o Lambda e Cognito. São utilitários da AWS super importantes quando pensamos em integrações na área de segurança.

Resolvi usar os recursos da AWS por ser a nuvem mais utilizada pelo mercado atualmente

Cognito -> é uma plataforma de identidade que possui o serviço de autorização

Lambda -> é uma função conhecida como FaaS (função como serviço), onde você não precisa se preocupar com servidor. Apenas em desenvolver sua função em uma das linguagens disponíveis. No meu caso, realizei em Python

Qual foi a ideia?

Verificar se um usuário com um CPF na minha Allow List poderia acessar a minha aplicação ou não. Dependendo do sistema, isso pode ser bem útil para validar um usuário (mas devemos ter cuidado com a resposta enviada para também não ajudarmos a um CPF ser enumerado por um atacante)

O importante aqui é mostrar um pouco dos conceitos e das possibilidades que podemos ter na nuvem

1 — Criei um usuário com custom CPF

2 — Criei a function usando terraform para provisionar o ambiente e o teste no endpoint

Se quiserem subir na AWS, vocês podem seguir os passos ou usar o arquivo yml da pasta workflow que adicionei no GitHub

No lambda.tf, na parte inicial do código, é aonde definimos o arquivo que será utilizado para criar a função. Como também, o runtime utilizado e o nome da função

Sucesso no Terraform 😊

Nesse código lambda_function.py, eu mostro como funciona a integração com o Cognito. Ele busca pelo custom CPF e compara com o que eu passo na requisição da minha API. O pool_id é a informação que vem do Cognito (já não está disponível, mas fica aqui a observação de que não devemos deixar esse tipo de informação exposta no código)

Caso queiram o repositório:

É possível ir bem mais além. Por exemplo, utilizar API Gateway para integrar com a function e Cognito para gerenciar a autenticação da API. Como também, criar regras de segurança ou escalar instâncias caso haja múltiplos acessos.

Acredito que conhecer esses conceitos de nuvem e as funções que existem nela são super importantes para a nossa área. Assim, podemos pensar como mitigar possíveis ataques. Não deixem de criar suas PoCs (provas de conceito)

Espero que tenham gostado ☁️

--

--

Michelle Mesquita
Michelle Mesquita

Written by Michelle Mesquita

DevSecOps & AppSec Engineer & Developer girl 👩‍💻

No responses yet