O blog da AWS
Acelerando o Open Banking na AWS
Por: Amanda Quinto, Arquiteta de Soluções da AWS, Setor Público
Karlos Correia é Arquiteto de Soluções da Amazon Web Services para o setor público
Andrey Lucas Herchonvicz, Engenheiro de dados na GFT
Eder Fernandes, arquiteto de soluções na GFT
Rafael Suguihara, Líder da Prática AWS na GFT
Thiago Barreto é Arquiteto de Soluções na GFT
Open Banking, é um movimento onde clientes de produtos e serviços financeiros poderão permitir o compartilhamento de suas informações entre múltiplas instituições autorizadas pelo Bacen.
A resolução conjunta nº 1 do dia 4 de maio de 2020 estabelece os requisitos técnicos para as instituições financeiras estarem em compliance com o Bacen e então participarem do Open Banking Brasil.
Objetivos do Open Banking segundo o Bacen
I – Incentivar a inovação;
II – Promover a concorrência;
III – Aumentar a eficiência do Sistema Financeiro Nacional e do Sistema de Pagamentos Brasileiro;
IV – Promover a cidadania financeira.
O Open banking está dividido em 4 fases, sendo que a primeira já está em vigor. São elas:
- Fase 1: A partir de 1 Fevereiro de 2021, de acordo com o Bacen, todas as instituições participantes devem compartilhar as informações de maneira padronizada sobre os canais de atendimento, serviços e produtos financeiros tradicionais.
- Fase 2: A partir de 15 de Julho de 2021, o consumidor terá o controle de seus dados (dados cadastrais, transacionais, informações sobre cartões e operações de crédito) e poderá compartilhar estes dados com as instituições de sua preferência.
- Fase 3: Datada para o dia 30 de Agosto de 2021, os consumidores terão acesso a serviços como por exemplo de pagamento e propostas de crédito nao apenas nos canais das instituições financeiras.
- Fase 4: Com data prevista para 15 de Dezembro de 2021, torna-se possível o compartilhamento de dados sobre produtos e serviços complementares, como por exemplo operações de cambio, investimentos, seguros, entre outros.
Vantagens de utilizar a AWS para o Open Banking
- Para suportar as mais diversas APIs a serem expostas no Open Banking, a AWS conta com uma camada de serviços de computação como execução de funções em Lambda, Containers em EKS e ECS e instâncias virtuais em EC2.
- Demandas sazonais de consumo das APIs podem ser suportadas através do AWS Autoscalling, que escala a capacidade de acordo com a demanda e você é cobrado apenas pelo que utilizar.
- Se proteja contra DDoS com o Amazon Shield que oferece detecção e mitigações em linha automáticas e sempre ativas que minimizam o tempo de inatividade e a latência dos aplicativos.
- Aumente a proteção das suas APIs com o AWS WAF, protegendo contra bots e exploits comuns na Web que podem afetar a disponibilidade, comprometer a segurança ou consumir recursos em excesso.
- Crie pipelines de desenvolvimento ágil utilizando CodeDeploy e CodeBuild para atualizar as APIs sem downtime em produção.
- Utilize o API Gateway serverless para expor as APIs, controlando throttling, consumo e exposição com poucos cliques do seu mouse.
- Monitore seu ambiente de fim a fim utilizando métricas e logs com o CloudWatch para manter auditoria das suas APIs.
Sobre a GFT
A GFT está impulsionando a transformação digital das principais empresas do mundo. Com fortes habilidades de consultoria e desenvolvimento de tecnologias pioneiras, os clientes se beneficiam de um acesso mais rápido a novas aplicações de TI e modelos de negócios. Fundada em 1987, a GFT emprega mais de 6.000 especialistas em mais de 15 mercados.
Em 2019 a GFT lançou uma solução de Open Banking 100% nativa AWS para ajudar os clientes do setor financeiro na implementação dos desafios regulados pelo Banco Central. Essa solução é um acelerador para adoção do Open Banking. Em constante evolução, a ferramenta poderá ser utilizada no mercado brasileiro para atender as fases 1 e 2 atualmente e as fases 3 e 4 em breve. Todos os serviços utilizados são gerenciados, o que facilita principalmente a operação e a gestão de custos.
Arquitetura da solução
Descrição da arquitetura
- Na primeira etapa da solução, logo após o deploy do CloudFormation, um número serial e um link é liberado para o usuário;
- A URL gerada trata-se de um portal que foi publicado no S3 e distribuído via CloudFront e o número serial foi gerado durante o deploy e armazenado em um banco de dados Aurora MySQL;
- Através dessa URL o usuário poderá finalizar a instalação da solução, definindo: se quer adicionar mais contas AWS para o gerenciamento das APIs, se gostaria de se autenticar nos portais utilizando o Azure AD etc;
- Após a conclusão da sessão de setup informada anteriormente, a solução envia no email informado no setup via SNS as URLs dos portais gerenciador e desenvolvedor. Adicionalmente, caso o usuário tenha escolhido autenticação sem a utilização de um Azure AD, é disponibilizado um usuário inicial e senha;
- No portal gerenciador, que é fornecido através de um bucket do S3 e distribuído pela internet através do CloudFront, o usuário faz login utilizando o Amplify que faz a autenticação diretamente no Cognito ou federado ao Azure AD, caso o usuário tenha escolhido esse meio de autenticação;
- As informações que montam o esquema de permissionamento podem vir diretamente dos grupos do Cognito ou do Azure AD da conta federada;
- No momento da autenticação algumas informações são injetadas no token para verificar as permissões de acesso do usuário;
- A partir desse momento, todas as chamadas das APIs (Lambdas) ocorrem por meio de um API Gateway Authorizer que aponta para o pool do Cognito e uma API Key que qualifica a aplicação de origem;
- Dentro do portal do gerenciador o usuário pode adicionar uma nova conta AWS, onde uma lambda é executada e faz o processo de “trust relationship” entre as contas, permitindo que de forma controlada o OAF consiga acessar os recursos do API Gateway de uma outra conta AWS, e se for o caso, de outras regiões diferentes da implantada a solução utilizando o AWS SDK;
- Os cadastros da solução utilizam de forma auxiliar o banco de dados Aurora MySQL, obtendo as informações de credenciais no Secrets Manager. São armazenadas informações tais como: definições de bilhetagem das APIs, informações auxiliares dos usuários etc;
- Através do portal do desenvolvedor, que é fornecido através de um bucket do S3 e distribuído via CloudFront, os usuários tem acesso as APIs ofertadas e acesso a assinatura. Todo esse processo ocorre através dos parâmetros definidos no portal de gerenciamento;
- No momento da aprovação de uma assinatura de API, é gerado um conjunto de chaves no KMS, uma API Key e uma senha temporária;
- Para acesso a Rest API assinada temos duas modalidades: 1) Acesso direto via API Gateway: onde o usuário passa inicialmente por um processo de challenge através de uma lambda, e assim que o hand shake for executado o usuário passa via API Key e chaves acesso a API Assinada. 2) Acesso via proxy reverso: Ao invocar o endpoint o Route 53 direciona a chamada para uma máquina EC2 que contém o nginx com os certificados que foram enviados no portal gerenciador. Dessa forma ele faz a validação via mtls do acesso e em caso de sucesso direciona para a rota adequada do API Gateway e continua a execução do processo;
- As chamadas nas APIs fornecidas pelo gerenciador são logadas através do Kinesis Firehose como Custom Log no API Gateway e agrupadas em um bucket do S3;
- Um crawler do AWS Glue faz a digestão dessas informações e cria o catálogo, para que o usuário gerenciador possa executar queries e validar a bilhetagem das chamadas das APIs;
- Opcionalmente o usuário pode utilizar o WAF como camada adicional de segurança as chamadas do API Gateway;
- Opcionalmente o usuário pode utilizar o SageMaker para analisar os dados de acesso digeridos pelo AWS Glue e fazer controle de anomalia ou algum outro processo de ML, e caso seja um processo de segurança, criar notificações para o Security Hub.
Conclusão
A GFT através da AWS permite que instituições financeiras de qualquer porte acelerem a implementação de novos serviços e regulações de forma segura, escalável e resiliente, sem a necessidade de altos investimentos em infraestrutura. O uso das integrações nativas dos serviços da AWS facilitam o desenvolvimento e reduzem o tempo para a entrada em produção de novos produtos e serviços garantindo a competitividade em um mercado cada vez mais disputado.
Sobre os autores
Amanda Quinto é Arquiteta de Soluções da AWS no time de Public Sector com foco em Nonprofits Organization. Amanda já atuou em diversos projetos ajudando os times de desenvolvimento e sustentação em arquitetar sistemas resilientes e escaláveis. Formada pela FATEC-SP, é entusiasta de devops, machine learning, e apaixonada por Kombis
Andrey Lucas Herchonvicz, Engenheiro de dados na GFT com foco setor financeiro, possui mais de 13 anos de experiência na indústria de tecnologia da informação e duas certificações AWS. Atualmente participa na construção da plataforma para suportar o Open Banking.
Eder Fernandes, arquiteto de soluções na GFT com foco em Cloud, Open APIs e Open Banking.
Há mais de 15 anos no mercado de tecnologia e inovação, com experiência em clientes nacionais e internacionais. Participante das definições do Open Banking no Brasil da fase 1. Pós graduado em gestão estratégica de negócios pela PUC de Campinas e atualmente cursa a pós graduação de Aprendizagem de Máquina em Inteligência Artificial pela Universidade Presbiteriana Mackenzie.
Rafael Suguihara, Líder da Prática AWS na GFT para Estados Unidos e América Latina. Há 20 anos na área de tecnologia e nos últimos 9 especializando-se em AWS, com diversas certificações e com experiência majoritária em mercado financeiro.
Thiago Barreto é Arquiteto de Soluções na GFT. Trabalha com desenvolvimento de sistemas há mais de 10 anos com forte experiência voltada para o mercado financeiro.
Karlos Correia é Arquiteto de Soluções da Amazon Web Services para o setor público e atua especificamente com Governo Federal. Trabalhou anteriormente com arquitetura e planejamento de infraestrutura em empresas do setor de telecomunicações e um é apaixonado por aviação.